File Index
Files and directories
Sign in
FILE

nuvoton,ma35d1-pinctrl.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/pinctrl/nuvoton,ma35d1-pinctrl.yaml YAML
  1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2%YAML 1.2
  3---
  4$id: http://devicetree.org/schemas/pinctrl/nuvoton,ma35d1-pinctrl.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: Nuvoton MA35D1 pin control and GPIO
  8
  9maintainers:
 10  - Shan-Chun Hung <schung@nuvoton.com>
 11  - Jacky Huang <ychuang3@nuvoton.com>
 12
 13allOf:
 14  - $ref: pinctrl.yaml#
 15
 16properties:
 17  compatible:
 18    enum:
 19      - nuvoton,ma35d1-pinctrl
 20
 21  reg:
 22    maxItems: 1
 23
 24  '#address-cells':
 25    const: 1
 26
 27  '#size-cells':
 28    const: 1
 29
 30  nuvoton,sys:
 31    $ref: /schemas/types.yaml#/definitions/phandle
 32    description:
 33      phandle of the system-management node.
 34
 35  ranges: true
 36
 37patternProperties:
 38  "^gpio@[0-9a-f]+$":
 39    type: object
 40    properties:
 41      gpio-controller: true
 42
 43      '#gpio-cells':
 44        const: 2
 45
 46      reg:
 47        maxItems: 1
 48
 49      clocks:
 50        maxItems: 1
 51
 52      interrupt-controller: true
 53
 54      '#interrupt-cells':
 55        const: 2
 56
 57      interrupts:
 58        description:
 59          The interrupt outputs to sysirq.
 60        maxItems: 1
 61
 62    required:
 63      - gpio-controller
 64      - '#gpio-cells'
 65      - reg
 66      - clocks
 67      - interrupt-controller
 68      - '#interrupt-cells'
 69      - interrupts
 70
 71    additionalProperties: false
 72
 73  "-grp$":
 74    type: object
 75    description:
 76      Pinctrl node's client devices use subnodes for desired pin configuration.
 77      Client device subnodes use below standard properties.
 78    patternProperties:
 79      "-pins$":
 80        type: object
 81        description:
 82          A pinctrl node should contain at least one subnodes representing the
 83          pinctrl groups available on the machine. Each subnode will list the
 84          pins it needs, and how they should be configured, with regard to muxer
 85          configuration, pullups, drive strength, input enable/disable and input
 86          schmitt.
 87        $ref: /schemas/pinctrl/pincfg-node.yaml
 88
 89        properties:
 90          nuvoton,pins:
 91            description:
 92              Each entry consists of 4 parameters and represents the mux and config
 93              setting for one pin.
 94            $ref: /schemas/types.yaml#/definitions/uint32-matrix
 95            minItems: 1
 96            items:
 97              items:
 98                - minimum: 0
 99                  maximum: 13
100                  description:
101                    Pin bank.
102                - minimum: 0
103                  maximum: 15
104                  description:
105                    Pin bank index.
106                - minimum: 0
107                  maximum: 15
108                  description:
109                    Mux 0 means GPIO and mux 1 to 15 means the specific device function.
110
111          power-source:
112            description: |
113              Valid arguments are described as below:
114              0: power supply of 1.8V
115              1: power supply of 3.3V
116            enum: [0, 1]
117
118          drive-strength-microamp:
119            oneOf:
120              - enum: [ 2900, 4400, 5800, 7300, 8600, 10100, 11500, 13000 ]
121                description: 1.8V I/O driving strength
122              - enum: [ 17100, 25600, 34100, 42800, 48000, 56000, 77000, 82000 ]
123                description: 3.3V I/O driving strength
124
125          bias-disable: true
126
127          bias-pull-up: true
128
129          bias-pull-down: true
130
131          input-schmitt-disable: true
132
133        additionalProperties: false
134
135    additionalProperties: false
136
137required:
138  - compatible
139  - reg
140  - nuvoton,sys
141
142additionalProperties: false
143
144examples:
145  - |
146    #include <dt-bindings/interrupt-controller/arm-gic.h>
147    #include <dt-bindings/gpio/gpio.h>
148    #include <dt-bindings/clock/nuvoton,ma35d1-clk.h>
149
150    pinctrl@40040000 {
151        compatible = "nuvoton,ma35d1-pinctrl";
152        reg = <0x40040000 0xc00>;
153        #address-cells = <1>;
154        #size-cells = <1>;
155        nuvoton,sys = <&sys>;
156        ranges = <0x0 0x40040000 0x400>;
157
158        gpio@0 {
159            reg = <0x0 0x40>;
160            interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
161            clocks = <&clk GPA_GATE>;
162            gpio-controller;
163            #gpio-cells = <2>;
164            interrupt-controller;
165            #interrupt-cells = <2>;
166        };
167
168        uart-grp {
169            uart11-pins {
170                nuvoton,pins = <11 0 2>,
171                               <11 1 2>,
172                               <11 2 2>,
173                               <11 3 2>;
174                power-source = <1>;
175                bias-disable;
176            };
177        };
178    };
~/ Read-only file preview.