bcm63138.dtsi revision 284090
1/*
2 * Broadcom BCM63138 DSL SoCs Device Tree
3 */
4
5#include <dt-bindings/interrupt-controller/arm-gic.h>
6#include <dt-bindings/interrupt-controller/irq.h>
7
8#include "skeleton.dtsi"
9
10/ {
11	compatible = "brcm,bcm63138";
12	model = "Broadcom BCM63138 DSL SoC";
13	interrupt-parent = <&gic>;
14
15	aliases {
16		uart0 = &serial0;
17		uart1 = &serial1;
18	};
19
20	cpus {
21		#address-cells = <1>;
22		#size-cells = <0>;
23
24		cpu@0 {
25			device_type = "cpu";
26			compatible = "arm,cortex-a9";
27			next-level-cache = <&L2>;
28			reg = <0>;
29		};
30
31		cpu@1 {
32			device_type = "cpu";
33			compatible = "arm,cortex-a9";
34			next-level-cache = <&L2>;
35			reg = <1>;
36		};
37	};
38
39	clocks {
40		#address-cells = <1>;
41		#size-cells = <0>;
42
43		arm_timer_clk: arm_timer_clk {
44			#clock-cells = <0>;
45			compatible = "fixed-clock";
46			clock-frequency = <500000000>;
47		};
48
49		periph_clk: periph_clk {
50			#clock-cells = <0>;
51			compatible = "fixed-clock";
52			clock-frequency = <50000000>;
53			clock-output-names = "periph";
54		};
55	};
56
57	/* ARM bus */
58	axi@80000000 {
59		compatible = "simple-bus";
60		ranges = <0 0x80000000 0x784000>;
61		#address-cells = <1>;
62		#size-cells = <1>;
63
64		L2: cache-controller@1d000 {
65			compatible = "arm,pl310-cache";
66			reg = <0x1d000 0x1000>;
67			cache-unified;
68			cache-level = <2>;
69			cache-size = <524288>;
70			cache-sets = <1024>;
71			cache-line-size = <32>;
72			interrupts = <GIC_PPI 0 IRQ_TYPE_LEVEL_HIGH>;
73		};
74
75		scu: scu@1e000 {
76			compatible = "arm,cortex-a9-scu";
77			reg = <0x1e000 0x100>;
78		};
79
80		gic: interrupt-controller@1e100 {
81			compatible = "arm,cortex-a9-gic";
82			reg = <0x1f000 0x1000
83				0x1e100 0x100>;
84			#interrupt-cells = <3>;
85			#address-cells = <0>;
86			interrupt-controller;
87		};
88
89		global_timer: timer@1e200 {
90			compatible = "arm,cortex-a9-global-timer";
91			reg = <0x1e200 0x20>;
92			interrupts = <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH>;
93			clocks = <&arm_timer_clk>;
94		};
95
96		local_timer: local-timer@1e600 {
97			compatible = "arm,cortex-a9-twd-timer";
98			reg = <0x1e600 0x20>;
99			interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_HIGH>;
100			clocks = <&arm_timer_clk>;
101		};
102
103		twd_watchdog: watchdog@1e620 {
104			compatible = "arm,cortex-a9-twd-wdt";
105			reg = <0x1e620 0x20>;
106			interrupts = <GIC_PPI 14 IRQ_TYPE_LEVEL_HIGH>;
107		};
108	};
109
110	/* Legacy UBUS base */
111	ubus@fffe8000 {
112		compatible = "simple-bus";
113		#address-cells = <1>;
114		#size-cells = <1>;
115		ranges = <0 0xfffe8000 0x8100>;
116
117		serial0: serial@600 {
118			compatible = "brcm,bcm6345-uart";
119			reg = <0x600 0x1b>;
120			interrupts = <GIC_SPI 32 0>;
121			clocks = <&periph_clk>;
122			clock-names = "periph";
123			status = "disabled";
124		};
125
126		serial1: serial@620 {
127			compatible = "brcm,bcm6345-uart";
128			reg = <0x620 0x1b>;
129			interrupts = <GIC_SPI 33 0>;
130			clocks = <&periph_clk>;
131			clock-names = "periph";
132			status = "disabled";
133		};
134	};
135};
136