blob: dfcc2fafa68dcd796c09fd0477b7636c95648a1a [file] [log] [blame]
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/fsi/aspeed,ast2600-fsi-master.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Aspeed FSI master
maintainers:
- Eddie James <eajames@linux.ibm.com>
description:
The AST2600 and later contain two identical FSI masters. They share a
clock and have a separate interrupt line and output pins.
properties:
compatible:
enum:
- aspeed,ast2600-fsi-master
- aspeed,ast2700-fsi-master
clocks:
maxItems: 1
cfam-reset-gpios:
maxItems: 1
description:
Output GPIO pin for CFAM reset
fsi-routing-gpios:
maxItems: 1
description:
Output GPIO pin for setting the FSI mux (internal or cabled)
fsi-mux-gpios:
maxItems: 1
description:
Input GPIO pin for detecting the desired FSI mux state
interrupts:
maxItems: 1
if:
properties:
compatible:
contains:
enum:
- aspeed,ast2600-fsi-master
then:
properties:
reg:
maxItems: 1
else:
properties:
reg:
minItems: 1
items:
- description: OPB control registers
- description: FSI controller registers
- description: FSI link address space
reg-names:
items:
- const: opb
- const: ctrl
- const: fsi
required:
- compatible
- reg
- clocks
- interrupts
allOf:
- $ref: fsi-controller.yaml#
unevaluatedProperties: false
examples:
- |
#include <dt-bindings/clock/ast2600-clock.h>
#include <dt-bindings/gpio/aspeed-gpio.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
fsi-master@1e79b000 {
compatible = "aspeed,ast2600-fsi-master";
reg = <0x1e79b000 0x94>;
#address-cells = <2>;
#size-cells = <0>;
interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_fsi1_default>;
clocks = <&syscon ASPEED_CLK_GATE_FSICLK>;
fsi-routing-gpios = <&gpio0 ASPEED_GPIO(Q, 7) GPIO_ACTIVE_HIGH>;
fsi-mux-gpios = <&gpio0 ASPEED_GPIO(B, 0) GPIO_ACTIVE_HIGH>;
cfam-reset-gpios = <&gpio0 ASPEED_GPIO(Q, 0) GPIO_ACTIVE_LOW>;
cfam@0,0 {
reg = <0 0>;
#address-cells = <1>;
#size-cells = <1>;
chip-id = <0>;
};
};
- |
bus {
#address-cells = <2>;
#size-cells = <2>;
fsi-master@21800000 {
compatible = "aspeed,ast2700-fsi-master";
reg = <0x0 0x21800000 0x0 0x100>,
<0x0 0x21000000 0x0 0x1000>,
<0x0 0x20000000 0x0 0x1000000>;
reg-names = "opb", "ctrl", "fsi";
#interrupt-cells = <1>;
interrupt-controller;
interrupts-extended = <&intc 6>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_fsi0_default>;
clocks = <&syscon 40>;
};
};