Home
last modified time | relevance | path

Searched full:pio (Results 1 – 25 of 72) sorted by relevance

123

/Zephyr-latest/soc/atmel/sam/common/
Dsoc_gpio.c24 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/
Dgpio_sam.c27 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 …]
DKconfig.altera5 bool "Altera PIO"
9 Enable driver for Altera PIO
/Zephyr-latest/drivers/serial/
Duart_rpi_pico_pio.c12 #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/
Dspi_rpi_pico_pio.c23 #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 …]
DKconfig.rpi_pico5 bool "Raspberry Pi PICO PIO SPI controller driver"
12 Enable driving SPI via PIO on the PICO
/Zephyr-latest/drivers/misc/pio_rpi_pico/
Dpio_rpi_pico.c17 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/
Draspberrypi,pico-uart-pio.yaml1 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/
Dpio_rpi_pico.h14 #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/
Dws2812_rpi_pico_pio.c46 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/
Dpoweroff.c16 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/
Draspberrypi,pico-spi-pio.yaml4 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/
Dworldsemi,ws2812-rpi_pico-pio.yaml5 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/
Draspberrypi,pico-pio.yaml4 description: Raspberry Pi Pico PIO
6 compatible: "raspberrypi,pico-pio"
Draspberrypi,pico-pio-device.yaml5 description: Raspberry Pi Pico PIO device
7 compatible: "raspberrypi,pico-pio-device"
/Zephyr-latest/dts/bindings/pinctrl/
Dnxp,lpc-iocon-pio.yaml4 description: LPC I/O Pin Configuration (IOCON) Port I/O (PIO)
6 compatible: "nxp,lpc-iocon-pio"
Dmicrochip,mec5-pinctrl.yaml115 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.
Dmicrochip,xec-pinctrl.yaml120 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/
Dmchp-xec-pinctrl.h39 #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/
Dindex.rst26 - 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/
Daltr,pio-1.0.yaml4 description: Altera PIO node
6 compatible: "altr,pio-1.0"
/Zephyr-latest/samples/boards/raspberrypi/rpi_pico/uart_pio/boards/
Drpi_pico.overlay32 compatible = "raspberrypi,pico-uart-pio";
41 compatible = "raspberrypi,pico-uart-pio";
/Zephyr-latest/samples/sensor/bme280/
Drpi_pico_spi_pio.overlay3 /* 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/
Drpi_pico.overlay9 /* 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/
Dindex.rst23 - 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`

123