diff options
author | Ganesan Ramalingam <ganesanr@broadcom.com> | 2013-08-11 05:14:00 -0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2013-09-03 17:22:20 -0400 |
commit | 1cf0e1be813cd9305f47b0a39ea50f1af29e2bc0 (patch) | |
tree | 5faf210f1490f76392939ca3d7b25a1c0bb6330f /arch/mips/netlogic | |
parent | 9eac3591e78bb1bf09991b791d6602032d9fd11d (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/Kconfig | 9 | ||||
-rw-r--r-- | arch/mips/netlogic/dts/Makefile | 1 | ||||
-rw-r--r-- | arch/mips/netlogic/dts/xlp_fvp.dts | 118 | ||||
-rw-r--r-- | arch/mips/netlogic/xlp/dt.c | 8 |
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 | ||
22 | config 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 | |||
22 | config NLM_MULTINODE | 31 | config 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 @@ | |||
1 | obj-$(CONFIG_DT_XLP_EVP) := xlp_evp.dtb.o | 1 | obj-$(CONFIG_DT_XLP_EVP) := xlp_evp.dtb.o |
2 | obj-$(CONFIG_DT_XLP_SVP) += xlp_svp.dtb.o | 2 | obj-$(CONFIG_DT_XLP_SVP) += xlp_svp.dtb.o |
3 | obj-$(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 | ||
42 | extern u32 __dtb_xlp_evp_begin[], __dtb_xlp_svp_begin[], __dtb_start[]; | 42 | extern u32 __dtb_xlp_evp_begin[], __dtb_xlp_svp_begin[], |
43 | __dtb_xlp_fvp_begin[], __dtb_start[]; | ||
43 | 44 | ||
44 | void __init *xlp_dt_init(void *fdtp) | 45 | void __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; |