| # Copyright (c) 2022 Henrik Brix Andersen <henrik@brixandersen.dk> |
| # Copyright (c) 2022, NXP |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| description: | |
| OpenISA RV32M1 pinctrl node. This node will define pin configurations in pin groups, |
| and has the 'pinctrl' node identifier in the SOC's devicetree. Each group |
| within the pin configuration defines the pin configuration for a peripheral, |
| and each numbered subgroup in the pin group defines all the pins for that |
| peripheral with the same configuration properties. The 'pins' property in |
| a group selects the pins to be configured, and the remaining properties set |
| configuration values for those pins. Here is an example group for UART0 pins: |
| |
| uart0_default: uart0_default { |
| group0 { |
| pinmux = <RV32M1_MUX('C', 7, 3)>, |
| <RV32M1_MUX('C', 8, 3)>; |
| drive-strength = "low"; |
| slew-rate = "fast"; |
| }; |
| }; |
| |
| If only the required properties are supplied, the pin configuration register |
| will be assigned the following values: |
| PCR_PS=0, |
| PCR_PE=0, |
| PCR_ODE=0, |
| PCR_SRE=<slew-rate selection>, |
| PCR_PFE=0 |
| |
| compatible: "openisa,rv32m1-pinctrl" |
| |
| include: |
| - name: base.yaml |
| - name: pincfg-node-group.yaml |
| child-binding: |
| child-binding: |
| property-allowlist: |
| - drive-open-drain |
| - bias-pull-up |
| - bias-pull-down |
| |
| child-binding: |
| description: RV32M1 pin controller pin group |
| child-binding: |
| description: | |
| RV31M1 pin controller pin configuration node |
| properties: |
| pinmux: |
| required: true |
| type: array |
| description: | |
| Pin mux selections for this group. See the SoC level pinctrl DTSI file |
| in the OpenISA HAL for a defined list of these options |
| slew-rate: |
| required: true |
| type: string |
| enum: |
| - "fast" |
| - "slow" |
| description: | |
| Pin output slew rate. Sets the SRE field in the PORTx_PCRn register. |
| 0 SRE_0_fast- fast slew rate when pin is configured as output |
| 1 SRE_1_slow- slow slew rate when pin is configured as output |
| openisa,passive-filter: |
| type: boolean |
| description: | |
| Enable passive filter on pin. Sets the PFE field in the PORTx_PCRn register. |