aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorGanesan Ramalingam <ganesanr@broadcom.com>2015-01-07 06:28:38 -0500
committerRalf Baechle <ralf@linux-mips.org>2015-04-01 11:21:54 -0400
commit94e37fc22a99ce8f4b1995e4ead1c51c27923ae3 (patch)
tree3069b2adad636ebcdd4bcc6696201d5c54fe489d /arch
parent065d7029a83dab2c4d3947c0c8462e5c4ae5a5a6 (diff)
MIPS: Netlogic: Add built-in dts for XLP5xx boards
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/8896/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/mips/boot/dts/netlogic/Makefile1
-rw-r--r--arch/mips/boot/dts/netlogic/xlp_rvp.dts77
-rw-r--r--arch/mips/netlogic/Kconfig9
-rw-r--r--arch/mips/netlogic/xlp/dt.c10
4 files changed, 94 insertions, 3 deletions
diff --git a/arch/mips/boot/dts/netlogic/Makefile b/arch/mips/boot/dts/netlogic/Makefile
index e126cd3171c7..9868057140b5 100644
--- a/arch/mips/boot/dts/netlogic/Makefile
+++ b/arch/mips/boot/dts/netlogic/Makefile
@@ -2,6 +2,7 @@ dtb-$(CONFIG_DT_XLP_EVP) += xlp_evp.dtb
2dtb-$(CONFIG_DT_XLP_SVP) += xlp_svp.dtb 2dtb-$(CONFIG_DT_XLP_SVP) += xlp_svp.dtb
3dtb-$(CONFIG_DT_XLP_FVP) += xlp_fvp.dtb 3dtb-$(CONFIG_DT_XLP_FVP) += xlp_fvp.dtb
4dtb-$(CONFIG_DT_XLP_GVP) += xlp_gvp.dtb 4dtb-$(CONFIG_DT_XLP_GVP) += xlp_gvp.dtb
5dtb-$(CONFIG_DT_XLP_RVP) += xlp_rvp.dtb
5 6
6obj-y += $(patsubst %.dtb, %.dtb.o, $(dtb-y)) 7obj-y += $(patsubst %.dtb, %.dtb.o, $(dtb-y))
7 8
diff --git a/arch/mips/boot/dts/netlogic/xlp_rvp.dts b/arch/mips/boot/dts/netlogic/xlp_rvp.dts
new file mode 100644
index 000000000000..7188aed2ea2e
--- /dev/null
+++ b/arch/mips/boot/dts/netlogic/xlp_rvp.dts
@@ -0,0 +1,77 @@
1/*
2 * XLP5XX Device Tree Source for RVP boards
3 */
4
5/dts-v1/;
6/ {
7 model = "netlogic,XLP-RVP";
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 0x112100 0xa00>;
23 reg-shift = <2>;
24 reg-io-width = <4>;
25 clock-frequency = <125000000>;
26 interrupt-parent = <&pic>;
27 interrupts = <17>;
28 };
29 pic: pic@110000 {
30 compatible = "netlogic,xlp-pic";
31 #address-cells = <0>;
32 #interrupt-cells = <1>;
33 reg = <0 0x110000 0x200>;
34 interrupt-controller;
35 };
36
37 nor_flash@1,0 {
38 compatible = "cfi-flash";
39 #address-cells = <1>;
40 #size-cells = <1>;
41 bank-width = <2>;
42 reg = <1 0 0x1000000>;
43
44 partition@0 {
45 label = "x-loader";
46 reg = <0x0 0x100000>; /* 1M */
47 read-only;
48 };
49
50 partition@100000 {
51 label = "u-boot";
52 reg = <0x100000 0x100000>; /* 1M */
53 };
54
55 partition@200000 {
56 label = "kernel";
57 reg = <0x200000 0x500000>; /* 5M */
58 };
59
60 partition@700000 {
61 label = "rootfs";
62 reg = <0x700000 0x800000>; /* 8M */
63 };
64
65 partition@f00000 {
66 label = "env";
67 reg = <0xf00000 0x100000>; /* 1M */
68 read-only;
69 };
70 };
71
72 };
73
74 chosen {
75 bootargs = "console=ttyS0,115200 rdinit=/sbin/init";
76 };
77};
diff --git a/arch/mips/netlogic/Kconfig b/arch/mips/netlogic/Kconfig
index 0823321c10e0..fb00606e352d 100644
--- a/arch/mips/netlogic/Kconfig
+++ b/arch/mips/netlogic/Kconfig
@@ -41,6 +41,15 @@ config DT_XLP_GVP
41 pointer to the kernel. The corresponding DTS file is at 41 pointer to the kernel. The corresponding DTS file is at
42 arch/mips/netlogic/dts/xlp_gvp.dts 42 arch/mips/netlogic/dts/xlp_gvp.dts
43 43
44config DT_XLP_RVP
45 bool "Built-in device tree for XLP RVP boards"
46 default y
47 help
48 Add an FDT blob for XLP RVP board into the kernel.
49 This DTB will be used if the firmware does not pass in a DTB
50 pointer to the kernel. The corresponding DTS file is at
51 arch/mips/netlogic/dts/xlp_rvp.dts
52
44config NLM_MULTINODE 53config NLM_MULTINODE
45 bool "Support for multi-chip boards" 54 bool "Support for multi-chip boards"
46 depends on NLM_XLP_BOARD 55 depends on NLM_XLP_BOARD
diff --git a/arch/mips/netlogic/xlp/dt.c b/arch/mips/netlogic/xlp/dt.c
index 7cc46032b28e..a625bdb6d6aa 100644
--- a/arch/mips/netlogic/xlp/dt.c
+++ b/arch/mips/netlogic/xlp/dt.c
@@ -41,17 +41,21 @@
41 41
42#include <asm/prom.h> 42#include <asm/prom.h>
43 43
44extern u32 __dtb_xlp_evp_begin[], __dtb_xlp_svp_begin[], 44extern u32 __dtb_xlp_evp_begin[], __dtb_xlp_svp_begin[], __dtb_xlp_fvp_begin[],
45 __dtb_xlp_fvp_begin[], __dtb_xlp_gvp_begin[]; 45 __dtb_xlp_gvp_begin[], __dtb_xlp_rvp_begin[];
46static void *xlp_fdt_blob; 46static void *xlp_fdt_blob;
47 47
48void __init *xlp_dt_init(void *fdtp) 48void __init *xlp_dt_init(void *fdtp)
49{ 49{
50 if (!fdtp) { 50 if (!fdtp) {
51 switch (current_cpu_data.processor_id & PRID_IMP_MASK) { 51 switch (current_cpu_data.processor_id & PRID_IMP_MASK) {
52#ifdef CONFIG_DT_XLP_RVP
53 case PRID_IMP_NETLOGIC_XLP5XX:
54 fdtp = __dtb_xlp_rvp_begin;
55 break;
56#endif
52#ifdef CONFIG_DT_XLP_GVP 57#ifdef CONFIG_DT_XLP_GVP
53 case PRID_IMP_NETLOGIC_XLP9XX: 58 case PRID_IMP_NETLOGIC_XLP9XX:
54 case PRID_IMP_NETLOGIC_XLP5XX:
55 fdtp = __dtb_xlp_gvp_begin; 59 fdtp = __dtb_xlp_gvp_begin;
56 break; 60 break;
57#endif 61#endif