Home
last modified time | relevance | path

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

1234

/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()
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 …]
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
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 …]
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/boards/raspberrypi/rpi_pico/doc/
Dindex.rst30 - 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/
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.yaml116 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.
Dmicrochip,xec-pinctrl.yaml121 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/
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/dts/bindings/gpio/
Daltr,pio-1.0.yaml4 description: Altera PIO
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/tests/drivers/spi/spi_loopback/boards/
Drpi_pico_pio.overlay9 /* gpio 17 is used for chip select, not assigned to the PIO */
27 compatible = "raspberrypi,pico-spi-pio";

1234