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>
This commit is contained in:
parent
9eac3591e7
commit
1cf0e1be81
@ -19,6 +19,15 @@ config DT_XLP_SVP
|
|||||||
pointer to the kernel. The corresponding DTS file is at
|
pointer to the kernel. The corresponding DTS file is at
|
||||||
arch/mips/netlogic/dts/xlp_svp.dts
|
arch/mips/netlogic/dts/xlp_svp.dts
|
||||||
|
|
||||||
|
config DT_XLP_FVP
|
||||||
|
bool "Built-in device tree for XLP FVP boards"
|
||||||
|
default y
|
||||||
|
help
|
||||||
|
Add an FDT blob for XLP FVP 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_fvp.dts
|
||||||
|
|
||||||
config NLM_MULTINODE
|
config NLM_MULTINODE
|
||||||
bool "Support for multi-chip boards"
|
bool "Support for multi-chip boards"
|
||||||
depends on NLM_XLP_BOARD
|
depends on NLM_XLP_BOARD
|
||||||
|
@ -1,2 +1,3 @@
|
|||||||
obj-$(CONFIG_DT_XLP_EVP) := xlp_evp.dtb.o
|
obj-$(CONFIG_DT_XLP_EVP) := xlp_evp.dtb.o
|
||||||
obj-$(CONFIG_DT_XLP_SVP) += xlp_svp.dtb.o
|
obj-$(CONFIG_DT_XLP_SVP) += xlp_svp.dtb.o
|
||||||
|
obj-$(CONFIG_DT_XLP_FVP) += xlp_fvp.dtb.o
|
||||||
|
118
arch/mips/netlogic/dts/xlp_fvp.dts
Normal file
118
arch/mips/netlogic/dts/xlp_fvp.dts
Normal file
@ -0,0 +1,118 @@
|
|||||||
|
/*
|
||||||
|
* XLP2XX Device Tree Source for FVP boards
|
||||||
|
*/
|
||||||
|
|
||||||
|
/dts-v1/;
|
||||||
|
/ {
|
||||||
|
model = "netlogic,XLP-FVP";
|
||||||
|
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 0x30100 0xa00>;
|
||||||
|
reg-shift = <2>;
|
||||||
|
reg-io-width = <4>;
|
||||||
|
clock-frequency = <133333333>;
|
||||||
|
interrupt-parent = <&pic>;
|
||||||
|
interrupts = <17>;
|
||||||
|
};
|
||||||
|
serial1: serial@31000 {
|
||||||
|
device_type = "serial";
|
||||||
|
compatible = "ns16550";
|
||||||
|
reg = <0 0x31100 0xa00>;
|
||||||
|
reg-shift = <2>;
|
||||||
|
reg-io-width = <4>;
|
||||||
|
clock-frequency = <133333333>;
|
||||||
|
interrupt-parent = <&pic>;
|
||||||
|
interrupts = <18>;
|
||||||
|
};
|
||||||
|
i2c0: ocores@37100 {
|
||||||
|
compatible = "opencores,i2c-ocores";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
reg = <0 0x37100 0x20>;
|
||||||
|
reg-shift = <2>;
|
||||||
|
reg-io-width = <4>;
|
||||||
|
clock-frequency = <32000000>;
|
||||||
|
interrupt-parent = <&pic>;
|
||||||
|
interrupts = <30>;
|
||||||
|
};
|
||||||
|
i2c1: ocores@37120 {
|
||||||
|
compatible = "opencores,i2c-ocores";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
reg = <0 0x37120 0x20>;
|
||||||
|
reg-shift = <2>;
|
||||||
|
reg-io-width = <4>;
|
||||||
|
clock-frequency = <32000000>;
|
||||||
|
interrupt-parent = <&pic>;
|
||||||
|
interrupts = <31>;
|
||||||
|
|
||||||
|
rtc@68 {
|
||||||
|
compatible = "dallas,ds1374";
|
||||||
|
reg = <0x68>;
|
||||||
|
};
|
||||||
|
|
||||||
|
dtt@4c {
|
||||||
|
compatible = "national,lm90";
|
||||||
|
reg = <0x4c>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
pic: pic@4000 {
|
||||||
|
compatible = "netlogic,xlp-pic";
|
||||||
|
#address-cells = <0>;
|
||||||
|
#interrupt-cells = <1>;
|
||||||
|
reg = <0 0x4000 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";
|
||||||
|
};
|
||||||
|
};
|
@ -39,12 +39,18 @@
|
|||||||
#include <linux/of_platform.h>
|
#include <linux/of_platform.h>
|
||||||
#include <linux/of_device.h>
|
#include <linux/of_device.h>
|
||||||
|
|
||||||
extern u32 __dtb_xlp_evp_begin[], __dtb_xlp_svp_begin[], __dtb_start[];
|
extern u32 __dtb_xlp_evp_begin[], __dtb_xlp_svp_begin[],
|
||||||
|
__dtb_xlp_fvp_begin[], __dtb_start[];
|
||||||
|
|
||||||
void __init *xlp_dt_init(void *fdtp)
|
void __init *xlp_dt_init(void *fdtp)
|
||||||
{
|
{
|
||||||
if (!fdtp) {
|
if (!fdtp) {
|
||||||
switch (current_cpu_data.processor_id & 0xff00) {
|
switch (current_cpu_data.processor_id & 0xff00) {
|
||||||
|
#ifdef CONFIG_DT_XLP_FVP
|
||||||
|
case PRID_IMP_NETLOGIC_XLP2XX:
|
||||||
|
fdtp = __dtb_xlp_fvp_begin;
|
||||||
|
break;
|
||||||
|
#endif
|
||||||
#ifdef CONFIG_DT_XLP_SVP
|
#ifdef CONFIG_DT_XLP_SVP
|
||||||
case PRID_IMP_NETLOGIC_XLP3XX:
|
case PRID_IMP_NETLOGIC_XLP3XX:
|
||||||
fdtp = __dtb_xlp_svp_begin;
|
fdtp = __dtb_xlp_svp_begin;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user