94 lines
2.8 KiB
YAML
94 lines
2.8 KiB
YAML
|
# Copyright (c) 2023 Antmicro <www.antmicro.com>
|
||
|
# 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 <dt-bindings/pinctrl/renesas-rzt2m-pinctrl.h>
|
||
|
|
||
|
&pinctrl {
|
||
|
uart0_default: uart0_default {
|
||
|
group1 {
|
||
|
pinmux = <UART0TX_P16_5>;
|
||
|
};
|
||
|
group2 {
|
||
|
pinmux = <UART0RX_P16_6>;
|
||
|
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.
|