# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause %YAML 1.2 --- $id: http://devicetree.org/schemas/pinctrl/starfive,jh7110-aon-pinctrl.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: StarFive JH7110 AON Pin Controller description: | Bindings for the JH7110 RISC-V SoC from StarFive Technology Ltd. Out of the SoC's many pins only the ones named PAD_RGPIO0 to PAD_RGPIO3 can be multiplexed and have configurable bias, drive strength, schmitt trigger etc. Some peripherals such as PWM have their I/O go through the 4 "GPIOs". maintainers: - Jianlong Huang properties: compatible: const: starfive,jh7110-aon-pinctrl reg: maxItems: 1 resets: maxItems: 1 interrupts: maxItems: 1 interrupt-controller: true '#interrupt-cells': const: 2 gpio-controller: true '#gpio-cells': const: 2 patternProperties: '-[0-9]+$': type: object additionalProperties: false patternProperties: '-pins$': type: object description: | A pinctrl node should contain at least one subnode representing the pinctrl groups available on the machine. Each subnode will list the pins it needs, and how they should be configured, with regard to muxer configuration, bias, input enable/disable, input schmitt trigger enable/disable, slew-rate and drive strength. allOf: - $ref: /schemas/pinctrl/pincfg-node.yaml - $ref: /schemas/pinctrl/pinmux-node.yaml additionalProperties: false properties: pinmux: description: | The list of GPIOs and their mux settings that properties in the node apply to. This should be set using the GPIOMUX macro. bias-disable: true bias-pull-up: type: boolean bias-pull-down: type: boolean drive-strength: enum: [ 2, 4, 8, 12 ] input-enable: true input-disable: true input-schmitt-enable: true input-schmitt-disable: true slew-rate: maximum: 1 required: - compatible - reg - interrupts - interrupt-controller - '#interrupt-cells' - gpio-controller - '#gpio-cells' additionalProperties: false examples: - | pinctrl@17020000 { compatible = "starfive,jh7110-aon-pinctrl"; reg = <0x17020000 0x10000>; resets = <&aoncrg 2>; interrupts = <85>; interrupt-controller; #interrupt-cells = <2>; gpio-controller; #gpio-cells = <2>; pwm-0 { pwm-pins { pinmux = <0xff030802>; bias-disable; drive-strength = <12>; input-disable; input-schmitt-disable; slew-rate = <0>; }; }; }; ...