Lines Matching +full:board +full:- +full:pinctrl
2 # SPDX-License-Identifier: Apache-2.0
7 states are composed by groups of pre-defined pin muxing definitions and user
10 Each Zephyr-based application has its own set of pin muxing/pin configuration
11 requirements. The next steps use ESP-WROVER-KIT's I2C_0 to illustrate how one
12 could change a node's pin state properties. Though based on a particular board,
13 the same steps can be tweaked to address specifics of any other target board.
15 Suppose an application running on top of the ESP-WROVER-KIT board, for some
17 that board's original device tree source file (i.e., 'esp_wrover_kit.dts'),
18 you'll notice that the I2C_0 node is already assigned to a pre-defined state.
22 #include "esp_wrover_kit-pinctrl.dtsi"
26 pinctrl-0 = <&i2c0_default>;
27 pinctrl-names = "default";
31 From the above excerpt, the pincrl-0 property is assigned the 'i2c0_default'
32 state value. This and other pin states of the board are defined on another file
33 (in this case, 'esp_wrover_kit-pinctrl.dtsi') on the same folder of the DTS file.
41 bias-pull-up;
42 drive-open-drain;
43 output-high;
50 by your target hardware. For example, some custom board may have an external
51 pull-up resistor soldered to GPIO_21's pin pad, in which case, 'bias-pull-up'
68 https://github.com/zephyrproject-rtos/zephyr/tree/main/include/zephyr/dt-bindings/pinctrl
71 The ESP-WROVER-KIT board is based on the ESP32 SoC, in that case, we search
72 through the file 'esp32-pinctrl.h' in the above URL. Luckily for us, there is
80 Now, we go back to edit 'esp_wrover_kit-pinctrl.dtsi' and create a new pin state
89 bias-pull-up;
90 drive-open-drain;
91 output-high;
104 bias-push-pull, drive-open-drain, etc) can be freely chosen, given the
113 compatible: "espressif,esp32-pinctrl"
117 child-binding:
120 child-binding:
125 - name: pincfg-node.yaml
126 property-allowlist:
127 - bias-disable
128 - bias-pull-down
129 - bias-pull-up
130 - drive-push-pull
131 - drive-open-drain
132 - input-enable
133 - output-enable
134 - output-high
135 - output-low
143 pin. The array elements are pre-declared macros taken from Espressif's