156a0eccdSChanho Min/*
256a0eccdSChanho Min * dts file for lg1312 SoC
356a0eccdSChanho Min *
456a0eccdSChanho Min * Copyright (C) 2016, LG Electronics
556a0eccdSChanho Min */
656a0eccdSChanho Min
756a0eccdSChanho Min#include <dt-bindings/gpio/gpio.h>
856a0eccdSChanho Min#include <dt-bindings/interrupt-controller/arm-gic.h>
956a0eccdSChanho Min
1056a0eccdSChanho Min/ {
1156a0eccdSChanho Min	#address-cells = <2>;
1256a0eccdSChanho Min	#size-cells = <2>;
1356a0eccdSChanho Min
1456a0eccdSChanho Min	compatible = "lge,lg1312";
1556a0eccdSChanho Min	interrupt-parent = <&gic>;
1656a0eccdSChanho Min
1756a0eccdSChanho Min	cpus {
1856a0eccdSChanho Min		#address-cells = <2>;
1956a0eccdSChanho Min		#size-cells = <0>;
2056a0eccdSChanho Min
2156a0eccdSChanho Min		cpu0: cpu@0 {
2256a0eccdSChanho Min			device_type = "cpu";
2356a0eccdSChanho Min			compatible = "arm,cortex-a53", "arm,armv8";
2456a0eccdSChanho Min			reg = <0x0 0x0>;
2556a0eccdSChanho Min			next-level-cache = <&L2_0>;
2656a0eccdSChanho Min		};
2756a0eccdSChanho Min		cpu1: cpu@1 {
2856a0eccdSChanho Min			device_type = "cpu";
2956a0eccdSChanho Min			compatible = "arm,cortex-a53", "arm,armv8";
3056a0eccdSChanho Min			reg = <0x0 0x1>;
3156a0eccdSChanho Min			enable-method = "psci";
3256a0eccdSChanho Min			next-level-cache = <&L2_0>;
3356a0eccdSChanho Min		};
3456a0eccdSChanho Min		cpu2: cpu@2 {
3556a0eccdSChanho Min			device_type = "cpu";
3656a0eccdSChanho Min			compatible = "arm,cortex-a53", "arm,armv8";
3756a0eccdSChanho Min			reg = <0x0 0x2>;
3856a0eccdSChanho Min			enable-method = "psci";
3956a0eccdSChanho Min			next-level-cache = <&L2_0>;
4056a0eccdSChanho Min		};
4156a0eccdSChanho Min		cpu3: cpu@3 {
4256a0eccdSChanho Min			device_type = "cpu";
4356a0eccdSChanho Min			compatible = "arm,cortex-a53", "arm,armv8";
4456a0eccdSChanho Min			reg = <0x0 0x3>;
4556a0eccdSChanho Min			enable-method = "psci";
4656a0eccdSChanho Min			next-level-cache = <&L2_0>;
4756a0eccdSChanho Min		};
4856a0eccdSChanho Min		L2_0: l2-cache0 {
4956a0eccdSChanho Min			compatible = "cache";
5056a0eccdSChanho Min		};
5156a0eccdSChanho Min	};
5256a0eccdSChanho Min
5356a0eccdSChanho Min	psci {
5456a0eccdSChanho Min		compatible  = "arm,psci-0.2", "arm,psci";
5556a0eccdSChanho Min		method = "smc";
5656a0eccdSChanho Min		cpu_suspend = <0x84000001>;
5756a0eccdSChanho Min		cpu_off = <0x84000002>;
5856a0eccdSChanho Min		cpu_on = <0x84000003>;
5956a0eccdSChanho Min	};
6056a0eccdSChanho Min
6156a0eccdSChanho Min	gic: interrupt-controller@c0001000 {
6256a0eccdSChanho Min		#interrupt-cells = <3>;
6356a0eccdSChanho Min		compatible = "arm,gic-400";
6456a0eccdSChanho Min		interrupt-controller;
6556a0eccdSChanho Min		reg = <0x0 0xc0001000 0x1000>,
6656a0eccdSChanho Min		      <0x0 0xc0002000 0x2000>,
6756a0eccdSChanho Min		      <0x0 0xc0004000 0x2000>,
6856a0eccdSChanho Min		      <0x0 0xc0006000 0x2000>;
6956a0eccdSChanho Min	};
7056a0eccdSChanho Min
7156a0eccdSChanho Min	pmu {
7256a0eccdSChanho Min		compatible = "arm,cortex-a53-pmu";
7356a0eccdSChanho Min		interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
7456a0eccdSChanho Min			     <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>,
7556a0eccdSChanho Min			     <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>,
7656a0eccdSChanho Min			     <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>;
7756a0eccdSChanho Min		interrupt-affinity = <&cpu0>,
7856a0eccdSChanho Min				     <&cpu1>,
7956a0eccdSChanho Min				     <&cpu2>,
8056a0eccdSChanho Min				     <&cpu3>;
8156a0eccdSChanho Min	};
8256a0eccdSChanho Min
8356a0eccdSChanho Min	timer {
8456a0eccdSChanho Min		compatible = "arm,armv8-timer";
8556a0eccdSChanho Min		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_RAW(0x0f) |
8656a0eccdSChanho Min			      IRQ_TYPE_LEVEL_LOW)>,
8756a0eccdSChanho Min			     <GIC_PPI 14 (GIC_CPU_MASK_RAW(0x0f) |
8856a0eccdSChanho Min			      IRQ_TYPE_LEVEL_LOW)>,
8956a0eccdSChanho Min			     <GIC_PPI 11 (GIC_CPU_MASK_RAW(0x0f) |
9056a0eccdSChanho Min			      IRQ_TYPE_LEVEL_LOW)>,
9156a0eccdSChanho Min			     <GIC_PPI 10 (GIC_CPU_MASK_RAW(0x0f) |
9256a0eccdSChanho Min			      IRQ_TYPE_LEVEL_LOW)>;
9356a0eccdSChanho Min	};
9456a0eccdSChanho Min
9556a0eccdSChanho Min	clk_bus: clk_bus {
9656a0eccdSChanho Min		#clock-cells = <0>;
9756a0eccdSChanho Min
9856a0eccdSChanho Min		compatible = "fixed-clock";
9956a0eccdSChanho Min		clock-frequency = <198000000>;
10056a0eccdSChanho Min		clock-output-names = "BUSCLK";
10156a0eccdSChanho Min	};
10256a0eccdSChanho Min
10356a0eccdSChanho Min	soc {
10456a0eccdSChanho Min		#address-cells = <2>;
10556a0eccdSChanho Min		#size-cells = <1>;
10656a0eccdSChanho Min
10756a0eccdSChanho Min		compatible = "simple-bus";
10856a0eccdSChanho Min		interrupt-parent = <&gic>;
10956a0eccdSChanho Min		ranges;
11056a0eccdSChanho Min
11156a0eccdSChanho Min		eth0: ethernet@c1b00000 {
11256a0eccdSChanho Min			compatible = "cdns,gem";
11356a0eccdSChanho Min			reg = <0x0 0xc1b00000 0x1000>;
11456a0eccdSChanho Min			interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
11556a0eccdSChanho Min			clocks = <&clk_bus>, <&clk_bus>;
11656a0eccdSChanho Min			clock-names = "hclk", "pclk";
11756a0eccdSChanho Min			phy-mode = "rmii";
11856a0eccdSChanho Min			/* Filled in by boot */
11956a0eccdSChanho Min			mac-address = [ 00 00 00 00 00 00 ];
12056a0eccdSChanho Min		};
12156a0eccdSChanho Min	};
12256a0eccdSChanho Min
12356a0eccdSChanho Min	amba {
12456a0eccdSChanho Min		#address-cells = <2>;
12556a0eccdSChanho Min		#size-cells = <1>;
12656a0eccdSChanho Min		#interrupts-cells = <3>;
12756a0eccdSChanho Min
12856a0eccdSChanho Min		compatible = "arm,amba-bus";
12956a0eccdSChanho Min		interrupt-parent = <&gic>;
13056a0eccdSChanho Min		ranges;
13156a0eccdSChanho Min
13256a0eccdSChanho Min		timers: timer@fd100000 {
13356a0eccdSChanho Min			compatible = "arm,sp804";
13456a0eccdSChanho Min			reg = <0x0 0xfd100000 0x1000>;
13556a0eccdSChanho Min			interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
13656a0eccdSChanho Min			clocks = <&clk_bus>;
13756a0eccdSChanho Min			clock-names = "apb_pclk";
13856a0eccdSChanho Min		};
13956a0eccdSChanho Min		wdog: watchdog@fd200000 {
14056a0eccdSChanho Min			compatible = "arm,sp805", "arm,primecell";
14156a0eccdSChanho Min			reg = <0x0 0xfd200000 0x1000>;
14256a0eccdSChanho Min			interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
14356a0eccdSChanho Min			clocks = <&clk_bus>;
14456a0eccdSChanho Min			clock-names = "apb_pclk";
14556a0eccdSChanho Min		};
14656a0eccdSChanho Min		uart0: serial@fe000000 {
14756a0eccdSChanho Min			compatible = "arm,pl011", "arm,primecell";
14856a0eccdSChanho Min			reg = <0x0 0xfe000000 0x1000>;
14956a0eccdSChanho Min			interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
15056a0eccdSChanho Min			clocks = <&clk_bus>;
15156a0eccdSChanho Min			clock-names = "apb_pclk";
15256a0eccdSChanho Min			status="disabled";
15356a0eccdSChanho Min		};
15456a0eccdSChanho Min		uart1: serial@fe100000 {
15556a0eccdSChanho Min			compatible = "arm,pl011", "arm,primecell";
15656a0eccdSChanho Min			reg = <0x0 0xfe100000 0x1000>;
15756a0eccdSChanho Min			interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
15856a0eccdSChanho Min			clocks = <&clk_bus>;
15956a0eccdSChanho Min			clock-names = "apb_pclk";
16056a0eccdSChanho Min			status="disabled";
16156a0eccdSChanho Min		};
16256a0eccdSChanho Min		uart2: serial@fe200000 {
16356a0eccdSChanho Min			compatible = "arm,pl011", "arm,primecell";
16456a0eccdSChanho Min			reg = <0x0 0xfe200000 0x1000>;
16556a0eccdSChanho Min			interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
16656a0eccdSChanho Min			clocks = <&clk_bus>;
16756a0eccdSChanho Min			clock-names = "apb_pclk";
16856a0eccdSChanho Min			status="disabled";
16956a0eccdSChanho Min		};
17056a0eccdSChanho Min		spi0: ssp@fe800000 {
17156a0eccdSChanho Min			compatible = "arm,pl022", "arm,primecell";
17256a0eccdSChanho Min			reg = <0x0 0xfe800000 0x1000>;
17356a0eccdSChanho Min			interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
17456a0eccdSChanho Min			clocks = <&clk_bus>;
17556a0eccdSChanho Min			clock-names = "apb_pclk";
17656a0eccdSChanho Min		};
17756a0eccdSChanho Min		spi1: ssp@fe900000 {
17856a0eccdSChanho Min			compatible = "arm,pl022", "arm,primecell";
17956a0eccdSChanho Min			reg = <0x0 0xfe900000 0x1000>;
18056a0eccdSChanho Min			interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
18156a0eccdSChanho Min			clocks = <&clk_bus>;
18256a0eccdSChanho Min			clock-names = "apb_pclk";
18356a0eccdSChanho Min		};
18456a0eccdSChanho Min		dmac0: dma@c1128000 {
18556a0eccdSChanho Min			compatible = "arm,pl330", "arm,primecell";
18656a0eccdSChanho Min			reg = <0x0 0xc1128000 0x1000>;
18756a0eccdSChanho Min			interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
18856a0eccdSChanho Min			clocks = <&clk_bus>;
18956a0eccdSChanho Min			clock-names = "apb_pclk";
19056a0eccdSChanho Min		};
19156a0eccdSChanho Min		gpio0: gpio@fd400000 {
19256a0eccdSChanho Min			#gpio-cells = <2>;
19356a0eccdSChanho Min			compatible = "arm,pl061", "arm,primecell";
19456a0eccdSChanho Min			gpio-controller;
19556a0eccdSChanho Min			reg = <0x0 0xfd400000 0x1000>;
19656a0eccdSChanho Min			clocks = <&clk_bus>;
19756a0eccdSChanho Min			clock-names = "apb_pclk";
19856a0eccdSChanho Min			status="disabled";
19956a0eccdSChanho Min		};
20056a0eccdSChanho Min		gpio1: gpio@fd410000 {
20156a0eccdSChanho Min			#gpio-cells = <2>;
20256a0eccdSChanho Min			compatible = "arm,pl061", "arm,primecell";
20356a0eccdSChanho Min			gpio-controller;
20456a0eccdSChanho Min			reg = <0x0 0xfd410000 0x1000>;
20556a0eccdSChanho Min			clocks = <&clk_bus>;
20656a0eccdSChanho Min			clock-names = "apb_pclk";
20756a0eccdSChanho Min			status="disabled";
20856a0eccdSChanho Min		};
20956a0eccdSChanho Min		gpio2: gpio@fd420000 {
21056a0eccdSChanho Min			#gpio-cells = <2>;
21156a0eccdSChanho Min			compatible = "arm,pl061", "arm,primecell";
21256a0eccdSChanho Min			gpio-controller;
21356a0eccdSChanho Min			reg = <0x0 0xfd420000 0x1000>;
21456a0eccdSChanho Min			clocks = <&clk_bus>;
21556a0eccdSChanho Min			clock-names = "apb_pclk";
21656a0eccdSChanho Min			status="disabled";
21756a0eccdSChanho Min		};
21856a0eccdSChanho Min		gpio3: gpio@fd430000 {
21956a0eccdSChanho Min			#gpio-cells = <2>;
22056a0eccdSChanho Min			compatible = "arm,pl061", "arm,primecell";
22156a0eccdSChanho Min			gpio-controller;
22256a0eccdSChanho Min			reg = <0x0 0xfd430000 0x1000>;
22356a0eccdSChanho Min			clocks = <&clk_bus>;
22456a0eccdSChanho Min			clock-names = "apb_pclk";
22556a0eccdSChanho Min		};
22656a0eccdSChanho Min		gpio4: gpio@fd440000 {
22756a0eccdSChanho Min			#gpio-cells = <2>;
22856a0eccdSChanho Min			compatible = "arm,pl061", "arm,primecell";
22956a0eccdSChanho Min			gpio-controller;
23056a0eccdSChanho Min			reg = <0x0 0xfd440000 0x1000>;
23156a0eccdSChanho Min			clocks = <&clk_bus>;
23256a0eccdSChanho Min			clock-names = "apb_pclk";
23356a0eccdSChanho Min			status="disabled";
23456a0eccdSChanho Min		};
23556a0eccdSChanho Min		gpio5: gpio@fd450000 {
23656a0eccdSChanho Min			#gpio-cells = <2>;
23756a0eccdSChanho Min			compatible = "arm,pl061", "arm,primecell";
23856a0eccdSChanho Min			gpio-controller;
23956a0eccdSChanho Min			reg = <0x0 0xfd450000 0x1000>;
24056a0eccdSChanho Min			clocks = <&clk_bus>;
24156a0eccdSChanho Min			clock-names = "apb_pclk";
24256a0eccdSChanho Min			status="disabled";
24356a0eccdSChanho Min		};
24456a0eccdSChanho Min		gpio6: gpio@fd460000 {
24556a0eccdSChanho Min			#gpio-cells = <2>;
24656a0eccdSChanho Min			compatible = "arm,pl061", "arm,primecell";
24756a0eccdSChanho Min			gpio-controller;
24856a0eccdSChanho Min			reg = <0x0 0xfd460000 0x1000>;
24956a0eccdSChanho Min			clocks = <&clk_bus>;
25056a0eccdSChanho Min			clock-names = "apb_pclk";
25156a0eccdSChanho Min			status="disabled";
25256a0eccdSChanho Min		};
25356a0eccdSChanho Min		gpio7: gpio@fd470000 {
25456a0eccdSChanho Min			#gpio-cells = <2>;
25556a0eccdSChanho Min			compatible = "arm,pl061", "arm,primecell";
25656a0eccdSChanho Min			gpio-controller;
25756a0eccdSChanho Min			reg = <0x0 0xfd470000 0x1000>;
25856a0eccdSChanho Min			clocks = <&clk_bus>;
25956a0eccdSChanho Min			clock-names = "apb_pclk";
26056a0eccdSChanho Min			status="disabled";
26156a0eccdSChanho Min		};
26256a0eccdSChanho Min		gpio8: gpio@fd480000 {
26356a0eccdSChanho Min			#gpio-cells = <2>;
26456a0eccdSChanho Min			compatible = "arm,pl061", "arm,primecell";
26556a0eccdSChanho Min			gpio-controller;
26656a0eccdSChanho Min			reg = <0x0 0xfd480000 0x1000>;
26756a0eccdSChanho Min			clocks = <&clk_bus>;
26856a0eccdSChanho Min			clock-names = "apb_pclk";
26956a0eccdSChanho Min			status="disabled";
27056a0eccdSChanho Min		};
27156a0eccdSChanho Min		gpio9: gpio@fd490000 {
27256a0eccdSChanho Min			#gpio-cells = <2>;
27356a0eccdSChanho Min			compatible = "arm,pl061", "arm,primecell";
27456a0eccdSChanho Min			gpio-controller;
27556a0eccdSChanho Min			reg = <0x0 0xfd490000 0x1000>;
27656a0eccdSChanho Min			clocks = <&clk_bus>;
27756a0eccdSChanho Min			clock-names = "apb_pclk";
27856a0eccdSChanho Min			status="disabled";
27956a0eccdSChanho Min		};
28056a0eccdSChanho Min		gpio10: gpio@fd4a0000 {
28156a0eccdSChanho Min			#gpio-cells = <2>;
28256a0eccdSChanho Min			compatible = "arm,pl061", "arm,primecell";
28356a0eccdSChanho Min			gpio-controller;
28456a0eccdSChanho Min			reg = <0x0 0xfd4a0000 0x1000>;
28556a0eccdSChanho Min			clocks = <&clk_bus>;
28656a0eccdSChanho Min			clock-names = "apb_pclk";
28756a0eccdSChanho Min			status="disabled";
28856a0eccdSChanho Min		};
28956a0eccdSChanho Min		gpio11: gpio@fd4b0000 {
29056a0eccdSChanho Min			#gpio-cells = <2>;
29156a0eccdSChanho Min			compatible = "arm,pl061", "arm,primecell";
29256a0eccdSChanho Min			gpio-controller;
29356a0eccdSChanho Min			reg = <0x0 0xfd4b0000 0x1000>;
29456a0eccdSChanho Min			clocks = <&clk_bus>;
29556a0eccdSChanho Min			clock-names = "apb_pclk";
29656a0eccdSChanho Min		};
29756a0eccdSChanho Min		gpio12: gpio@fd4c0000 {
29856a0eccdSChanho Min			#gpio-cells = <2>;
29956a0eccdSChanho Min			compatible = "arm,pl061", "arm,primecell";
30056a0eccdSChanho Min			gpio-controller;
30156a0eccdSChanho Min			reg = <0x0 0xfd4c0000 0x1000>;
30256a0eccdSChanho Min			clocks = <&clk_bus>;
30356a0eccdSChanho Min			clock-names = "apb_pclk";
30456a0eccdSChanho Min			status="disabled";
30556a0eccdSChanho Min		};
30656a0eccdSChanho Min		gpio13: gpio@fd4d0000 {
30756a0eccdSChanho Min			#gpio-cells = <2>;
30856a0eccdSChanho Min			compatible = "arm,pl061", "arm,primecell";
30956a0eccdSChanho Min			gpio-controller;
31056a0eccdSChanho Min			reg = <0x0 0xfd4d0000 0x1000>;
31156a0eccdSChanho Min			clocks = <&clk_bus>;
31256a0eccdSChanho Min			clock-names = "apb_pclk";
31356a0eccdSChanho Min			status="disabled";
31456a0eccdSChanho Min		};
31556a0eccdSChanho Min		gpio14: gpio@fd4e0000 {
31656a0eccdSChanho Min			#gpio-cells = <2>;
31756a0eccdSChanho Min			compatible = "arm,pl061", "arm,primecell";
31856a0eccdSChanho Min			gpio-controller;
31956a0eccdSChanho Min			reg = <0x0 0xfd4e0000 0x1000>;
32056a0eccdSChanho Min			clocks = <&clk_bus>;
32156a0eccdSChanho Min			clock-names = "apb_pclk";
32256a0eccdSChanho Min			status="disabled";
32356a0eccdSChanho Min		};
32456a0eccdSChanho Min		gpio15: gpio@fd4f0000 {
32556a0eccdSChanho Min			#gpio-cells = <2>;
32656a0eccdSChanho Min			compatible = "arm,pl061", "arm,primecell";
32756a0eccdSChanho Min			gpio-controller;
32856a0eccdSChanho Min			reg = <0x0 0xfd4f0000 0x1000>;
32956a0eccdSChanho Min			clocks = <&clk_bus>;
33056a0eccdSChanho Min			clock-names = "apb_pclk";
33156a0eccdSChanho Min			status="disabled";
33256a0eccdSChanho Min		};
33356a0eccdSChanho Min		gpio16: gpio@fd500000 {
33456a0eccdSChanho Min			#gpio-cells = <2>;
33556a0eccdSChanho Min			compatible = "arm,pl061", "arm,primecell";
33656a0eccdSChanho Min			gpio-controller;
33756a0eccdSChanho Min			reg = <0x0 0xfd500000 0x1000>;
33856a0eccdSChanho Min			clocks = <&clk_bus>;
33956a0eccdSChanho Min			clock-names = "apb_pclk";
34056a0eccdSChanho Min			status="disabled";
34156a0eccdSChanho Min		};
34256a0eccdSChanho Min		gpio17: gpio@fd510000 {
34356a0eccdSChanho Min			#gpio-cells = <2>;
34456a0eccdSChanho Min			compatible = "arm,pl061", "arm,primecell";
34556a0eccdSChanho Min			gpio-controller;
34656a0eccdSChanho Min			reg = <0x0 0xfd510000 0x1000>;
34756a0eccdSChanho Min			clocks = <&clk_bus>;
34856a0eccdSChanho Min			clock-names = "apb_pclk";
34956a0eccdSChanho Min		};
35056a0eccdSChanho Min	};
35156a0eccdSChanho Min};
352