/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() 71 pio->PIO_PPDDR = mask; in gpio_sam_port_configure() 73 /* Let the PIO control the pin (instead of a peripheral). */ in gpio_sam_port_configure() 74 pio->PIO_PER = mask; in gpio_sam_port_configure() 76 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 161 static inline void spi_pico_pio_sm_put8(PIO pio, uint sm, uint8_t data) in spi_pico_pio_sm_put8() argument 165 io_rw_8 *txfifo = (io_rw_8 *)&pio->txf[sm]; in spi_pico_pio_sm_put8() 170 static inline uint8_t spi_pico_pio_sm_get8(PIO pio, uint sm) in spi_pico_pio_sm_get8() argument 174 io_rw_8 *rxfifo = (io_rw_8 *)&pio->rxf[sm]; in spi_pico_pio_sm_get8() 179 static inline void spi_pico_pio_sm_put16(PIO pio, uint sm, uint16_t data) in spi_pico_pio_sm_put16() argument 183 io_rw_16 *txfifo = (io_rw_16 *)&pio->txf[sm]; in spi_pico_pio_sm_put16() 188 static inline uint16_t spi_pico_pio_sm_get16(PIO pio, uint sm) in spi_pico_pio_sm_get16() argument 190 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/boards/raspberrypi/rpi_pico/doc/ |
D | index.rst | 30 - 8 Programmable I/O (PIO) for custom peripherals 88 Programmable I/O (PIO) 91 The RP2040 SoC comes with two PIO peripherals. These are two simple 94 PIO programs are assembled using :command:`pioasm`, a tool provided by Raspberry Pi. 96 Zephyr does not (currently) assemble PIO programs. Rather, they should be 100 Sample: SPI via PIO 104 demonstration of using the PIO SPI driver to communicate with an 105 environmental sensor. The PIO SPI driver supports using any 108 devices as well as both PIO devices). 112 PIO Based Features [all …]
|
/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 | 116 Pin output drive strength for PIO and PIO-24 pin types. Default 117 is "1x" for most pins. PIO pins are 2, 4, 8, or 12 mA. PIO-24 pins 119 pin's PIO type and default drive strength.
|
D | microchip,xec-pinctrl.yaml | 121 Pin output drive strength for PIO and PIO-24 pin types. Default 122 is "1x" for most pins. PIO pins are 2, 4, 8, or 12 mA. PIO-24 pins 124 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/dts/bindings/gpio/ |
D | altr,pio-1.0.yaml | 4 description: Altera PIO 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/tests/drivers/spi/spi_loopback/boards/ |
D | rpi_pico_pio.overlay | 9 /* gpio 17 is used for chip select, not assigned to the PIO */ 27 compatible = "raspberrypi,pico-spi-pio";
|