brintos

brintos / linux-shallow public Read only

0
0
Text · 3.4 KiB · 222b9e2 Raw
143 lines · yaml
1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause2%YAML 1.23---4$id: http://devicetree.org/schemas/pinctrl/starfive,jh7110-sys-pinctrl.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: StarFive JH7110 SYS Pin Controller8 9description: |10  Bindings for the JH7110 RISC-V SoC from StarFive Technology Ltd.11 12  Out of the SoC's many pins only the ones named PAD_GPIO0 to PAD_GPIO6313  can be multiplexed and have configurable bias, drive strength,14  schmitt trigger etc.15  Some peripherals have their I/O go through the 64 "GPIOs". This also16  includes a number of other UARTs, I2Cs, SPIs, PWMs etc.17  All these peripherals are connected to all 64 GPIOs such that18  any GPIO can be set up to be controlled by any of the peripherals.19 20maintainers:21  - Jianlong Huang <jianlong.huang@starfivetech.com>22 23properties:24  compatible:25    const: starfive,jh7110-sys-pinctrl26 27  reg:28    maxItems: 129 30  clocks:31    maxItems: 132 33  resets:34    maxItems: 135 36  interrupts:37    maxItems: 138 39  interrupt-controller: true40 41  '#interrupt-cells':42    const: 243 44  gpio-controller: true45 46  '#gpio-cells':47    const: 248 49patternProperties:50  '-[0-9]+$':51    type: object52    additionalProperties: false53    patternProperties:54      '-pins$':55        type: object56        description: |57          A pinctrl node should contain at least one subnode representing the58          pinctrl groups available on the machine. Each subnode will list the59          pins it needs, and how they should be configured, with regard to60          muxer configuration, bias, input enable/disable, input schmitt61          trigger enable/disable, slew-rate and drive strength.62        allOf:63          - $ref: /schemas/pinctrl/pincfg-node.yaml64          - $ref: /schemas/pinctrl/pinmux-node.yaml65        additionalProperties: false66 67        properties:68          pinmux:69            description: |70              The list of GPIOs and their mux settings that properties in the71              node apply to. This should be set using the GPIOMUX or PINMUX72              macros.73 74          bias-disable: true75 76          bias-pull-up:77            type: boolean78 79          bias-pull-down:80            type: boolean81 82          drive-strength:83            enum: [ 2, 4, 8, 12 ]84 85          input-enable: true86 87          input-disable: true88 89          input-schmitt-enable: true90 91          input-schmitt-disable: true92 93          slew-rate:94            maximum: 195 96required:97  - compatible98  - reg99  - clocks100  - interrupts101  - interrupt-controller102  - '#interrupt-cells'103  - gpio-controller104  - '#gpio-cells'105 106additionalProperties: false107 108examples:109  - |110    pinctrl@13040000 {111        compatible = "starfive,jh7110-sys-pinctrl";112        reg = <0x13040000 0x10000>;113        clocks = <&syscrg 112>;114        resets = <&syscrg 2>;115        interrupts = <86>;116        interrupt-controller;117        #interrupt-cells = <2>;118        gpio-controller;119        #gpio-cells = <2>;120 121        uart0-0 {122            tx-pins {123                pinmux = <0xff140005>;124                bias-disable;125                drive-strength = <12>;126                input-disable;127                input-schmitt-disable;128                slew-rate = <0>;129            };130 131            rx-pins {132                pinmux = <0x0E000406>;133                bias-pull-up;134                drive-strength = <2>;135                input-enable;136                input-schmitt-enable;137                slew-rate = <0>;138            };139        };140    };141 142...143