Skip to content

Instantly share code, notes, and snippets.

@halmartin
Created December 19, 2020 14:43
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save halmartin/e80cf61d4534719d948dc019f30c4489 to your computer and use it in GitHub Desktop.
Save halmartin/e80cf61d4534719d948dc019f30c4489 to your computer and use it in GitHub Desktop.
Meraki bluestone dts extracted from firmware image
/dts-v1/;
/ {
#address-cells = <0x2>;
#size-cells = <0x1>;
model = "apm,bluestone";
compatible = "apm,bluestone";
dcr-parent = <0x1>;
aliases {
ethernet0 = "/plb/opb/ethernet@ef600c00";
serial0 = "/plb/opb/serial@ef600400";
};
cpus {
#address-cells = <0x1>;
#size-cells = <0x0>;
cpu@0 {
device_type = "cpu";
model = "PowerPC,APM82181";
reg = <0x0>;
clock-frequency = <0x0>;
timebase-frequency = <0x0>;
i-cache-line-size = <0x20>;
d-cache-line-size = <0x20>;
i-cache-size = <0x8000>;
d-cache-size = <0x8000>;
dcr-controller;
dcr-access-method = "native";
next-level-cache = <0x2>;
linux,phandle = <0x1>;
phandle = <0x1>;
};
};
memory {
device_type = "memory";
reg = <0x0 0x0 0x0>;
};
interrupt-controller0 {
compatible = "ibm,uic-460ex", "ibm,uic";
interrupt-controller;
cell-index = <0x0>;
dcr-reg = <0xc0 0x9>;
#address-cells = <0x0>;
#size-cells = <0x0>;
#interrupt-cells = <0x2>;
linux,phandle = <0x3>;
phandle = <0x3>;
};
interrupt-controller1 {
compatible = "ibm,uic-460ex", "ibm,uic";
interrupt-controller;
cell-index = <0x1>;
dcr-reg = <0xd0 0x9>;
#address-cells = <0x0>;
#size-cells = <0x0>;
#interrupt-cells = <0x2>;
interrupts = <0x1e 0x4 0x1f 0x4>;
interrupt-parent = <0x3>;
linux,phandle = <0x4>;
phandle = <0x4>;
};
interrupt-controller2 {
compatible = "ibm,uic-460ex", "ibm,uic";
interrupt-controller;
cell-index = <0x2>;
dcr-reg = <0xe0 0x9>;
#address-cells = <0x0>;
#size-cells = <0x0>;
#interrupt-cells = <0x2>;
interrupts = <0xa 0x4 0xb 0x4>;
interrupt-parent = <0x3>;
linux,phandle = <0x7>;
phandle = <0x7>;
};
interrupt-controller3 {
compatible = "ibm,uic-460ex", "ibm,uic";
interrupt-controller;
cell-index = <0x3>;
dcr-reg = <0xf0 0x9>;
#address-cells = <0x0>;
#size-cells = <0x0>;
#interrupt-cells = <0x2>;
interrupts = <0x10 0x4 0x11 0x4>;
interrupt-parent = <0x3>;
linux,phandle = <0xc>;
phandle = <0xc>;
};
ocm@400040000 {
compatible = "ibm,ocm";
status = "enabled";
cell-index = <0x1>;
reg = <0x4 0x40000 0x8000>;
};
sdr {
compatible = "ibm,sdr-460ex";
dcr-reg = <0xe 0x2>;
};
cpr {
compatible = "ibm,cpr-460ex";
dcr-reg = <0xc 0x2>;
};
l2c {
compatible = "ibm,l2-cache-apm82181", "ibm,l2-cache";
dcr-reg = <0x20 0x8 0x30 0x8>;
cache-line-size = <0x20>;
cache-size = <0x40000>;
interrupt-parent = <0x4>;
interrupts = <0xb 0x1>;
linux,phandle = <0x2>;
phandle = <0x2>;
};
cpm {
compatible = "ibm, cpm-apm821xx", "ibm,cpm";
cell-index = <0x0>;
dcr-reg = <0x160 0x3>;
pm-cpu = <0x2000000>;
pm-doze = <0x302570f0>;
pm-nap = <0x302570f0>;
pm-deepsleep = <0x302570f0>;
pm-iic-device = <0x5>;
pm-emac-device = <0x6>;
};
plb {
compatible = "ibm,plb-460ex", "ibm,plb4";
#address-cells = <0x2>;
#size-cells = <0x1>;
ranges;
clock-frequency = <0x0>;
sdram {
compatible = "ibm,sdram-460ex", "ibm,sdram-405gp";
dcr-reg = <0x10 0x2>;
};
crypto@180000 {
compatible = "amcc,ppc460ex-crypto", "amcc,ppc4xx-crypto";
reg = <0x4 0x180000 0x80400>;
interrupt-parent = <0x3>;
interrupts = <0x1d 0x4>;
};
pka@114000 {
device_type = "pka";
compatible = "ppc4xx-pka", "amcc, ppc4xx-pka";
reg = <0x4 0x114000 0x4000>;
interrupt-parent = <0x3>;
interrupts = <0x14 0x2>;
};
trng@110000 {
device_type = "trng";
compatible = "ppc4xx-trng", "amcc, ppc4xx-trng";
reg = <0x4 0x110000 0x100>;
interrupt-parent = <0x4>;
interrupts = <0x3 0x2>;
};
mcmal {
compatible = "ibm,mcmal-460ex", "ibm,mcmal2";
descriptor-memory = "ocm";
dcr-reg = <0x180 0x62>;
num-tx-chans = <0x1>;
num-rx-chans = <0x1>;
#address-cells = <0x0>;
#size-cells = <0x0>;
interrupt-parent = <0x7>;
interrupts = <0x6 0x4 0x7 0x4 0x3 0x4 0x4 0x4 0x5 0x4 0x8 0x2 0xc 0x2>;
linux,phandle = <0x9>;
phandle = <0x9>;
};
usbotg@bff80000 {
compatible = "amcc,usb-otg-405ex";
reg = <0x4 0xbff80000 0x10000>;
interrupt-parent = <0x8>;
interrupts = <0x0 0x1 0x2>;
#interrupt-cells = <0x1>;
#address-cells = <0x0>;
#size-cells = <0x0>;
interrupt-map = <0x0 0x7 0x1c 0x4 0x1 0x4 0x1a 0x8 0x2 0x3 0xc 0x4>;
linux,phandle = <0x8>;
phandle = <0x8>;
};
sata@bffd1000 {
compatible = "amcc,sata-460ex";
reg = <0x4 0xbffd1000 0x800 0x4 0xbffd0800 0x400>;
dma-channel = <0x0>;
interrupt-parent = <0x3>;
interrupts = <0x1a 0x4 0x19 0x4>;
};
sata@bffd1800 {
compatible = "amcc,sata-460ex";
reg = <0x4 0xbffd1800 0x800 0x4 0xbffd0800 0x400>;
dma-channel = <0x1>;
interrupt-parent = <0x3>;
interrupts = <0x1b 0x4 0x19 0x4>;
};
adma {
compatible = "amcc,apm82181-adma";
device_type = "dma";
#address-cells = <0x2>;
#size-cells = <0x1>;
dma-4channel@1 {
compatible = "amcc,apm82181-dma-4channel";
cell-index = <0x1>;
label = "plb_dma1";
interrupt-parent = <0x3>;
interrupts = <0xd 0x4>;
pool_size = <0x4000>;
dcr-reg = <0x208 0x20f>;
};
dma-4channel@2 {
compatible = "amcc,apm82181-dma-4channel";
cell-index = <0x2>;
label = "plb_dma2";
interrupt-parent = <0x3>;
interrupts = <0xe 0x4>;
pool_size = <0x4000>;
dcr-reg = <0x210 0x217>;
};
dma-4channel@3 {
compatible = "amcc,apm82181-dma-4channel";
cell-index = <0x3>;
label = "plb_dma3";
interrupt-parent = <0x3>;
interrupts = <0xf 0x4>;
pool_size = <0x4000>;
dcr-reg = <0x218 0x21f>;
};
xor@4 {
compatible = "amcc,xor";
cell-index = <0x4>;
label = "xor";
interrupt-parent = <0x4>;
interrupts = <0x16 0x4>;
reg = <0x4 0x200000 0x224>;
};
};
opb {
compatible = "ibm,opb-460ex", "ibm,opb";
#address-cells = <0x1>;
#size-cells = <0x1>;
ranges = <0xb0000000 0x4 0xb0000000 0x50000000>;
clock-frequency = <0x0>;
ebc {
compatible = "ibm,ebc-460ex", "ibm,ebc";
dcr-reg = <0x12 0x2>;
#address-cells = <0x2>;
#size-cells = <0x1>;
clock-frequency = <0x0>;
ranges = <0x3 0x0 0xe0000000 0x8000000>;
interrupts = <0x6 0x4>;
interrupt-parent = <0x4>;
ndfc@1,0 {
compatible = "ibm,ndfc";
reg = <0x3 0x0 0x100>;
ccr = <0x1000>;
bank-settings = <0x80002222>;
#address-cells = <0x1>;
#size-cells = <0x1>;
nand {
#address-cells = <0x1>;
#size-cells = <0x1>;
partition@0 {
label = "firmware";
reg = <0x0 0x100000>;
};
partition@100000 {
label = "environment";
reg = <0x100000 0x100000>;
};
partition@200000 {
label = "oops";
reg = <0x200000 0x40000>;
};
partition@240000 {
label = "ubi";
reg = <0x240000 0x3fdc0000>;
};
all {
label = "all";
reg = <0x0 0x40000000>;
};
};
};
};
serial@ef600400 {
device_type = "serial";
compatible = "ns16550";
reg = <0xef600400 0x8>;
virtual-reg = <0xef600400>;
clock-frequency = <0x0>;
current-speed = <0x0>;
interrupt-parent = <0x3>;
interrupts = <0x1 0x4>;
};
gpio@ef600b00 {
compatible = "ibm,ppc4xx-gpio";
reg = <0xef600b00 0x48>;
#gpio-cells = <0x2>;
gpio-controller;
linux,phandle = <0xd>;
phandle = <0xd>;
};
i2c@ef600700 {
compatible = "ibm,iic-460ex", "ibm,iic";
reg = <0xef600700 0x14>;
interrupt-parent = <0x3>;
interrupts = <0x2 0x4>;
#address-cells = <0x1>;
#size-cells = <0x0>;
linux,phandle = <0x5>;
phandle = <0x5>;
rtc@68 {
compatible = "stm,m41t80";
reg = <0x68>;
interrupt-parent = <0x3>;
interrupts = <0x9 0x8>;
};
sttm@4C {
compatible = "adm,adm1032";
reg = <0x4c>;
interrupt-parent = <0x4>;
interrupts = <0x1e 0x8>;
};
};
i2c@ef600800 {
compatible = "ibm,iic-460ex", "ibm,iic";
reg = <0xef600800 0x14>;
interrupt-parent = <0x3>;
interrupts = <0x3 0x4>;
};
emac-rgmii@ef601500 {
compatible = "ibm,rgmii-405ex", "ibm,rgmii";
reg = <0xef601500 0x8>;
has-mdio;
linux,phandle = <0xa>;
phandle = <0xa>;
};
emac-tah@ef601350 {
compatible = "ibm,tah-460ex", "ibm,tah";
reg = <0xef601350 0x30>;
linux,phandle = <0xb>;
phandle = <0xb>;
};
ethernet@ef600c00 {
device_type = "network";
compatible = "ibm,emac-apm821xx", "ibm,emac4sync";
interrupt-parent = <0x6>;
interrupts = <0x0 0x1>;
#interrupt-cells = <0x1>;
#address-cells = <0x0>;
#size-cells = <0x0>;
interrupt-map = <0x0 0x7 0x10 0x4 0x1 0x7 0x14 0x4>;
reg = <0xef600c00 0xc4>;
local-mac-address = [00 00 00 00 00 00];
mal-device = <0x9>;
mal-tx-channel = <0x0>;
mal-rx-channel = <0x0>;
cell-index = <0x0>;
max-frame-size = <0x2328>;
rx-fifo-size = <0x4000>;
tx-fifo-size = <0x800>;
phy-mode = "rgmii";
phy-map = <0x0>;
rgmii-device = <0xa>;
rgmii-channel = <0x0>;
tah-device = <0xb>;
tah-channel = <0x0>;
has-inverted-stacr-oc;
has-new-stacr-staopc;
linux,phandle = <0x6>;
phandle = <0x6>;
};
};
plb_dma@400300200 {
#address-cells = <0x1>;
#size-cells = <0x1>;
compatible = "amcc,dma";
cell-index = <0x0>;
reg = <0x4 0x18080 0xc8>;
dcr-reg = <0x100 0x13f>;
interrupt-parent = <0x3>;
interrupts = <0x0 0x1 0x2 0x3>;
interrupt-map = <0x0 0x3 0xc 0x4 0x1 0x3 0xd 0x4 0x2 0x3 0xe 0x4 0x3 0x3 0xf 0x4>;
dma-4channel@0 {
compatible = "amcc,dma-4channel";
cell-index = <0x0>;
label = "channel0";
reg = <0x100 0x107>;
};
};
pciex@d00000000 {
device_type = "pci";
#interrupt-cells = <0x1>;
#size-cells = <0x2>;
#address-cells = <0x3>;
compatible = "ibm,plb-pciex-apm821xx", "ibm,plb-pciex";
primary;
port = <0x0>;
reg = <0xd 0x0 0x20000000 0xc 0x8010000 0x1000>;
dcr-reg = <0x100 0x20>;
sdr-base = <0x300>;
ranges = <0x2000000 0x0 0x80000000 0xe 0x0 0x0 0x80000000 0x2000000 0x0 0x0 0xf 0x0 0x0 0x100000 0x1000000 0x0 0x0 0xf 0x80000000 0x0 0x10000>;
dma-ranges = <0x42000000 0x0 0x0 0x0 0x0 0x0 0x80000000>;
bus-range = <0x40 0x7f>;
interrupt-map-mask = <0x0 0x0 0x0 0x7>;
interrupt-map = <0x0 0x0 0x0 0x1 0xc 0xc 0x4 0x0 0x0 0x0 0x2 0xc 0xd 0x4 0x0 0x0 0x0 0x3 0xc 0xe 0x4 0x0 0x0 0x0 0x4 0xc 0xf 0x4>;
};
gpio-leds {
compatible = "gpio-leds";
power-green {
label = "power:green";
gpios = <0xd 0x12 0x1>;
};
power-orange {
label = "power:orange";
gpios = <0xd 0x13 0x1>;
};
wan-green {
label = "wan:green";
gpios = <0xd 0x11 0x1>;
};
wan-orange {
label = "wan:orange";
gpios = <0xd 0xf 0x1>;
};
lan1 {
label = "lan1";
gpios = <0xd 0x14 0x1>;
};
lan2 {
label = "lan2";
gpios = <0xd 0x15 0x1>;
};
lan3 {
label = "lan3";
gpios = <0xd 0x16 0x1>;
};
lan4 {
label = "lan4";
gpios = <0xd 0x17 0x1>;
};
};
gpio_keys_polled {
compatible = "gpio-keys-polled";
#address-cells = <0x1>;
#size-cells = <0x0>;
poll-interval = <0x3c>;
autorepeat;
button@1 {
label = "soft_reset";
linux,code = <0x198>;
linux,input-type = <0x1>;
gpios = <0xd 0x10 0x1>;
};
};
};
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment