Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions arch/arm64/boot/dts/broadcom/rp1.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -1057,6 +1057,8 @@
reg = <0xc0 0x40178000 0x0 0x20>;
compatible = "raspberrypi,rp1-pio";
firmware = <&rp1_firmware>;
interrupts = <RP1_INT_PIO_0 IRQ_TYPE_EDGE_RISING>,
<RP1_INT_PIO_1 IRQ_TYPE_EDGE_RISING>;
dmas = <&rp1_dma RP1_DMA_PIO_CH0_TX>, <&rp1_dma RP1_DMA_PIO_CH0_RX>,
<&rp1_dma RP1_DMA_PIO_CH1_TX>, <&rp1_dma RP1_DMA_PIO_CH1_RX>,
<&rp1_dma RP1_DMA_PIO_CH2_TX>, <&rp1_dma RP1_DMA_PIO_CH2_RX>,
Expand Down
18 changes: 17 additions & 1 deletion drivers/misc/rp1-fw-pio.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/* SPDX-License-Identifier: GPL-2.0 */
/*
* Copyright (C) 2023 2023-2024 Raspberry Pi Ltd.
* Copyright (C) 2023-2026 Raspberry Pi Ltd.
*/

#ifndef __SOC_RP1_FIRMWARE_OPS_H__
Expand Down Expand Up @@ -49,8 +49,24 @@ enum rp1_pio_ops {

PIO_SM_FIFO_STATE, // u16 sm, u8 tx -> u16 level, u8 empty, u8 full
PIO_SM_DRAIN_TX, // u16 sm
PIO_SM_GET_FLAGS, // u16 sm, u8 clear, u8 rsvd, u32 flags, u32 wait -> u32 level
PIO_SM_GET_DMACTRL, // u16 sm, u16 is_tx -> u32 ctrl

PIO_SET_IRQN_SOURCE_MASK_ENABLED, // u16 irq_index, u8 enabled, u8 rsvd,
// uint32_t source_mask
PIO_INTERRUPT_GET, // u16 pio_interrupt_num -> u8 active
PIO_INTERRUPT_CLEAR, // u16 pio_interrupt_num

PIO_COUNT
};

// Don't include this here to avoid multiple definitions
//
// enum pio_sm_flags {
// PIO_SM_FLAG_TXSTALL = 0x0001,
// PIO_SM_FLAG_RXSTALL = 0x0002,
// PIO_SM_FLAG_TXOVER = 0x0004,
// PIO_SM_FLAG_RXUNDER = 0x0008,
// };

#endif
Loading
Loading