# Copyright (c) 2023 Antmicro # SPDX-License-Identifier: Apache-2.0 description: | The Renesas RZ/T2M pin controller is a node responsible for controlling pin function selection and pin properties, such as routing the TX and RX of UART0 to pin 5 and pin 6 of port 16. The node has the 'pinctrl' node label set in your SoC's devicetree, so you can modify it like this: &pinctrl { /* your modifications go here */ }; All device pin configurations should be placed in child nodes of the 'pinctrl' node, as shown in this example: /* You can put this in places like a board-pinctrl.dtsi file in * your board directory, or a devicetree overlay in your application. */ /* include pre-defined combinations for the SoC variant used by the board */ #include &pinctrl { uart0_default: uart0_default { group1 { pinmux = ; }; group2 { pinmux = ; input-enable; }; }; }; The 'uart0_default' child node encodes the pin configurations for a particular state of a device; in this case, the default (that is, active) state. As shown, pin configurations are organized in groups within each child node. Each group can specify a list of pin function selections in the 'pinmux' property. A group can also specify shared pin properties common to all the specified pins, such as the 'input-enable' property in group 2. compatible: "renesas,rzt2m-pinctrl" include: base.yaml child-binding: description: | Definitions for a pinctrl state. child-binding: include: - name: pincfg-node.yaml property-allowlist: - input-enable - bias-pull-up - bias-pull-down - bias-high-impedance - input-schmitt-enable properties: pinmux: required: true type: array description: | An array of pins sharing the same group properties. Each element of the array is an integer constructed from the pin number and the alternative function of the pin. drive-strength: type: string enum: - "low" - "middle" - "high" - "ultrahigh" default: "low" description: | The drive strength of a pin, relative to full-driver strength. The default value is "low", which is the reset value. slew-rate: type: string enum: - "slow" - "fast" default: "slow" description: | Select slew rate for a pin. The default is slow, which is the reset value.