xref: /linux/Documentation/devicetree/bindings/pinctrl/cix,sky1-pinctrl.yaml (revision a110f942672c8995dc1cacb5a44c6730856743aa)
1*329b71cdSGary Yang# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2*329b71cdSGary Yang%YAML 1.2
3*329b71cdSGary Yang---
4*329b71cdSGary Yang$id: http://devicetree.org/schemas/pinctrl/cix,sky1-pinctrl.yaml#
5*329b71cdSGary Yang$schema: http://devicetree.org/meta-schemas/core.yaml#
6*329b71cdSGary Yang
7*329b71cdSGary Yangtitle: Cix Sky1 Soc Pin Controller
8*329b71cdSGary Yang
9*329b71cdSGary Yangmaintainers:
10*329b71cdSGary Yang  - Gary Yang <gary.yang@cixtech.com>
11*329b71cdSGary Yang
12*329b71cdSGary Yangdescription:
13*329b71cdSGary Yang  The pin-controller is used to control Soc pins. There are two pin-controllers
14*329b71cdSGary Yang  on Cix Sky1 platform. one is used under S0 state, the other one is used under
15*329b71cdSGary Yang  S0 and S5 state.
16*329b71cdSGary Yang
17*329b71cdSGary Yangproperties:
18*329b71cdSGary Yang  compatible:
19*329b71cdSGary Yang    enum:
20*329b71cdSGary Yang      - cix,sky1-pinctrl
21*329b71cdSGary Yang      - cix,sky1-pinctrl-s5
22*329b71cdSGary Yang
23*329b71cdSGary Yang  reg:
24*329b71cdSGary Yang    items:
25*329b71cdSGary Yang      - description: gpio base
26*329b71cdSGary Yang
27*329b71cdSGary YangpatternProperties:
28*329b71cdSGary Yang  '-cfg$':
29*329b71cdSGary Yang    type: object
30*329b71cdSGary Yang    additionalProperties: false
31*329b71cdSGary Yang
32*329b71cdSGary Yang    description:
33*329b71cdSGary Yang      A pinctrl node should contain at least one subnode representing the
34*329b71cdSGary Yang      pinctrl groups available on the machine.
35*329b71cdSGary Yang
36*329b71cdSGary Yang    patternProperties:
37*329b71cdSGary Yang      'pins$':
38*329b71cdSGary Yang        type: object
39*329b71cdSGary Yang        additionalProperties: false
40*329b71cdSGary Yang
41*329b71cdSGary Yang        description:
42*329b71cdSGary Yang          Each subnode will list the pins it needs, and how they should
43*329b71cdSGary Yang          be configured, with regard to muxer configuration, bias pull,
44*329b71cdSGary Yang          and drive strength.
45*329b71cdSGary Yang
46*329b71cdSGary Yang        allOf:
47*329b71cdSGary Yang          - $ref: pincfg-node.yaml#
48*329b71cdSGary Yang          - $ref: pinmux-node.yaml#
49*329b71cdSGary Yang
50*329b71cdSGary Yang        properties:
51*329b71cdSGary Yang          pinmux:
52*329b71cdSGary Yang            description:
53*329b71cdSGary Yang              Values are constructed from pin number and mux setting, pin
54*329b71cdSGary Yang              number is left shifted by 8 bits, then ORed with mux setting
55*329b71cdSGary Yang
56*329b71cdSGary Yang          bias-disable: true
57*329b71cdSGary Yang
58*329b71cdSGary Yang          bias-pull-up: true
59*329b71cdSGary Yang
60*329b71cdSGary Yang          bias-pull-down: true
61*329b71cdSGary Yang
62*329b71cdSGary Yang          drive-strength:
63*329b71cdSGary Yang            description:
64*329b71cdSGary Yang              typical current when output high level.
65*329b71cdSGary Yang            enum: [ 2, 3, 5, 6, 8, 9, 11, 12, 13, 14, 17, 18, 20, 21, 23,
66*329b71cdSGary Yang                    24 ]
67*329b71cdSGary Yang
68*329b71cdSGary Yang        required:
69*329b71cdSGary Yang          - pinmux
70*329b71cdSGary Yang
71*329b71cdSGary Yangrequired:
72*329b71cdSGary Yang  - compatible
73*329b71cdSGary Yang  - reg
74*329b71cdSGary Yang
75*329b71cdSGary YangadditionalProperties: false
76*329b71cdSGary Yang
77*329b71cdSGary Yangexamples:
78*329b71cdSGary Yang  - |
79*329b71cdSGary Yang    #define CIX_PAD_GPIO012_FUNC_GPIO012 (11 << 8 | 0x0)
80*329b71cdSGary Yang    pinctrl@4170000 {
81*329b71cdSGary Yang        compatible = "cix,sky1-pinctrl";
82*329b71cdSGary Yang        reg = <0x4170000 0x1000>;
83*329b71cdSGary Yang
84*329b71cdSGary Yang        wifi_vbat_gpio: wifi-vbat-gpio-cfg {
85*329b71cdSGary Yang            pins {
86*329b71cdSGary Yang                pinmux = <CIX_PAD_GPIO012_FUNC_GPIO012>;
87*329b71cdSGary Yang                bias-pull-up;
88*329b71cdSGary Yang                drive-strength = <8>;
89*329b71cdSGary Yang           };
90*329b71cdSGary Yang        };
91*329b71cdSGary Yang    };
92