162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/pinctrl/samsung,pinctrl.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: Samsung S3C/S5P/Exynos SoC pin controller
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Krzysztof Kozlowski <krzk@kernel.org>
1162306a36Sopenharmony_ci  - Sylwester Nawrocki <s.nawrocki@samsung.com>
1262306a36Sopenharmony_ci  - Tomasz Figa <tomasz.figa@gmail.com>
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_cidescription: |
1562306a36Sopenharmony_ci  This is a part of device tree bindings for Samsung S3C/S5P/Exynos SoC pin
1662306a36Sopenharmony_ci  controller.
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci  All the pin controller nodes should be represented in the aliases node using
1962306a36Sopenharmony_ci  the following format 'pinctrl{n}' where n is a unique number for the alias.
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ci  The controller supports three types of interrupts::
2262306a36Sopenharmony_ci   - External GPIO interrupts (see interrupts property in pin controller node);
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ci   - External wake-up interrupts - multiplexed (capable of waking up the system
2562306a36Sopenharmony_ci     see interrupts property in external wake-up interrupt controller node -
2662306a36Sopenharmony_ci     samsung,pinctrl-wakeup-interrupt.yaml);
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci   - External wake-up interrupts - direct (capable of waking up the system, see
2962306a36Sopenharmony_ci     interrupts property in every bank of pin controller with external wake-up
3062306a36Sopenharmony_ci     interrupt controller - samsung,pinctrl-gpio-bank.yaml).
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ciproperties:
3362306a36Sopenharmony_ci  $nodename:
3462306a36Sopenharmony_ci    pattern: "^pinctrl(@.*)?"
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ci  compatible:
3762306a36Sopenharmony_ci    enum:
3862306a36Sopenharmony_ci      - samsung,s3c2412-pinctrl
3962306a36Sopenharmony_ci      - samsung,s3c2416-pinctrl
4062306a36Sopenharmony_ci      - samsung,s3c2440-pinctrl
4162306a36Sopenharmony_ci      - samsung,s3c2450-pinctrl
4262306a36Sopenharmony_ci      - samsung,s3c64xx-pinctrl
4362306a36Sopenharmony_ci      - samsung,s5pv210-pinctrl
4462306a36Sopenharmony_ci      - samsung,exynos3250-pinctrl
4562306a36Sopenharmony_ci      - samsung,exynos4210-pinctrl
4662306a36Sopenharmony_ci      - samsung,exynos4x12-pinctrl
4762306a36Sopenharmony_ci      - samsung,exynos5250-pinctrl
4862306a36Sopenharmony_ci      - samsung,exynos5260-pinctrl
4962306a36Sopenharmony_ci      - samsung,exynos5410-pinctrl
5062306a36Sopenharmony_ci      - samsung,exynos5420-pinctrl
5162306a36Sopenharmony_ci      - samsung,exynos5433-pinctrl
5262306a36Sopenharmony_ci      - samsung,exynos7-pinctrl
5362306a36Sopenharmony_ci      - samsung,exynos7885-pinctrl
5462306a36Sopenharmony_ci      - samsung,exynos850-pinctrl
5562306a36Sopenharmony_ci      - samsung,exynosautov9-pinctrl
5662306a36Sopenharmony_ci      - tesla,fsd-pinctrl
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ci  interrupts:
5962306a36Sopenharmony_ci    description:
6062306a36Sopenharmony_ci      Required for GPIO banks supporting external GPIO interrupts.
6162306a36Sopenharmony_ci    maxItems: 1
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_ci  power-domains:
6462306a36Sopenharmony_ci    maxItems: 1
6562306a36Sopenharmony_ci
6662306a36Sopenharmony_ci  reg:
6762306a36Sopenharmony_ci    description:
6862306a36Sopenharmony_ci      Second base address of the pin controller if the specific registers of
6962306a36Sopenharmony_ci      the pin controller are separated into the different base address.
7062306a36Sopenharmony_ci      Only certain banks of certain pin controller might need it.
7162306a36Sopenharmony_ci    minItems: 1
7262306a36Sopenharmony_ci    maxItems: 2
7362306a36Sopenharmony_ci
7462306a36Sopenharmony_ci  wakeup-interrupt-controller:
7562306a36Sopenharmony_ci    $ref: samsung,pinctrl-wakeup-interrupt.yaml
7662306a36Sopenharmony_ci
7762306a36Sopenharmony_cipatternProperties:
7862306a36Sopenharmony_ci  "^[a-z]+[0-9]*-gpio-bank$":
7962306a36Sopenharmony_ci    description:
8062306a36Sopenharmony_ci      Pin banks of the controller are represented by child nodes of the
8162306a36Sopenharmony_ci      controller node. Bank name is taken from name of the node.
8262306a36Sopenharmony_ci    $ref: samsung,pinctrl-gpio-bank.yaml
8362306a36Sopenharmony_ci
8462306a36Sopenharmony_ci  "^[a-z0-9-]+-pins$":
8562306a36Sopenharmony_ci    oneOf:
8662306a36Sopenharmony_ci      - $ref: samsung,pinctrl-pins-cfg.yaml
8762306a36Sopenharmony_ci        required:
8862306a36Sopenharmony_ci          - samsung,pins
8962306a36Sopenharmony_ci      - type: object
9062306a36Sopenharmony_ci        patternProperties:
9162306a36Sopenharmony_ci          "^[a-z0-9-]+-pins$":
9262306a36Sopenharmony_ci            $ref: samsung,pinctrl-pins-cfg.yaml
9362306a36Sopenharmony_ci
9462306a36Sopenharmony_ci        additionalProperties: false
9562306a36Sopenharmony_ci
9662306a36Sopenharmony_ci  "^(initial|sleep)-state$":
9762306a36Sopenharmony_ci    type: object
9862306a36Sopenharmony_ci    additionalProperties: false
9962306a36Sopenharmony_ci
10062306a36Sopenharmony_ci    patternProperties:
10162306a36Sopenharmony_ci      "^(pin-[a-z0-9-]+|[a-z0-9-]+-pin)$":
10262306a36Sopenharmony_ci        $ref: samsung,pinctrl-pins-cfg.yaml
10362306a36Sopenharmony_ci
10462306a36Sopenharmony_ci        properties:
10562306a36Sopenharmony_ci          samsung,pins:
10662306a36Sopenharmony_ci            description: See samsung,pinctrl-pins-cfg.yaml
10762306a36Sopenharmony_ci            $ref: /schemas/types.yaml#/definitions/string-array
10862306a36Sopenharmony_ci            maxItems: 1
10962306a36Sopenharmony_ci
11062306a36Sopenharmony_ci        required:
11162306a36Sopenharmony_ci          - samsung,pins
11262306a36Sopenharmony_ci
11362306a36Sopenharmony_ci        unevaluatedProperties: false
11462306a36Sopenharmony_ci
11562306a36Sopenharmony_cirequired:
11662306a36Sopenharmony_ci  - compatible
11762306a36Sopenharmony_ci  - reg
11862306a36Sopenharmony_ci
11962306a36Sopenharmony_ciallOf:
12062306a36Sopenharmony_ci  - $ref: pinctrl.yaml#
12162306a36Sopenharmony_ci  - if:
12262306a36Sopenharmony_ci      properties:
12362306a36Sopenharmony_ci        compatible:
12462306a36Sopenharmony_ci          contains:
12562306a36Sopenharmony_ci            const: samsung,exynos5433-pinctrl
12662306a36Sopenharmony_ci    then:
12762306a36Sopenharmony_ci      properties:
12862306a36Sopenharmony_ci        reg:
12962306a36Sopenharmony_ci          minItems: 1
13062306a36Sopenharmony_ci          maxItems: 2
13162306a36Sopenharmony_ci    else:
13262306a36Sopenharmony_ci      properties:
13362306a36Sopenharmony_ci        reg:
13462306a36Sopenharmony_ci          minItems: 1
13562306a36Sopenharmony_ci          maxItems: 1
13662306a36Sopenharmony_ci
13762306a36Sopenharmony_ciadditionalProperties: false
13862306a36Sopenharmony_ci
13962306a36Sopenharmony_ciexamples:
14062306a36Sopenharmony_ci  - |
14162306a36Sopenharmony_ci    pinctrl@7f008000 {
14262306a36Sopenharmony_ci        compatible = "samsung,s3c64xx-pinctrl";
14362306a36Sopenharmony_ci        reg = <0x7f008000 0x1000>;
14462306a36Sopenharmony_ci        interrupt-parent = <&vic1>;
14562306a36Sopenharmony_ci        interrupts = <21>;
14662306a36Sopenharmony_ci
14762306a36Sopenharmony_ci        wakeup-interrupt-controller {
14862306a36Sopenharmony_ci            compatible = "samsung,s3c64xx-wakeup-eint";
14962306a36Sopenharmony_ci            interrupts-extended = <&vic0 0>,
15062306a36Sopenharmony_ci                                  <&vic0 1>,
15162306a36Sopenharmony_ci                                  <&vic1 0>,
15262306a36Sopenharmony_ci                                  <&vic1 1>;
15362306a36Sopenharmony_ci        };
15462306a36Sopenharmony_ci
15562306a36Sopenharmony_ci        /* Pin bank with external GPIO or muxed external wake-up interrupts */
15662306a36Sopenharmony_ci        gpa-gpio-bank {
15762306a36Sopenharmony_ci            gpio-controller;
15862306a36Sopenharmony_ci            #gpio-cells = <2>;
15962306a36Sopenharmony_ci            interrupt-controller;
16062306a36Sopenharmony_ci            #interrupt-cells = <2>;
16162306a36Sopenharmony_ci        };
16262306a36Sopenharmony_ci
16362306a36Sopenharmony_ci        // ...
16462306a36Sopenharmony_ci
16562306a36Sopenharmony_ci        uart0-data-pins {
16662306a36Sopenharmony_ci            samsung,pins = "gpa-0", "gpa-1";
16762306a36Sopenharmony_ci            samsung,pin-function = <2>;
16862306a36Sopenharmony_ci            samsung,pin-pud = <0>;
16962306a36Sopenharmony_ci        };
17062306a36Sopenharmony_ci
17162306a36Sopenharmony_ci        // ...
17262306a36Sopenharmony_ci    };
17362306a36Sopenharmony_ci
17462306a36Sopenharmony_ci  - |
17562306a36Sopenharmony_ci    #include <dt-bindings/interrupt-controller/arm-gic.h>
17662306a36Sopenharmony_ci
17762306a36Sopenharmony_ci    pinctrl@11400000 {
17862306a36Sopenharmony_ci        compatible = "samsung,exynos4210-pinctrl";
17962306a36Sopenharmony_ci        reg = <0x11400000 0x1000>;
18062306a36Sopenharmony_ci        interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
18162306a36Sopenharmony_ci
18262306a36Sopenharmony_ci        pinctrl-names = "default";
18362306a36Sopenharmony_ci        pinctrl-0 = <&sleep0>;
18462306a36Sopenharmony_ci
18562306a36Sopenharmony_ci        /* Pin bank with external GPIO or muxed external wake-up interrupts */
18662306a36Sopenharmony_ci        gpa0-gpio-bank {
18762306a36Sopenharmony_ci            gpio-controller;
18862306a36Sopenharmony_ci            #gpio-cells = <2>;
18962306a36Sopenharmony_ci            interrupt-controller;
19062306a36Sopenharmony_ci            #interrupt-cells = <2>;
19162306a36Sopenharmony_ci        };
19262306a36Sopenharmony_ci
19362306a36Sopenharmony_ci        // ...
19462306a36Sopenharmony_ci
19562306a36Sopenharmony_ci        uart0-data-pins {
19662306a36Sopenharmony_ci            samsung,pins = "gpa0-0", "gpa0-1";
19762306a36Sopenharmony_ci            samsung,pin-function = <2>;
19862306a36Sopenharmony_ci            samsung,pin-pud = <0>;
19962306a36Sopenharmony_ci            samsung,pin-drv = <0>;
20062306a36Sopenharmony_ci        };
20162306a36Sopenharmony_ci
20262306a36Sopenharmony_ci        // ...
20362306a36Sopenharmony_ci
20462306a36Sopenharmony_ci        sleep0: sleep-state {
20562306a36Sopenharmony_ci            gpa0-0-pin {
20662306a36Sopenharmony_ci                samsung,pins = "gpa0-0";
20762306a36Sopenharmony_ci                samsung,pin-con-pdn = <2>;
20862306a36Sopenharmony_ci                samsung,pin-pud-pdn = <0>;
20962306a36Sopenharmony_ci            };
21062306a36Sopenharmony_ci
21162306a36Sopenharmony_ci            gpa0-1-pin {
21262306a36Sopenharmony_ci                samsung,pins = "gpa0-1";
21362306a36Sopenharmony_ci                samsung,pin-con-pdn = <0>;
21462306a36Sopenharmony_ci                samsung,pin-pud-pdn = <0>;
21562306a36Sopenharmony_ci            };
21662306a36Sopenharmony_ci
21762306a36Sopenharmony_ci            // ...
21862306a36Sopenharmony_ci        };
21962306a36Sopenharmony_ci    };
22062306a36Sopenharmony_ci
22162306a36Sopenharmony_ci  - |
22262306a36Sopenharmony_ci    #include <dt-bindings/interrupt-controller/arm-gic.h>
22362306a36Sopenharmony_ci
22462306a36Sopenharmony_ci    pinctrl@11000000 {
22562306a36Sopenharmony_ci        compatible = "samsung,exynos4210-pinctrl";
22662306a36Sopenharmony_ci        reg = <0x11000000 0x1000>;
22762306a36Sopenharmony_ci        interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
22862306a36Sopenharmony_ci
22962306a36Sopenharmony_ci        wakeup-interrupt-controller {
23062306a36Sopenharmony_ci            compatible = "samsung,exynos4210-wakeup-eint";
23162306a36Sopenharmony_ci            interrupt-parent = <&gic>;
23262306a36Sopenharmony_ci            interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
23362306a36Sopenharmony_ci        };
23462306a36Sopenharmony_ci
23562306a36Sopenharmony_ci        /* Pin bank with external GPIO or muxed external wake-up interrupts */
23662306a36Sopenharmony_ci        gpj0-gpio-bank {
23762306a36Sopenharmony_ci            gpio-controller;
23862306a36Sopenharmony_ci            #gpio-cells = <2>;
23962306a36Sopenharmony_ci            interrupt-controller;
24062306a36Sopenharmony_ci            #interrupt-cells = <2>;
24162306a36Sopenharmony_ci        };
24262306a36Sopenharmony_ci
24362306a36Sopenharmony_ci        /* Pin bank without external interrupts */
24462306a36Sopenharmony_ci        gpy0-gpio-bank {
24562306a36Sopenharmony_ci            gpio-controller;
24662306a36Sopenharmony_ci            #gpio-cells = <2>;
24762306a36Sopenharmony_ci        };
24862306a36Sopenharmony_ci
24962306a36Sopenharmony_ci        /* Pin bank with external direct wake-up interrupts */
25062306a36Sopenharmony_ci        gpx0-gpio-bank {
25162306a36Sopenharmony_ci            gpio-controller;
25262306a36Sopenharmony_ci            #gpio-cells = <2>;
25362306a36Sopenharmony_ci
25462306a36Sopenharmony_ci            interrupt-controller;
25562306a36Sopenharmony_ci            interrupt-parent = <&gic>;
25662306a36Sopenharmony_ci            interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
25762306a36Sopenharmony_ci                         <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>,
25862306a36Sopenharmony_ci                         <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>,
25962306a36Sopenharmony_ci                         <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>,
26062306a36Sopenharmony_ci                         <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>,
26162306a36Sopenharmony_ci                         <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>,
26262306a36Sopenharmony_ci                         <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>,
26362306a36Sopenharmony_ci                         <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
26462306a36Sopenharmony_ci            #interrupt-cells = <2>;
26562306a36Sopenharmony_ci        };
26662306a36Sopenharmony_ci
26762306a36Sopenharmony_ci        // ...
26862306a36Sopenharmony_ci
26962306a36Sopenharmony_ci        sd0-clk-pins {
27062306a36Sopenharmony_ci            samsung,pins = "gpk0-0";
27162306a36Sopenharmony_ci            samsung,pin-function = <2>;
27262306a36Sopenharmony_ci            samsung,pin-pud = <0>;
27362306a36Sopenharmony_ci            samsung,pin-drv = <3>;
27462306a36Sopenharmony_ci        };
27562306a36Sopenharmony_ci
27662306a36Sopenharmony_ci        sd4-bus-width8-pins {
27762306a36Sopenharmony_ci            part-1-pins {
27862306a36Sopenharmony_ci                samsung,pins = "gpk0-3", "gpk0-4",
27962306a36Sopenharmony_ci                               "gpk0-5", "gpk0-6";
28062306a36Sopenharmony_ci                samsung,pin-function = <3>;
28162306a36Sopenharmony_ci                samsung,pin-pud = <3>;
28262306a36Sopenharmony_ci                samsung,pin-drv = <3>;
28362306a36Sopenharmony_ci            };
28462306a36Sopenharmony_ci
28562306a36Sopenharmony_ci            part-2-pins {
28662306a36Sopenharmony_ci                samsung,pins = "gpk1-3", "gpk1-4",
28762306a36Sopenharmony_ci                               "gpk1-5", "gpk1-6";
28862306a36Sopenharmony_ci                samsung,pin-function = <4>;
28962306a36Sopenharmony_ci                samsung,pin-pud = <3>;
29062306a36Sopenharmony_ci                samsung,pin-drv = <3>;
29162306a36Sopenharmony_ci            };
29262306a36Sopenharmony_ci        };
29362306a36Sopenharmony_ci
29462306a36Sopenharmony_ci        // ...
29562306a36Sopenharmony_ci
29662306a36Sopenharmony_ci        otg-gp-pins {
29762306a36Sopenharmony_ci            samsung,pins = "gpx3-3";
29862306a36Sopenharmony_ci            samsung,pin-function = <1>;
29962306a36Sopenharmony_ci            samsung,pin-pud = <0>;
30062306a36Sopenharmony_ci            samsung,pin-drv = <0>;
30162306a36Sopenharmony_ci            samsung,pin-val = <0>;
30262306a36Sopenharmony_ci        };
30362306a36Sopenharmony_ci    };
30462306a36Sopenharmony_ci
30562306a36Sopenharmony_ci  - |
30662306a36Sopenharmony_ci    #include <dt-bindings/interrupt-controller/arm-gic.h>
30762306a36Sopenharmony_ci
30862306a36Sopenharmony_ci    pinctrl@10580000 {
30962306a36Sopenharmony_ci        compatible = "samsung,exynos5433-pinctrl";
31062306a36Sopenharmony_ci        reg = <0x10580000 0x1a20>, <0x11090000 0x100>;
31162306a36Sopenharmony_ci
31262306a36Sopenharmony_ci        pinctrl-names = "default";
31362306a36Sopenharmony_ci        pinctrl-0 = <&initial_alive>;
31462306a36Sopenharmony_ci
31562306a36Sopenharmony_ci        wakeup-interrupt-controller {
31662306a36Sopenharmony_ci            compatible = "samsung,exynos7-wakeup-eint";
31762306a36Sopenharmony_ci            interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
31862306a36Sopenharmony_ci        };
31962306a36Sopenharmony_ci
32062306a36Sopenharmony_ci        /* Pin bank with external direct wake-up interrupts */
32162306a36Sopenharmony_ci        gpa0-gpio-bank {
32262306a36Sopenharmony_ci            gpio-controller;
32362306a36Sopenharmony_ci            #gpio-cells = <2>;
32462306a36Sopenharmony_ci
32562306a36Sopenharmony_ci            interrupt-controller;
32662306a36Sopenharmony_ci            interrupt-parent = <&gic>;
32762306a36Sopenharmony_ci            interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
32862306a36Sopenharmony_ci                         <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
32962306a36Sopenharmony_ci                         <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
33062306a36Sopenharmony_ci                         <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
33162306a36Sopenharmony_ci                         <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
33262306a36Sopenharmony_ci                         <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
33362306a36Sopenharmony_ci                         <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
33462306a36Sopenharmony_ci                         <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
33562306a36Sopenharmony_ci            #interrupt-cells = <2>;
33662306a36Sopenharmony_ci        };
33762306a36Sopenharmony_ci
33862306a36Sopenharmony_ci        // ...
33962306a36Sopenharmony_ci
34062306a36Sopenharmony_ci        te-irq-pins {
34162306a36Sopenharmony_ci            samsung,pins = "gpf1-3";
34262306a36Sopenharmony_ci            samsung,pin-function = <0xf>;
34362306a36Sopenharmony_ci        };
34462306a36Sopenharmony_ci
34562306a36Sopenharmony_ci        // ..
34662306a36Sopenharmony_ci
34762306a36Sopenharmony_ci        initial_alive: initial-state {
34862306a36Sopenharmony_ci            gpa0-0-pin {
34962306a36Sopenharmony_ci                samsung,pins = "gpa0-0";
35062306a36Sopenharmony_ci                samsung,pin-function = <0>;
35162306a36Sopenharmony_ci                samsung,pin-pud = <1>;
35262306a36Sopenharmony_ci                samsung,pin-drv = <0>;
35362306a36Sopenharmony_ci            };
35462306a36Sopenharmony_ci
35562306a36Sopenharmony_ci            // ...
35662306a36Sopenharmony_ci        };
35762306a36Sopenharmony_ci    };
35862306a36Sopenharmony_ci
35962306a36Sopenharmony_ci  - |
36062306a36Sopenharmony_ci    #include <dt-bindings/interrupt-controller/arm-gic.h>
36162306a36Sopenharmony_ci
36262306a36Sopenharmony_ci    pinctrl@114b0000 {
36362306a36Sopenharmony_ci        compatible = "samsung,exynos5433-pinctrl";
36462306a36Sopenharmony_ci        reg = <0x114b0000 0x1000>;
36562306a36Sopenharmony_ci        interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
36662306a36Sopenharmony_ci        power-domains = <&pd_aud>;
36762306a36Sopenharmony_ci
36862306a36Sopenharmony_ci        /* Pin bank with external GPIO or muxed external wake-up interrupts */
36962306a36Sopenharmony_ci        gpz0-gpio-bank {
37062306a36Sopenharmony_ci            gpio-controller;
37162306a36Sopenharmony_ci            #gpio-cells = <2>;
37262306a36Sopenharmony_ci            interrupt-controller;
37362306a36Sopenharmony_ci            #interrupt-cells = <2>;
37462306a36Sopenharmony_ci        };
37562306a36Sopenharmony_ci
37662306a36Sopenharmony_ci        // ...
37762306a36Sopenharmony_ci
37862306a36Sopenharmony_ci        i2s0-bus-pins {
37962306a36Sopenharmony_ci            samsung,pins = "gpz0-0", "gpz0-1", "gpz0-2", "gpz0-3",
38062306a36Sopenharmony_ci                           "gpz0-4", "gpz0-5", "gpz0-6";
38162306a36Sopenharmony_ci            samsung,pin-function = <2>;
38262306a36Sopenharmony_ci            samsung,pin-pud = <0>;
38362306a36Sopenharmony_ci            samsung,pin-drv = <0>;
38462306a36Sopenharmony_ci        };
38562306a36Sopenharmony_ci
38662306a36Sopenharmony_ci        // ...
38762306a36Sopenharmony_ci    };
388