MIPS: Netlogic: Add built-in dts for XLP5xx boards
authorGanesan Ramalingam <ganesanr@broadcom.com>
Wed, 7 Jan 2015 11:28:38 +0000 (16:58 +0530)
committerRalf Baechle <ralf@linux-mips.org>
Wed, 1 Apr 2015 15:21:54 +0000 (17:21 +0200)
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>
arch/mips/boot/dts/netlogic/Makefile
arch/mips/boot/dts/netlogic/xlp_rvp.dts [new file with mode: 0644]
arch/mips/netlogic/Kconfig
arch/mips/netlogic/xlp/dt.c

index e126cd3171c7ebed22ca11316d1eacf522c7650f..9868057140b536c0b93d203891e2b2a861aad249 100644 (file)
@@ -2,6 +2,7 @@ dtb-$(CONFIG_DT_XLP_EVP)        += xlp_evp.dtb
 dtb-$(CONFIG_DT_XLP_SVP)       += xlp_svp.dtb
 dtb-$(CONFIG_DT_XLP_FVP)       += xlp_fvp.dtb
 dtb-$(CONFIG_DT_XLP_GVP)       += xlp_gvp.dtb
+dtb-$(CONFIG_DT_XLP_RVP)       += xlp_rvp.dtb
 
 obj-y                          += $(patsubst %.dtb, %.dtb.o, $(dtb-y))
 
diff --git a/arch/mips/boot/dts/netlogic/xlp_rvp.dts b/arch/mips/boot/dts/netlogic/xlp_rvp.dts
new file mode 100644 (file)
index 0000000..7188aed
--- /dev/null
@@ -0,0 +1,77 @@
+/*
+ * XLP5XX Device Tree Source for RVP boards
+ */
+
+/dts-v1/;
+/ {
+       model = "netlogic,XLP-RVP";
+       compatible = "netlogic,xlp";
+       #address-cells = <2>;
+       #size-cells = <2>;
+
+       soc {
+               #address-cells = <2>;
+               #size-cells = <1>;
+               compatible = "simple-bus";
+               ranges = <0 0  0 0x18000000  0x04000000   // PCIe CFG
+                         1 0  0 0x16000000  0x02000000>; // GBU chipselects
+
+               serial0: serial@30000 {
+                       device_type = "serial";
+                       compatible = "ns16550";
+                       reg = <0 0x112100 0xa00>;
+                       reg-shift = <2>;
+                       reg-io-width = <4>;
+                       clock-frequency = <125000000>;
+                       interrupt-parent = <&pic>;
+                       interrupts = <17>;
+               };
+               pic: pic@110000 {
+                       compatible = "netlogic,xlp-pic";
+                       #address-cells = <0>;
+                       #interrupt-cells = <1>;
+                       reg = <0 0x110000 0x200>;
+                       interrupt-controller;
+               };
+
+               nor_flash@1,0 {
+                       compatible = "cfi-flash";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       bank-width = <2>;
+                       reg = <1 0 0x1000000>;
+
+                       partition@0 {
+                               label = "x-loader";
+                               reg = <0x0 0x100000>; /* 1M */
+                               read-only;
+                       };
+
+                       partition@100000 {
+                               label = "u-boot";
+                               reg = <0x100000 0x100000>; /* 1M */
+                       };
+
+                       partition@200000 {
+                               label = "kernel";
+                               reg = <0x200000 0x500000>; /* 5M */
+                       };
+
+                       partition@700000 {
+                               label = "rootfs";
+                               reg = <0x700000 0x800000>; /* 8M */
+                       };
+
+                       partition@f00000 {
+                               label = "env";
+                               reg = <0xf00000 0x100000>; /* 1M */
+                               read-only;
+                       };
+               };
+
+       };
+
+       chosen {
+               bootargs = "console=ttyS0,115200 rdinit=/sbin/init";
+       };
+};
index 0823321c10e0744be05d11236b2ac47f2e5e275e..fb00606e352d53993700112b117194c47e3bebe3 100644 (file)
@@ -41,6 +41,15 @@ config DT_XLP_GVP
          pointer to the kernel.  The corresponding DTS file is at
          arch/mips/netlogic/dts/xlp_gvp.dts
 
+config DT_XLP_RVP
+       bool "Built-in device tree for XLP RVP boards"
+       default y
+       help
+         Add an FDT blob for XLP RVP board into the kernel.
+         This DTB will be used if the firmware does not pass in a DTB
+         pointer to the kernel.  The corresponding DTS file is at
+         arch/mips/netlogic/dts/xlp_rvp.dts
+
 config NLM_MULTINODE
        bool "Support for multi-chip boards"
        depends on NLM_XLP_BOARD
index 7cc46032b28ed1d1c9779656fad75321a2712f99..a625bdb6d6aa0e2f23de8c629f34e28803d19d66 100644 (file)
 
 #include <asm/prom.h>
 
-extern u32 __dtb_xlp_evp_begin[], __dtb_xlp_svp_begin[],
-       __dtb_xlp_fvp_begin[], __dtb_xlp_gvp_begin[];
+extern u32 __dtb_xlp_evp_begin[], __dtb_xlp_svp_begin[], __dtb_xlp_fvp_begin[],
+       __dtb_xlp_gvp_begin[], __dtb_xlp_rvp_begin[];
 static void *xlp_fdt_blob;
 
 void __init *xlp_dt_init(void *fdtp)
 {
        if (!fdtp) {
                switch (current_cpu_data.processor_id & PRID_IMP_MASK) {
+#ifdef CONFIG_DT_XLP_RVP
+               case PRID_IMP_NETLOGIC_XLP5XX:
+                       fdtp = __dtb_xlp_rvp_begin;
+                       break;
+#endif
 #ifdef CONFIG_DT_XLP_GVP
                case PRID_IMP_NETLOGIC_XLP9XX:
-               case PRID_IMP_NETLOGIC_XLP5XX:
                        fdtp = __dtb_xlp_gvp_begin;
                        break;
 #endif