$ fdtdump kirkwood-iomega_ix4_200d.dtb
**** fdtdump is a low-level debugging tool, not meant for general use.
**** If you want to decompile a dtb, you probably want
**** dtc -I dtb -O dts <filename>
/dts-v1/;
// magic: 0xd00dfeed
// totalsize: 0x243a (9274)
// off_dt_struct: 0x38
// off_dt_strings: 0x210c
// off_mem_rsvmap: 0x28
// version: 17
// last_comp_version: 16
// boot_cpuid_phys: 0x0
// size_dt_strings: 0x32e
// size_dt_struct: 0x20d4
/ {
#address-cells = <0x00000001>;
#size-cells = <0x00000001>;
compatible = "marvell,rd88f6281-a", "marvell,rd88f6281", "marvell,kirkwood-88f6281", "marvell,kirkwood";
interrupt-parent = <0x00000001>;
model = "Iomega ix4-200d";
cpus {
#address-cells = <0x00000001>;
#size-cells = <0x00000000>;
cpu@0 {
device_type = "cpu";
compatible = "marvell,feroceon";
reg = <0x00000000>;
clocks = <0x00000002 0x00000001 0x00000002 0x00000003 0x00000003 0x0000000b>;
clock-names = "cpu_clk", "ddrclk", "powersave";
};
};
aliases {
gpio0 = "/ocp@f1000000/gpio@10100";
gpio1 = "/ocp@f1000000/gpio@10140";
i2c0 = "/ocp@f1000000/i2c@11000";
};
mbus@f1000000 {
compatible = "marvell,kirkwood-mbus", "simple-bus";
#address-cells = <0x00000002>;
#size-cells = <0x00000001>;
ranges = <0xf0010000 0x00000000 0xf1000000 0x00100000 0x012f0000 0x00000000 0xf4000000 0x00010000 0x03010000 0x00000000 0xf5000000 0x00010000>;
controller = <0x00000004>;
pcie-mem-aperture = <0xe0000000 0x10000000>;
pcie-io-aperture = <0xf2000000 0x00100000>;
nand@12f {
#address-cells = <0x00000001>;
#size-cells = <0x00000001>;
cle = <0x00000000>;
ale = <0x00000001>;
bank-width = <0x00000001>;
compatible = "marvell,orion-nand";
reg = <0x012f0000 0x00000000 0x00000400>;
chip-delay = <0x00000028>;
clocks = <0x00000003 0x00000007>;
pinctrl-0 = <0x00000005>;
pinctrl-names = "default";
status = "okay";
partition@0 {
label = "u-boot";
reg = <0x00000000 0x00100000>;
read-only;
};
partition@100000 {
label = "uImage";
reg = <0x00100000 0x00500000>;
};
partition@0500000 {
label = "rootfs";
reg = <0x00500000 0x02000000>;
};
};
sa-sram@301 {
compatible = "mmio-sram";
reg = <0x03010000 0x00000000 0x00000800>;
clocks = <0x00000003 0x00000011>;
#address-cells = <0x00000001>;
#size-cells = <0x00000001>;
phandle = <0x0000000b>;
};
pcie@82000000 {
compatible = "marvell,kirkwood-pcie";
status = "okay";
device_type = "pci";
#address-cells = <0x00000003>;
#size-cells = <0x00000002>;
bus-range = <0x00000000 0x000000ff>;
ranges = <0x82000000 0x00000000 0x00040000 0xf0010000 0x00040000 0x00000000 0x00002000 0x82000000 0x00000001 0x00000000 0x04e80000 0x00000000 0x00000001 0x00000000 0x81000000 0x00000001 0x00000000 0x04e00000 0x00000000 0x00000001 0x00000000>;
pcie@1,0 {
device_type = "pci";
assigned-addresses = <0x82000800 0x00000000 0x00040000 0x00000000 0x00002000>;
reg = <0x00000800 0x00000000 0x00000000 0x00000000 0x00000000>;
#address-cells = <0x00000003>;
#size-cells = <0x00000002>;
#interrupt-cells = <0x00000001>;
ranges = <0x82000000 0x00000000 0x00000000 0x82000000 0x00000001 0x00000000 0x00000001 0x00000000 0x81000000 0x00000000 0x00000000 0x81000000 0x00000001 0x00000000 0x00000001 0x00000000>;
bus-range = <0x00000000 0x000000ff>;
interrupt-map-mask = <0x00000000 0x00000000 0x00000000 0x00000000>;
interrupt-map = <0x00000000 0x00000000 0x00000000 0x00000000 0x00000001 0x00000009>;
marvell,pcie-port = <0x00000000>;
marvell,pcie-lane = <0x00000000>;
clocks = <0x00000003 0x00000002>;
status = "okay";
};
};
};
ocp@f1000000 {
compatible = "simple-bus";
ranges = <0x00000000 0xf1000000 0x00100000>;
#address-cells = <0x00000001>;
#size-cells = <0x00000001>;
pin-controller@10000 {
reg = <0x00010000 0x00000020>;
compatible = "marvell,88f6281-pinctrl";
pmx-ge1 {
marvell,pins = "mpp20", "mpp21", "mpp22", "mpp23", "mpp24", "mpp25", "mpp26", "mpp27", "mpp30", "mpp31", "mpp32", "mpp33";
marvell,function = "ge1";
phandle = <0x0000000d>;
};
pmx-nand {
marvell,pins = "mpp0", "mpp1", "mpp2", "mpp3", "mpp4", "mpp5", "mpp18", "mpp19";
marvell,function = "nand";
phandle = <0x00000005>;
};
pmx-spi {
marvell,pins = "mpp0", "mpp1", "mpp2", "mpp3";
marvell,function = "spi";
phandle = <0x00000006>;
};
pmx-twsi0 {
marvell,pins = "mpp8", "mpp9";
marvell,function = "twsi0";
phandle = <0x00000007>;
};
pmx-uart0 {
marvell,pins = "mpp10", "mpp11";
marvell,function = "uart0";
phandle = <0x00000008>;
};
pmx-uart1 {
marvell,pins = "mpp13", "mpp14";
marvell,function = "uart1";
phandle = <0x00000009>;
};
pmx-sata0 {
marvell,pins = "mpp5", "mpp21", "mpp23";
marvell,function = "sata0";
};
pmx-sata1 {
marvell,pins = "mpp4", "mpp20", "mpp22";
marvell,function = "sata1";
};
pmx-sdio {
marvell,pins = "mpp12", "mpp13", "mpp14", "mpp15", "mpp16", "mpp17";
marvell,function = "sdio";
phandle = <0x00000011>;
};
};
core-clocks@10030 {
compatible = "marvell,kirkwood-core-clock";
reg = <0x00010030 0x00000004>;
#clock-cells = <0x00000001>;
phandle = <0x00000002>;
};
spi@10600 {
compatible = "marvell,orion-spi";
#address-cells = <0x00000001>;
#size-cells = <0x00000000>;
cell-index = <0x00000000>;
interrupts = <0x00000017>;
reg = <0x00010600 0x00000028>;
clocks = <0x00000003 0x00000007>;
pinctrl-0 = <0x00000006>;
pinctrl-names = "default";
status = "disabled";
};
gpio@10100 {
compatible = "marvell,orion-gpio";
#gpio-cells = <0x00000002>;
gpio-controller;
reg = <0x00010100 0x00000040>;
ngpios = <0x00000020>;
interrupt-controller;
#interrupt-cells = <0x00000002>;
interrupts = <0x00000023 0x00000024 0x00000025 0x00000026>;
clocks = <0x00000003 0x00000007>;
};
gpio@10140 {
compatible = "marvell,orion-gpio";
#gpio-cells = <0x00000002>;
gpio-controller;
reg = <0x00010140 0x00000040>;
ngpios = <0x00000012>;
interrupt-controller;
#interrupt-cells = <0x00000002>;
interrupts = <0x00000027 0x00000028 0x00000029>;
clocks = <0x00000003 0x00000007>;
};
i2c@11000 {
compatible = "marvell,mv64xxx-i2c";
reg = <0x00011000 0x00000020>;
#address-cells = <0x00000001>;
#size-cells = <0x00000000>;
interrupts = <0x0000001d>;
clock-frequency = <0x000186a0>;
clocks = <0x00000003 0x00000007>;
pinctrl-0 = <0x00000007>;
pinctrl-names = "default";
status = "okay";
adt7473@2e {
compatible = "adi,adt7473";
reg = <0x0000002e>;
};
};
serial@12000 {
compatible = "ns16550a";
reg = <0x00012000 0x00000100>;
reg-shift = <0x00000002>;
interrupts = <0x00000021>;
clocks = <0x00000003 0x00000007>;
pinctrl-0 = <0x00000008>;
pinctrl-names = "default";
status = "ok";
};
serial@12100 {
compatible = "ns16550a";
reg = <0x00012100 0x00000100>;
reg-shift = <0x00000002>;
interrupts = <0x00000022>;
clocks = <0x00000003 0x00000007>;
pinctrl-0 = <0x00000009>;
pinctrl-names = "default";
status = "disabled";
};
mbus-controller@20000 {
compatible = "marvell,mbus-controller";
reg = <0x00020000 0x00000080 0x00001500 0x00000020>;
phandle = <0x00000004>;
};
system-controller@20000 {
compatible = "marvell,orion-system-controller";
reg = <0x00020000 0x00000120>;
};
bridge-interrupt-ctrl@20110 {
compatible = "marvell,orion-bridge-intc";
interrupt-controller;
#interrupt-cells = <0x00000001>;
reg = <0x00020110 0x00000008>;
interrupts = <0x00000001>;
marvell,#interrupts = <0x00000006>;
phandle = <0x0000000a>;
};
clock-gating-control@2011c {
compatible = "marvell,kirkwood-gating-clock";
reg = <0x0002011c 0x00000004>;
clocks = <0x00000002 0x00000000>;
#clock-cells = <0x00000001>;
phandle = <0x00000003>;
};
l2-cache@20128 {
compatible = "marvell,kirkwood-cache";
reg = <0x00020128 0x00000004>;
};
interrupt-controller@20200 {
compatible = "marvell,orion-intc";
interrupt-controller;
#interrupt-cells = <0x00000001>;
reg = <0x00020200 0x00000010 0x00020210 0x00000010>;
phandle = <0x00000001>;
};
timer@20300 {
compatible = "marvell,orion-timer";
reg = <0x00020300 0x00000020>;
interrupt-parent = <0x0000000a>;
interrupts = <0x00000001 0x00000002>;
clocks = <0x00000002 0x00000000>;
};
watchdog-timer@20300 {
compatible = "marvell,orion-wdt";
reg = <0x00020300 0x00000028 0x00020108 0x00000004>;
interrupt-parent = <0x0000000a>;
interrupts = <0x00000003>;
clocks = <0x00000003 0x00000007>;
status = "okay";
};
crypto@30000 {
compatible = "marvell,kirkwood-crypto";
reg = <0x00030000 0x00010000>;
reg-names = "regs";
interrupts = <0x00000016>;
clocks = <0x00000003 0x00000011>;
marvell,crypto-srams = <0x0000000b>;
marvell,crypto-sram-size = <0x00000800>;
status = "okay";
};
ehci@50000 {
compatible = "marvell,orion-ehci";
reg = <0x00050000 0x00001000>;
interrupts = <0x00000013>;
clocks = <0x00000003 0x00000003>;
status = "okay";
};
xor@60800 {
compatible = "marvell,orion-xor";
reg = <0x00060800 0x00000100 0x00060a00 0x00000100>;
status = "okay";
clocks = <0x00000003 0x00000008>;
xor00 {
interrupts = <0x00000005>;
dmacap,memcpy;
dmacap,xor;
};
xor01 {
interrupts = <0x00000006>;
dmacap,memcpy;
dmacap,xor;
dmacap,memset;
};
};
xor@60900 {
compatible = "marvell,orion-xor";
reg = <0x00060900 0x00000100 0x00060b00 0x00000100>;
status = "okay";
clocks = <0x00000003 0x00000010>;
xor00 {
interrupts = <0x00000007>;
dmacap,memcpy;
dmacap,xor;
};
xor01 {
interrupts = <0x00000008>;
dmacap,memcpy;
dmacap,xor;
dmacap,memset;
};
};
ethernet-controller@72000 {
compatible = "marvell,kirkwood-eth";
#address-cells = <0x00000001>;
#size-cells = <0x00000000>;
reg = <0x00072000 0x00004000>;
clocks = <0x00000003 0x00000000>;
marvell,tx-checksum-limit = <0x00000640>;
status = "okay";
ethernet0-port@0 {
compatible = "marvell,kirkwood-eth-port";
reg = <0x00000000>;
interrupts = <0x0000000b>;
local-mac-address = [00 00 00 00 00 00];
phy-handle = <0x0000000c>;
};
};
mdio-bus@72004 {
compatible = "marvell,orion-mdio";
#address-cells = <0x00000001>;
#size-cells = <0x00000000>;
reg = <0x00072004 0x00000084>;
interrupts = <0x0000002e>;
clocks = <0x00000003 0x00000000>;
status = "okay";
ethernet-phy@8 {
device_type = "ethernet-phy";
reg = <0x00000008>;
phandle = <0x0000000c>;
};
ethernet-phy@9 {
device_type = "ethernet-phy";
reg = <0x00000009>;
phandle = <0x0000000e>;
};
};
ethernet-controller@76000 {
compatible = "marvell,kirkwood-eth";
#address-cells = <0x00000001>;
#size-cells = <0x00000000>;
reg = <0x00076000 0x00004000>;
clocks = <0x00000003 0x00000013>;
marvell,tx-checksum-limit = <0x00000640>;
pinctrl-0 = <0x0000000d>;
pinctrl-names = "default";
status = "okay";
ethernet1-port@0 {
compatible = "marvell,kirkwood-eth-port";
reg = <0x00000000>;
interrupts = <0x0000000f>;
local-mac-address = [00 00 00 00 00 00];
phy-handle = <0x0000000e>;
};
};
sata-phy@82000 {
compatible = "marvell,mvebu-sata-phy";
reg = <0x00082000 0x00000334>;
clocks = <0x00000003 0x0000000e>;
clock-names = "sata";
#phy-cells = <0x00000000>;
status = "okay";
phandle = <0x0000000f>;
};
sata-phy@84000 {
compatible = "marvell,mvebu-sata-phy";
reg = <0x00084000 0x00000334>;
clocks = <0x00000003 0x0000000f>;
clock-names = "sata";
#phy-cells = <0x00000000>;
status = "okay";
phandle = <0x00000010>;
};
audio-controller@a0000 {
compatible = "marvell,kirkwood-audio";
#sound-dai-cells = <0x00000000>;
reg = <0x000a0000 0x00002210>;
interrupts = <0x00000018>;
clocks = <0x00000003 0x00000009>;
clock-names = "internal";
status = "disabled";
};
rtc@10300 {
compatible = "marvell,kirkwood-rtc", "marvell,orion-rtc";
reg = <0x00010300 0x00000020>;
interrupts = <0x00000035>;
clocks = <0x00000003 0x00000007>;
};
sata@80000 {
compatible = "marvell,orion-sata";
reg = <0x00080000 0x00005000>;
interrupts = <0x00000015>;
clocks = <0x00000003 0x0000000e 0x00000003 0x0000000f>;
clock-names = "0", "1";
phys = <0x0000000f 0x00000010>;
phy-names = "port0", "port1";
status = "okay";
nr-ports = <0x00000002>;
};
mvsdio@90000 {
compatible = "marvell,orion-sdio";
reg = <0x00090000 0x00000200>;
interrupts = <0x0000001c>;
clocks = <0x00000003 0x00000004>;
pinctrl-0 = <0x00000011>;
pinctrl-names = "default";
bus-width = <0x00000004>;
cap-sdio-irq;
cap-sd-highspeed;
cap-mmc-highspeed;
status = "disabled";
};
};
memory {
device_type = "memory";
reg = <0x00000000 0x20000000>;
};
chosen {
bootargs = "console=ttyS0,115200n8 earlyprintk";
stdout-path = "/ocp@f1000000/serial@12000";
};
};