# Copyright (c) 2022 Henrik Brix Andersen # 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 = , ; 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=, PCR_PFE=0 compatible: "openisa,rv32m1-pinctrl" include: base.yaml child-binding: description: RV32M1 pin controller pin group child-binding: description: | RV31M1 pin controller pin configuration node include: - name: pincfg-node.yaml property-allowlist: - drive-open-drain - bias-pull-up - bias-pull-down 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.