// SPDX-License-Identifier: GPL-2.0-or-later
/dts-v1/;
#include <dt-bindings/clock/clps711x-clock.h>
/ {
#address-cells = <1>;
#size-cells = <1>;
model = "Cirrus Logic EP7209";
compatible = "cirrus,ep7209";
aliases {
gpio0 = &porta;
gpio1 = &portb;
gpio3 = &portd;
gpio4 = &porte;
serial0 = &uart1;
serial1 = &uart2;
spi0 = &spi;
timer0 = &timer1;
timer1 = &timer2;
};
cpus {
#address-cells = <0>;
#size-cells = <0>;
cpu {
device_type = "cpu";
compatible = "arm,arm720t";
};
};
soc {
#address-cells = <1>;
#size-cells = <1>;
compatible = "simple-bus";
interrupt-parent = <&intc>;
ranges;
clks: clks@80000000 {
#clock-cells = <1>;
compatible = "cirrus,ep7209-clk";
reg = <0x80000000 0xc000>;
startup-frequency = <73728000>;
};
intc: intc@80000000 {
compatible = "cirrus,ep7209-intc";
reg = <0x80000000 0x4000>;
interrupt-controller;
#interrupt-cells = <1>;
};
porta: gpio@80000000 {
compatible = "cirrus,ep7209-gpio";
reg = <0x80000000 0x1 0x80000040 0x1>;
gpio-controller;
#gpio-cells = <2>;
};
portb: gpio@80000001 {
compatible = "cirrus,ep7209-gpio";
reg = <0x80000001 0x1 0x80000041 0x1>;
gpio-controller;
#gpio-cells = <2>;
};
portd: gpio@80000003 {
compatible = "cirrus,ep7209-gpio";
reg = <0x80000003 0x1 0x80000043 0x1>;
gpio-controller;
#gpio-cells = <2>;
};
porte: gpio@80000083 {
compatible = "cirrus,ep7209-gpio";
reg = <0x80000083 0x1 0x800000c3 0x1>;
gpio-controller;
#gpio-cells = <2>;
};
syscon1: syscon@80000100 {
compatible = "cirrus,ep7209-syscon1", "syscon";
reg = <0x80000100 0x80>;
};
bus: bus@80000180 {
#address-cells = <2>;
#size-cells = <1>;
compatible = "cirrus,ep7209-bus", "simple-bus";
clocks = <&clks CLPS711X_CLK_BUS>;
reg = <0x80000180 0x80>;
ranges = <
0 0 0x00000000 0x10000000
1 0 0x10000000 0x10000000
2 0 0x20000000 0x10000000
3 0 0x30000000 0x10000000
4 0 0x40000000 0x10000000
5 0 0x50000000 0x10000000
6 0 0x60000000 0x0000c000
7 0 0x70000000 0x00000080
>;
};
fb: fb@800002c0 {
compatible = "cirrus,ep7209-fb";
reg = <0x800002c0 0xd44>, <0x60000000 0xc000>;
clocks = <&clks CLPS711X_CLK_BUS>;
status = "disabled";
};
timer1: timer@80000300 {
compatible = "cirrus,ep7209-timer";
reg = <0x80000300 0x4>;
clocks = <&clks CLPS711X_CLK_TIMER1>;
interrupts = <8>;
};
timer2: timer@80000340 {
compatible = "cirrus,ep7209-timer";
reg = <0x80000340 0x4>;
clocks = <&clks CLPS711X_CLK_TIMER2>;
interrupts = <9>;
};
pwm: pwm@80000400 {
compatible = "cirrus,ep7209-pwm";
reg = <0x80000400 0x4>;
clocks = <&clks CLPS711X_CLK_PWM>;
#pwm-cells = <1>;
};
uart1: uart@80000480 {
compatible = "cirrus,ep7209-uart";
reg = <0x80000480 0x80>;
interrupts = <12 13>;
clocks = <&clks CLPS711X_CLK_UART>;
syscon = <&syscon1>;
};
spi: spi@80000500 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "cirrus,ep7209-spi";
reg = <0x80000500 0x4>;
interrupts = <15>;
clocks = <&clks CLPS711X_CLK_SPI>;
status = "disabled";
};
syscon2: syscon@80001100 {
compatible = "cirrus,ep7209-syscon2", "syscon";
reg = <0x80001100 0x80>;
};
uart2: uart@80001480 {
compatible = "cirrus,ep7209-uart";
reg = <0x80001480 0x80>;
interrupts = <28 29>;
clocks = <&clks CLPS711X_CLK_UART>;
syscon = <&syscon2>;
};
dai: dai@80002000 {
#sound-dai-cells = <0>;
compatible = "cirrus,ep7209-dai";
reg = <0x80002000 0x604>;
clocks = <&clks CLPS711X_CLK_PLL>;
clock-names = "pll";
interrupts = <32>;
status = "disabled";
};
syscon3: syscon@80002200 {
compatible = "cirrus,ep7209-syscon3", "syscon";
reg = <0x80002200 0x40>;
};
};
mctrl: mctrl {
compatible = "cirrus,ep7209-mctrl-gpio";
gpio-controller;
#gpio-cells = <2>;
};
};