0001 // SPDX-License-Identifier: GPL-2.0-or-later
0002
0003 /dts-v1/;
0004
0005 #include <dt-bindings/clock/clps711x-clock.h>
0006
0007 / {
0008 #address-cells = <1>;
0009 #size-cells = <1>;
0010 model = "Cirrus Logic EP7209";
0011 compatible = "cirrus,ep7209";
0012
0013 chosen { };
0014
0015 aliases {
0016 gpio0 = &porta;
0017 gpio1 = &portb;
0018 gpio3 = &portd;
0019 gpio4 = &porte;
0020 serial0 = &uart1;
0021 serial1 = &uart2;
0022 spi0 = &spi;
0023 timer0 = &timer1;
0024 timer1 = &timer2;
0025 };
0026
0027 cpus {
0028 #address-cells = <0>;
0029 #size-cells = <0>;
0030
0031 cpu {
0032 device_type = "cpu";
0033 compatible = "arm,arm720t";
0034 };
0035 };
0036
0037 soc {
0038 #address-cells = <1>;
0039 #size-cells = <1>;
0040 compatible = "simple-bus";
0041 interrupt-parent = <&intc>;
0042 ranges;
0043
0044 clks: clks@80000000 {
0045 #clock-cells = <1>;
0046 compatible = "cirrus,ep7209-clk";
0047 reg = <0x80000000 0xc000>;
0048 startup-frequency = <73728000>;
0049 };
0050
0051 intc: intc@80000000 {
0052 compatible = "cirrus,ep7209-intc";
0053 reg = <0x80000000 0x4000>;
0054 interrupt-controller;
0055 #interrupt-cells = <1>;
0056 };
0057
0058 porta: gpio@80000000 {
0059 compatible = "cirrus,ep7209-gpio";
0060 reg = <0x80000000 0x1 0x80000040 0x1>;
0061 gpio-controller;
0062 #gpio-cells = <2>;
0063 };
0064
0065 portb: gpio@80000001 {
0066 compatible = "cirrus,ep7209-gpio";
0067 reg = <0x80000001 0x1 0x80000041 0x1>;
0068 gpio-controller;
0069 #gpio-cells = <2>;
0070 };
0071
0072 portd: gpio@80000003 {
0073 compatible = "cirrus,ep7209-gpio";
0074 reg = <0x80000003 0x1 0x80000043 0x1>;
0075 gpio-controller;
0076 #gpio-cells = <2>;
0077 };
0078
0079 porte: gpio@80000083 {
0080 compatible = "cirrus,ep7209-gpio";
0081 reg = <0x80000083 0x1 0x800000c3 0x1>;
0082 gpio-controller;
0083 #gpio-cells = <2>;
0084 };
0085
0086 syscon1: syscon@80000100 {
0087 compatible = "cirrus,ep7209-syscon1", "syscon";
0088 reg = <0x80000100 0x80>;
0089 };
0090
0091 bus: bus@80000180 {
0092 #address-cells = <2>;
0093 #size-cells = <1>;
0094 compatible = "cirrus,ep7209-bus", "simple-bus";
0095 clocks = <&clks CLPS711X_CLK_BUS>;
0096 reg = <0x80000180 0x80>;
0097 ranges = <
0098 0 0 0x00000000 0x10000000
0099 1 0 0x10000000 0x10000000
0100 2 0 0x20000000 0x10000000
0101 3 0 0x30000000 0x10000000
0102 4 0 0x40000000 0x10000000
0103 5 0 0x50000000 0x10000000
0104 6 0 0x60000000 0x0000c000
0105 7 0 0x70000000 0x00000080
0106 >;
0107 };
0108
0109 fb: fb@800002c0 {
0110 compatible = "cirrus,ep7209-fb";
0111 reg = <0x800002c0 0xd44>, <0x60000000 0xc000>;
0112 clocks = <&clks CLPS711X_CLK_BUS>;
0113 syscon = <&syscon1>;
0114 status = "disabled";
0115 };
0116
0117 timer1: timer@80000300 {
0118 compatible = "cirrus,ep7209-timer";
0119 reg = <0x80000300 0x4>;
0120 clocks = <&clks CLPS711X_CLK_TIMER1>;
0121 interrupts = <8>;
0122 };
0123
0124 timer2: timer@80000340 {
0125 compatible = "cirrus,ep7209-timer";
0126 reg = <0x80000340 0x4>;
0127 clocks = <&clks CLPS711X_CLK_TIMER2>;
0128 interrupts = <9>;
0129 };
0130
0131 pwm: pwm@80000400 {
0132 compatible = "cirrus,ep7209-pwm";
0133 reg = <0x80000400 0x4>;
0134 clocks = <&clks CLPS711X_CLK_PWM>;
0135 #pwm-cells = <1>;
0136 };
0137
0138 uart1: serial@80000480 {
0139 compatible = "cirrus,ep7209-uart";
0140 reg = <0x80000480 0x80>;
0141 interrupts = <12 13>;
0142 clocks = <&clks CLPS711X_CLK_UART>;
0143 syscon = <&syscon1>;
0144 };
0145
0146 spi: spi@80000500 {
0147 #address-cells = <1>;
0148 #size-cells = <0>;
0149 compatible = "cirrus,ep7209-spi";
0150 reg = <0x80000500 0x4>;
0151 interrupts = <15>;
0152 clocks = <&clks CLPS711X_CLK_SPI>;
0153 syscon = <&syscon3>;
0154 status = "disabled";
0155 };
0156
0157 syscon2: syscon@80001100 {
0158 compatible = "cirrus,ep7209-syscon2", "syscon";
0159 reg = <0x80001100 0x80>;
0160 };
0161
0162 uart2: serial@80001480 {
0163 compatible = "cirrus,ep7209-uart";
0164 reg = <0x80001480 0x80>;
0165 interrupts = <28 29>;
0166 clocks = <&clks CLPS711X_CLK_UART>;
0167 syscon = <&syscon2>;
0168 };
0169
0170 dai: dai@80002000 {
0171 #sound-dai-cells = <0>;
0172 compatible = "cirrus,ep7209-dai";
0173 reg = <0x80002000 0x604>;
0174 clocks = <&clks CLPS711X_CLK_PLL>;
0175 clock-names = "pll";
0176 interrupts = <32>;
0177 syscon = <&syscon3>;
0178 status = "disabled";
0179 };
0180
0181 syscon3: syscon@80002200 {
0182 compatible = "cirrus,ep7209-syscon3", "syscon";
0183 reg = <0x80002200 0x40>;
0184 };
0185 };
0186
0187 keypad: keypad {
0188 compatible = "cirrus,ep7209-keypad";
0189 interrupt-parent = <&intc>;
0190 interrupts = <16>;
0191 syscon = <&syscon1>;
0192 status = "disabled";
0193 };
0194
0195 mctrl: mctrl {
0196 compatible = "cirrus,ep7209-mctrl-gpio";
0197 gpio,syscon-dev = <&syscon1 0 0>;
0198 gpio-controller;
0199 #gpio-cells = <2>;
0200 };
0201 };