aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/netlogic
diff options
context:
space:
mode:
authorGanesan Ramalingam <ganesanr@broadcom.com>2013-08-11 05:14:00 -0400
committerRalf Baechle <ralf@linux-mips.org>2013-09-03 17:22:20 -0400
commit1cf0e1be813cd9305f47b0a39ea50f1af29e2bc0 (patch)
tree5faf210f1490f76392939ca3d7b25a1c0bb6330f /arch/mips/netlogic
parent9eac3591e78bb1bf09991b791d6602032d9fd11d (diff)
MIPS: Netlogic: Built-in DTB for XLP2xx SoC boards
Add a default built-in device tree for XLP2xx SoC. The new file xlp_fvp.dts has updated entries for I2C and memory. Signed-off-by: Ganesan Ramalingam <ganesanr@broadcom.com> Signed-off-by: Jayachandran C <jchandra@broadcom.com> Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/5705/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/netlogic')
-rw-r--r--arch/mips/netlogic/Kconfig9
-rw-r--r--arch/mips/netlogic/dts/Makefile1
-rw-r--r--arch/mips/netlogic/dts/xlp_fvp.dts118
-rw-r--r--arch/mips/netlogic/xlp/dt.c8
4 files changed, 135 insertions, 1 deletions
diff --git a/arch/mips/netlogic/Kconfig b/arch/mips/netlogic/Kconfig
index 2447bf97d35a..852a4ee09954 100644
--- a/arch/mips/netlogic/Kconfig
+++ b/arch/mips/netlogic/Kconfig
@@ -19,6 +19,15 @@ config DT_XLP_SVP
19 pointer to the kernel. The corresponding DTS file is at 19 pointer to the kernel. The corresponding DTS file is at
20 arch/mips/netlogic/dts/xlp_svp.dts 20 arch/mips/netlogic/dts/xlp_svp.dts
21 21
22config DT_XLP_FVP
23 bool "Built-in device tree for XLP FVP boards"
24 default y
25 help
26 Add an FDT blob for XLP FVP board into the kernel.
27 This DTB will be used if the firmware does not pass in a DTB
28 pointer to the kernel. The corresponding DTS file is at
29 arch/mips/netlogic/dts/xlp_fvp.dts
30
22config NLM_MULTINODE 31config NLM_MULTINODE
23 bool "Support for multi-chip boards" 32 bool "Support for multi-chip boards"
24 depends on NLM_XLP_BOARD 33 depends on NLM_XLP_BOARD
diff --git a/arch/mips/netlogic/dts/Makefile b/arch/mips/netlogic/dts/Makefile
index aecb6fa9a9c3..0b9be5fd2e46 100644
--- a/arch/mips/netlogic/dts/Makefile
+++ b/arch/mips/netlogic/dts/Makefile
@@ -1,2 +1,3 @@
1obj-$(CONFIG_DT_XLP_EVP) := xlp_evp.dtb.o 1obj-$(CONFIG_DT_XLP_EVP) := xlp_evp.dtb.o
2obj-$(CONFIG_DT_XLP_SVP) += xlp_svp.dtb.o 2obj-$(CONFIG_DT_XLP_SVP) += xlp_svp.dtb.o
3obj-$(CONFIG_DT_XLP_FVP) += xlp_fvp.dtb.o
diff --git a/arch/mips/netlogic/dts/xlp_fvp.dts b/arch/mips/netlogic/dts/xlp_fvp.dts
new file mode 100644
index 000000000000..63e62b7bd758
--- /dev/null
+++ b/arch/mips/netlogic/dts/xlp_fvp.dts
@@ -0,0 +1,118 @@
1/*
2 * XLP2XX Device Tree Source for FVP boards
3 */
4
5/dts-v1/;
6/ {
7 model = "netlogic,XLP-FVP";
8 compatible = "netlogic,xlp";
9 #address-cells = <2>;
10 #size-cells = <2>;
11
12 soc {
13 #address-cells = <2>;
14 #size-cells = <1>;
15 compatible = "simple-bus";
16 ranges = <0 0 0 0x18000000 0x04000000 // PCIe CFG
17 1 0 0 0x16000000 0x02000000>; // GBU chipselects
18
19 serial0: serial@30000 {
20 device_type = "serial";
21 compatible = "ns16550";
22 reg = <0 0x30100 0xa00>;
23 reg-shift = <2>;
24 reg-io-width = <4>;
25 clock-frequency = <133333333>;
26 interrupt-parent = <&pic>;
27 interrupts = <17>;
28 };
29 serial1: serial@31000 {
30 device_type = "serial";
31 compatible = "ns16550";
32 reg = <0 0x31100 0xa00>;
33 reg-shift = <2>;
34 reg-io-width = <4>;
35 clock-frequency = <133333333>;
36 interrupt-parent = <&pic>;
37 interrupts = <18>;
38 };
39 i2c0: ocores@37100 {
40 compatible = "opencores,i2c-ocores";
41 #address-cells = <1>;
42 #size-cells = <0>;
43 reg = <0 0x37100 0x20>;
44 reg-shift = <2>;
45 reg-io-width = <4>;
46 clock-frequency = <32000000>;
47 interrupt-parent = <&pic>;
48 interrupts = <30>;
49 };
50 i2c1: ocores@37120 {
51 compatible = "opencores,i2c-ocores";
52 #address-cells = <1>;
53 #size-cells = <0>;
54 reg = <0 0x37120 0x20>;
55 reg-shift = <2>;
56 reg-io-width = <4>;
57 clock-frequency = <32000000>;
58 interrupt-parent = <&pic>;
59 interrupts = <31>;
60
61 rtc@68 {
62 compatible = "dallas,ds1374";
63 reg = <0x68>;
64 };
65
66 dtt@4c {
67 compatible = "national,lm90";
68 reg = <0x4c>;
69 };
70 };
71 pic: pic@4000 {
72 compatible = "netlogic,xlp-pic";
73 #address-cells = <0>;
74 #interrupt-cells = <1>;
75 reg = <0 0x4000 0x200>;
76 interrupt-controller;
77 };
78
79 nor_flash@1,0 {
80 compatible = "cfi-flash";
81 #address-cells = <1>;
82 #size-cells = <1>;
83 bank-width = <2>;
84 reg = <1 0 0x1000000>;
85
86 partition@0 {
87 label = "x-loader";
88 reg = <0x0 0x100000>; /* 1M */
89 read-only;
90 };
91
92 partition@100000 {
93 label = "u-boot";
94 reg = <0x100000 0x100000>; /* 1M */
95 };
96
97 partition@200000 {
98 label = "kernel";
99 reg = <0x200000 0x500000>; /* 5M */
100 };
101
102 partition@700000 {
103 label = "rootfs";
104 reg = <0x700000 0x800000>; /* 8M */
105 };
106
107 partition@f00000 {
108 label = "env";
109 reg = <0xf00000 0x100000>; /* 1M */
110 read-only;
111 };
112 };
113 };
114
115 chosen {
116 bootargs = "console=ttyS0,115200 rdinit=/sbin/init";
117 };
118};
diff --git a/arch/mips/netlogic/xlp/dt.c b/arch/mips/netlogic/xlp/dt.c
index a15cdbb8d0bd..88df445dda76 100644
--- a/arch/mips/netlogic/xlp/dt.c
+++ b/arch/mips/netlogic/xlp/dt.c
@@ -39,12 +39,18 @@
39#include <linux/of_platform.h> 39#include <linux/of_platform.h>
40#include <linux/of_device.h> 40#include <linux/of_device.h>
41 41
42extern u32 __dtb_xlp_evp_begin[], __dtb_xlp_svp_begin[], __dtb_start[]; 42extern u32 __dtb_xlp_evp_begin[], __dtb_xlp_svp_begin[],
43 __dtb_xlp_fvp_begin[], __dtb_start[];
43 44
44void __init *xlp_dt_init(void *fdtp) 45void __init *xlp_dt_init(void *fdtp)
45{ 46{
46 if (!fdtp) { 47 if (!fdtp) {
47 switch (current_cpu_data.processor_id & 0xff00) { 48 switch (current_cpu_data.processor_id & 0xff00) {
49#ifdef CONFIG_DT_XLP_FVP
50 case PRID_IMP_NETLOGIC_XLP2XX:
51 fdtp = __dtb_xlp_fvp_begin;
52 break;
53#endif
48#ifdef CONFIG_DT_XLP_SVP 54#ifdef CONFIG_DT_XLP_SVP
49 case PRID_IMP_NETLOGIC_XLP3XX: 55 case PRID_IMP_NETLOGIC_XLP3XX:
50 fdtp = __dtb_xlp_svp_begin; 56 fdtp = __dtb_xlp_svp_begin;