Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Ganesan Ramalingam and committed by
Ralf Baechle
1cf0e1be 9eac3591

+135 -1
+9
arch/mips/netlogic/Kconfig
··· 19 19 pointer to the kernel. The corresponding DTS file is at 20 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 31 config NLM_MULTINODE 23 32 bool "Support for multi-chip boards" 24 33 depends on NLM_XLP_BOARD
+1
arch/mips/netlogic/dts/Makefile
··· 1 1 obj-$(CONFIG_DT_XLP_EVP) := xlp_evp.dtb.o 2 2 obj-$(CONFIG_DT_XLP_SVP) += xlp_svp.dtb.o 3 + obj-$(CONFIG_DT_XLP_FVP) += xlp_fvp.dtb.o
+118
arch/mips/netlogic/dts/xlp_fvp.dts
··· 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 + };
+7 -1
arch/mips/netlogic/xlp/dt.c
··· 39 39 #include <linux/of_platform.h> 40 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 45 void __init *xlp_dt_init(void *fdtp) 45 46 { 46 47 if (!fdtp) { 47 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 54 #ifdef CONFIG_DT_XLP_SVP 49 55 case PRID_IMP_NETLOGIC_XLP3XX: 50 56 fdtp = __dtb_xlp_svp_begin;