xref: /linux/Documentation/devicetree/bindings/fsi/aspeed,ast2600-fsi-master.yaml (revision c771600c6af14749609b49565ffb4cac2959710d)
17767cd04SEddie James# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
27767cd04SEddie James%YAML 1.2
37767cd04SEddie James---
47767cd04SEddie James$id: http://devicetree.org/schemas/fsi/aspeed,ast2600-fsi-master.yaml#
57767cd04SEddie James$schema: http://devicetree.org/meta-schemas/core.yaml#
67767cd04SEddie James
77767cd04SEddie Jamestitle: Aspeed FSI master
87767cd04SEddie James
97767cd04SEddie Jamesmaintainers:
107767cd04SEddie James  - Eddie James <eajames@linux.ibm.com>
117767cd04SEddie James
127767cd04SEddie Jamesdescription:
137767cd04SEddie James  The AST2600 and later contain two identical FSI masters. They share a
147767cd04SEddie James  clock and have a separate interrupt line and output pins.
157767cd04SEddie James
167767cd04SEddie Jamesproperties:
177767cd04SEddie James  compatible:
187767cd04SEddie James    enum:
197767cd04SEddie James      - aspeed,ast2600-fsi-master
207a609bc3SEddie James      - aspeed,ast2700-fsi-master
217767cd04SEddie James
227767cd04SEddie James  clocks:
237767cd04SEddie James    maxItems: 1
247767cd04SEddie James
257767cd04SEddie James  cfam-reset-gpios:
267767cd04SEddie James    maxItems: 1
277767cd04SEddie James    description:
287767cd04SEddie James      Output GPIO pin for CFAM reset
297767cd04SEddie James
307767cd04SEddie James  fsi-routing-gpios:
317767cd04SEddie James    maxItems: 1
327767cd04SEddie James    description:
337767cd04SEddie James      Output GPIO pin for setting the FSI mux (internal or cabled)
347767cd04SEddie James
357767cd04SEddie James  fsi-mux-gpios:
367767cd04SEddie James    maxItems: 1
377767cd04SEddie James    description:
387767cd04SEddie James      Input GPIO pin for detecting the desired FSI mux state
397767cd04SEddie James
407767cd04SEddie James  interrupts:
417767cd04SEddie James    maxItems: 1
427767cd04SEddie James
437a609bc3SEddie Jamesif:
447a609bc3SEddie James  properties:
457a609bc3SEddie James    compatible:
467a609bc3SEddie James      contains:
477a609bc3SEddie James        enum:
487a609bc3SEddie James          - aspeed,ast2600-fsi-master
497a609bc3SEddie Jamesthen:
507a609bc3SEddie James  properties:
517a609bc3SEddie James    reg:
527a609bc3SEddie James      maxItems: 1
537a609bc3SEddie Jameselse:
547a609bc3SEddie James  properties:
557a609bc3SEddie James    reg:
567a609bc3SEddie James      minItems: 1
577a609bc3SEddie James      items:
587a609bc3SEddie James        - description: OPB control registers
597a609bc3SEddie James        - description: FSI controller registers
607a609bc3SEddie James        - description: FSI link address space
617a609bc3SEddie James    reg-names:
627a609bc3SEddie James      items:
637a609bc3SEddie James        - const: opb
647a609bc3SEddie James        - const: ctrl
657a609bc3SEddie James        - const: fsi
667a609bc3SEddie James
677767cd04SEddie Jamesrequired:
687767cd04SEddie James  - compatible
697767cd04SEddie James  - reg
707767cd04SEddie James  - clocks
717767cd04SEddie James  - interrupts
727767cd04SEddie James
737767cd04SEddie JamesallOf:
747767cd04SEddie James  - $ref: fsi-controller.yaml#
757767cd04SEddie James
767767cd04SEddie JamesunevaluatedProperties: false
777767cd04SEddie James
787767cd04SEddie Jamesexamples:
797767cd04SEddie James  - |
807767cd04SEddie James    #include <dt-bindings/clock/ast2600-clock.h>
817767cd04SEddie James    #include <dt-bindings/gpio/aspeed-gpio.h>
827767cd04SEddie James    #include <dt-bindings/interrupt-controller/arm-gic.h>
837767cd04SEddie James    fsi-master@1e79b000 {
847767cd04SEddie James        compatible = "aspeed,ast2600-fsi-master";
857767cd04SEddie James        reg = <0x1e79b000 0x94>;
867767cd04SEddie James        #address-cells = <2>;
877767cd04SEddie James        #size-cells = <0>;
887767cd04SEddie James        interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
897767cd04SEddie James        pinctrl-names = "default";
907767cd04SEddie James        pinctrl-0 = <&pinctrl_fsi1_default>;
917767cd04SEddie James        clocks = <&syscon ASPEED_CLK_GATE_FSICLK>;
927767cd04SEddie James        fsi-routing-gpios = <&gpio0 ASPEED_GPIO(Q, 7) GPIO_ACTIVE_HIGH>;
937767cd04SEddie James        fsi-mux-gpios = <&gpio0 ASPEED_GPIO(B, 0) GPIO_ACTIVE_HIGH>;
947767cd04SEddie James        cfam-reset-gpios = <&gpio0 ASPEED_GPIO(Q, 0) GPIO_ACTIVE_LOW>;
957767cd04SEddie James
967767cd04SEddie James        cfam@0,0 {
977767cd04SEddie James            reg = <0 0>;
987767cd04SEddie James            #address-cells = <1>;
997767cd04SEddie James            #size-cells = <1>;
1007767cd04SEddie James            chip-id = <0>;
1017767cd04SEddie James        };
1027767cd04SEddie James    };
1037a609bc3SEddie James  - |
1047a609bc3SEddie James    bus {
1057a609bc3SEddie James        #address-cells = <2>;
1067a609bc3SEddie James        #size-cells = <2>;
1077a609bc3SEddie James
1087a609bc3SEddie James        fsi-master@21800000 {
1097a609bc3SEddie James            compatible = "aspeed,ast2700-fsi-master";
1107a609bc3SEddie James            reg = <0x0 0x21800000 0x0 0x100>,
1117a609bc3SEddie James                  <0x0 0x21000000 0x0 0x1000>,
1127a609bc3SEddie James                  <0x0 0x20000000 0x0 0x1000000>;
1137a609bc3SEddie James            reg-names = "opb", "ctrl", "fsi";
1147a609bc3SEddie James            #interrupt-cells = <1>;
1157a609bc3SEddie James            interrupt-controller;
1167a609bc3SEddie James            interrupts-extended = <&intc 6>;
1177a609bc3SEddie James            pinctrl-names = "default";
1187a609bc3SEddie James            pinctrl-0 = <&pinctrl_fsi0_default>;
1197a609bc3SEddie James            clocks = <&syscon 40>;
1207a609bc3SEddie James        };
1217a609bc3SEddie James    };
122