/Zephyr-latest/soc/atmel/sam/common/ |
D | soc_gpio.c | 24 static void configure_common_attr(Pio *pio, uint32_t mask, uint32_t flags) in configure_common_attr() argument 27 pio->PIO_IDR = mask; in configure_common_attr() 31 pio->PIO_PUER = mask; in configure_common_attr() 33 pio->PIO_PUDR = mask; in configure_common_attr() 40 pio->PIO_PPDER = mask; in configure_common_attr() 42 pio->PIO_PPDDR = mask; in configure_common_attr() 48 pio->PIO_MDER = mask; in configure_common_attr() 50 pio->PIO_MDDR = mask; in configure_common_attr() 54 static void configure_input_attr(Pio *pio, uint32_t mask, uint32_t flags) in configure_input_attr() argument 61 pio->PIO_IFSCER = mask; in configure_input_attr() [all …]
|
/Zephyr-latest/drivers/gpio/ |
D | gpio_sam.c | 27 Pio *regs; 45 Pio * const pio = cfg->regs; in gpio_sam_port_configure() local 50 pio->PIO_MDER = mask; in gpio_sam_port_configure() 57 pio->PIO_MDDR = mask; in gpio_sam_port_configure() 64 pio->PIO_IDR = mask; in gpio_sam_port_configure() 66 pio->PIO_PUDR = mask; in gpio_sam_port_configure() 72 pio->PIO_PPDDR = mask; in gpio_sam_port_configure() 74 /* Let the PIO control the pin (instead of a peripheral). */ in gpio_sam_port_configure() 75 pio->PIO_PER = mask; in gpio_sam_port_configure() 77 pio->PIO_ODR = mask; in gpio_sam_port_configure() [all …]
|
D | Kconfig.altera | 5 bool "Altera PIO" 9 Enable driver for Altera PIO
|
/Zephyr-latest/drivers/serial/ |
D | uart_rpi_pico_pio.c | 12 #include <hardware/pio.h> 56 static int pio_uart_tx_init(PIO pio, uint32_t sm, uint32_t tx_pin, float div) in pio_uart_tx_init() argument 61 if (!pio_can_add_program(pio, RPI_PICO_PIO_GET_PROGRAM(uart_tx))) { in pio_uart_tx_init() 65 offset = pio_add_program(pio, RPI_PICO_PIO_GET_PROGRAM(uart_tx)); in pio_uart_tx_init() 78 pio_sm_set_pins_with_mask(pio, sm, BIT(tx_pin), BIT(tx_pin)); in pio_uart_tx_init() 79 pio_sm_set_pindirs_with_mask(pio, sm, BIT(tx_pin), BIT(tx_pin)); in pio_uart_tx_init() 80 pio_sm_init(pio, sm, offset, &sm_config); in pio_uart_tx_init() 81 pio_sm_set_enabled(pio, sm, true); in pio_uart_tx_init() 86 static int pio_uart_rx_init(PIO pio, uint32_t sm, uint32_t rx_pin, float div) in pio_uart_rx_init() argument 91 if (!pio_can_add_program(pio, RPI_PICO_PIO_GET_PROGRAM(uart_rx))) { in pio_uart_rx_init() [all …]
|
/Zephyr-latest/drivers/spi/ |
D | spi_rpi_pico_pio.c | 23 #include <hardware/pio.h> 46 PIO pio; member 145 static inline void spi_pico_pio_sm_put8(PIO pio, uint sm, uint8_t data) in spi_pico_pio_sm_put8() argument 149 io_rw_8 *txfifo = (io_rw_8 *)&pio->txf[sm]; in spi_pico_pio_sm_put8() 154 static inline uint8_t spi_pico_pio_sm_get8(PIO pio, uint sm) in spi_pico_pio_sm_get8() argument 158 io_rw_8 *rxfifo = (io_rw_8 *)&pio->rxf[sm]; in spi_pico_pio_sm_get8() 163 static inline void spi_pico_pio_sm_put16(PIO pio, uint sm, uint16_t data) in spi_pico_pio_sm_put16() argument 167 io_rw_16 *txfifo = (io_rw_16 *)&pio->txf[sm]; in spi_pico_pio_sm_put16() 172 static inline uint16_t spi_pico_pio_sm_get16(PIO pio, uint sm) in spi_pico_pio_sm_get16() argument 174 io_rw_16 *rxfifo = (io_rw_16 *)&pio->rxf[sm]; in spi_pico_pio_sm_get16() [all …]
|
D | Kconfig.rpi_pico | 5 bool "Raspberry Pi PICO PIO SPI controller driver" 12 Enable driving SPI via PIO on the PICO
|
/Zephyr-latest/drivers/misc/pio_rpi_pico/ |
D | pio_rpi_pico.c | 17 PIO pio; member 28 retval = pio_claim_unused_sm(config->pio, false); in pio_rpi_pico_allocate_sm() 37 PIO pio_rpi_pico_get_pio(const struct device *dev) in pio_rpi_pico_get_pio() 41 return config->pio; in pio_rpi_pico_get_pio() 64 .pio = (PIO)DT_INST_REG_ADDR(idx), \
|
/Zephyr-latest/dts/bindings/serial/ |
D | raspberrypi,pico-uart-pio.yaml | 1 description: Raspberry Pi Pico PIO UART 3 compatible: "raspberrypi,pico-uart-pio" 5 include: [uart-controller.yaml, "raspberrypi,pico-pio-device.yaml"]
|
/Zephyr-latest/include/zephyr/drivers/misc/pio_rpi_pico/ |
D | pio_rpi_pico.h | 14 #include <hardware/pio.h> 17 * @brief Utility macro to define a PIO program. The program is a list 21 * @param wrap_target Wrap target as specified by the PIO program. 22 * @param wrap Wrap source as specified by the PIO program. 23 * @param ... Comma separated list of PIO instructions. 52 * @brief Utility macro to get a pointer to a PIO program. 79 * pio { 132 * Get PIO object 135 * @return PIO object 137 PIO pio_rpi_pico_get_pio(const struct device *dev);
|
/Zephyr-latest/drivers/led_strip/ |
D | ws2812_rpi_pico_pio.c | 46 PIO pio; in ws2812_led_strip_sm_init() local 49 pio = pio_rpi_pico_get_pio(config->piodev); in ws2812_led_strip_sm_init() 51 sm = pio_claim_unused_sm(pio, false); in ws2812_led_strip_sm_init() 61 pio_sm_set_consecutive_pindirs(pio, sm, config->gpio_pin, 1, true); in ws2812_led_strip_sm_init() 62 pio_sm_init(pio, sm, -1, &sm_config); in ws2812_led_strip_sm_init() 63 pio_sm_set_enabled(pio, sm, true); in ws2812_led_strip_sm_init() 81 PIO pio = pio_rpi_pico_get_pio(config->piodev); in ws2812_led_strip_update_rgb() local 104 pio_sm_put_blocking(pio, data->sm, color << (config->num_colors == 4 ? 0 : 8)); in ws2812_led_strip_update_rgb() 135 LOG_ERR("%s: PIO device not ready", dev->name); in ws2812_led_strip_init() 167 PIO pio; in ws2812_rpi_pico_pio_init() local [all …]
|
/Zephyr-latest/soc/nxp/imxrt/imxrt5xx/cm33/ |
D | poweroff.c | 16 IOPCTL->PIO[1][15] = 0; in z_sys_poweroff() 17 IOPCTL->PIO[3][28] = 0; in z_sys_poweroff() 18 IOPCTL->PIO[3][29] = 0; in z_sys_poweroff()
|
/Zephyr-latest/dts/bindings/spi/ |
D | raspberrypi,pico-spi-pio.yaml | 4 description: Raspberry Pi Pico SPI via PIO 6 compatible: "raspberrypi,pico-spi-pio" 8 include: ["spi-controller.yaml", "raspberrypi,pico-pio-device.yaml", "reset-device.yaml"]
|
/Zephyr-latest/dts/bindings/led_strip/ |
D | worldsemi,ws2812-rpi_pico-pio.yaml | 5 The pio node configured for ws2812. 7 compatible: "worldsemi,ws2812-rpi_pico-pio" 47 Worldsemi WS2812 or compatible LED strip driver based on RaspberryPi Pico's PIO 48 The LED strip node can put up to 4 instances under a single PIO node. 59 for use by PIO. This property only uses the GPIO pin number and ignores flags.
|
/Zephyr-latest/dts/bindings/misc/ |
D | raspberrypi,pico-pio.yaml | 4 description: Raspberry Pi Pico PIO 6 compatible: "raspberrypi,pico-pio"
|
D | raspberrypi,pico-pio-device.yaml | 5 description: Raspberry Pi Pico PIO device 7 compatible: "raspberrypi,pico-pio-device"
|
/Zephyr-latest/dts/bindings/pinctrl/ |
D | nxp,lpc-iocon-pio.yaml | 4 description: LPC I/O Pin Configuration (IOCON) Port I/O (PIO) 6 compatible: "nxp,lpc-iocon-pio"
|
D | microchip,mec5-pinctrl.yaml | 115 Pin output drive strength for PIO and PIO-24 pin types. Default 116 is "1x" for most pins. PIO pins are 2, 4, 8, or 12 mA. PIO-24 pins 118 pin's PIO type and default drive strength.
|
D | microchip,xec-pinctrl.yaml | 120 Pin output drive strength for PIO and PIO-24 pin types. Default 121 is "1x" for most pins. PIO pins are 2, 4, 8, or 12 mA. PIO-24 pins 123 pin's PIO type and default drive strength.
|
/Zephyr-latest/include/zephyr/dt-bindings/pinctrl/ |
D | mchp-xec-pinctrl.h | 39 #define MCHP_XEC_DRV_STR0_1X 0x1 /* 2 or 4(PIO-24) mA */ 40 #define MCHP_XEC_DRV_STR0_2X 0x2 /* 4 or 8(PIO-24) mA */ 41 #define MCHP_XEC_DRV_STR0_4X 0x3 /* 8 or 16(PIO-24) mA */ 42 #define MCHP_XEC_DRV_STR0_6X 0x4 /* 12 or 24(PIO-24) mA */
|
/Zephyr-latest/boards/raspberrypi/rpi_pico/doc/ |
D | index.rst | 26 - 8 Programmable I/O (PIO) for custom peripherals 92 * - UART (PIO) 94 - :dtcompatible:`raspberrypi,pico-uart-pio` 95 * - SPI (PIO) 97 - :dtcompatible:`raspberrypi,pico-spi-pio` 134 Programmable I/O (PIO) 136 The RP2040 SoC comes with two PIO periherals. These are two simple 139 PIO programs are assembled using :command:`pioasm`, a tool provided by Raspberry Pi. 141 Zephyr does not (currently) assemble PIO programs. Rather, they should be 145 Sample: SPI via PIO [all …]
|
/Zephyr-latest/dts/bindings/gpio/ |
D | altr,pio-1.0.yaml | 4 description: Altera PIO node 6 compatible: "altr,pio-1.0"
|
/Zephyr-latest/samples/boards/raspberrypi/rpi_pico/uart_pio/boards/ |
D | rpi_pico.overlay | 32 compatible = "raspberrypi,pico-uart-pio"; 41 compatible = "raspberrypi,pico-uart-pio";
|
/Zephyr-latest/samples/sensor/bme280/ |
D | rpi_pico_spi_pio.overlay | 3 /* gpio 13 is used for chip select, not assigned to the PIO */ 21 compatible = "raspberrypi,pico-spi-pio";
|
/Zephyr-latest/samples/sensor/magn_polling/boards/ |
D | rpi_pico.overlay | 9 /* gpio 9 is used for chip select, not assigned to the PIO */ 28 compatible = "raspberrypi,pico-spi-pio";
|
/Zephyr-latest/boards/waveshare/rp2040_zero/doc/ |
D | index.rst | 23 - 8 × Programmable I/O (PIO) state machines for custom peripheral support. 72 * - UART (PIO) 74 - :dtcompatible:`raspberrypi,pico-uart-pio` 75 * - SPI (PIO) 77 - :dtcompatible:`raspberrypi,pico-spi-pio`
|