Skip to content

Instantly share code, notes, and snippets.

@smlng
Last active February 17, 2016 13:37
Show Gist options
  • Save smlng/7638ec70173836e07672 to your computer and use it in GitHub Desktop.
Save smlng/7638ec70173836e07672 to your computer and use it in GitHub Desktop.
device trees of Raspberry Pi B, running Raspbian, with Linux Kernel 4.1.17+
/dts-v1/;
/ {
model = "Raspberry Pi Model B Plus Rev 1.2";
compatible = "brcm,bcm2708";
memreserve = <0x1c000000 0x4000000>;
#address-cells = <0x1>;
#size-cells = <0x1>;
interrupt-parent = <0x1>;
axi {
dma {
broadcom,channels = <0x7f35>;
};
usb {
hub {
ethernet {
mac-address = [b8 27 eb 26 dc 5b];
};
};
};
vc_mem {
reg = <0x1ec00000 0x20000000 0x40000000>;
};
};
soc {
compatible = "simple-bus";
ranges = <0x7e000000 0x20000000 0x1000000>;
#address-cells = <0x1>;
phandle = <0x1e>;
#size-cells = <0x1>;
linux,phandle = <0x1e>;
fb {
compatible = "brcm,bcm2708-fb";
firmware = <0x10>;
status = "okay";
phandle = <0x26>;
linux,phandle = <0x26>;
};
mailbox@7e00b800 {
reg = <0x7e00b880 0x40>;
interrupts = <0x0 0x1>;
compatible = "brcm,bcm2835-mbox";
#mbox-cells = <0x0>;
phandle = <0xe>;
linux,phandle = <0xe>;
};
leds {
compatible = "gpio-leds";
phandle = <0x25>;
linux,phandle = <0x25>;
act {
gpios = <0xf 0x2f 0x0>;
label = "led0";
linux,default-trigger = "mmc0";
phandle = <0x18>;
linux,phandle = <0x18>;
};
pwr {
gpios = <0xf 0x23 0x0>;
label = "led1";
linux,default-trigger = "input";
phandle = <0x19>;
linux,phandle = <0x19>;
};
};
mmc@7e300000 {
reg = <0x7e300000 0x100>;
dmas = <0x7 0xb 0x7 0xb>;
interrupts = <0x2 0x1e>;
compatible = "brcm,bcm2835-mmc";
bus-width = <0x4>;
clocks = <0xc>;
status = "okay";
phandle = <0x22>;
dma-names = "tx", "rx";
linux,phandle = <0x22>;
};
vchiq {
reg = <0x7e00b840 0xf>;
interrupts = <0x0 0x2>;
compatible = "brcm,bcm2835-vchiq";
cache-line-size = <0x20>;
firmware = <0x10>;
phandle = <0x11>;
linux,phandle = <0x11>;
};
thermal {
compatible = "brcm,bcm2835-thermal";
firmware = <0x10>;
phandle = <0x27>;
linux,phandle = <0x27>;
};
firmware {
compatible = "raspberrypi,bcm2835-firmware";
mboxes = <0xe>;
phandle = <0x10>;
linux,phandle = <0x10>;
};
i2c@7e205000 {
reg = <0x7e205000 0x1000>;
interrupts = <0x2 0x15>;
pinctrl-0 = <0x9>;
compatible = "brcm,bcm2708-i2c";
clock-frequency = <0x186a0>;
clocks = <0x6>;
status = "disabled";
#address-cells = <0x1>;
phandle = <0x15>;
#size-cells = <0x0>;
pinctrl-names = "default";
linux,phandle = <0x15>;
};
dma@7e007000 {
reg = <0x7e007000 0xf00>;
interrupts = <0x1 0x10 0x1 0x11 0x1 0x12 0x1 0x13 0x1 0x14 0x1 0x15 0x1 0x16 0x1 0x17 0x1 0x18 0x1 0x19 0x1 0x1a 0x1 0x1b>;
brcm,dma-channel-mask = <0xf35>;
compatible = "brcm,bcm2835-dma";
#dma-cells = <0x1>;
phandle = <0x7>;
linux,phandle = <0x7>;
};
usb@7e980000 {
reg = <0x7e980000 0x10000 0x7e006000 0x1000>;
interrupts = <0x2 0x0 0x1 0x9>;
compatible = "brcm,bcm2708-usb";
phandle = <0x24>;
linux,phandle = <0x24>;
};
i2s@7e203000 {
reg = <0x7e203000 0x24 0x7e101098 0x8>;
pinctrl-0 = <0x5>;
compatible = "brcm,bcm2708-i2s";
status = "disabled";
#sound-dai-cells = <0x0>;
phandle = <0x13>;
dma-names = "tx", "rx";
pinctrl-names = "default";
linux,phandle = <0x13>;
};
pwm@7e20c000 {
reg = <0x7e20c000 0x28>;
compatible = "brcm,bcm2835-pwm";
clocks = <0xa>;
#pwm-cells = <0x2>;
status = "disabled";
phandle = <0x20>;
linux,phandle = <0x20>;
};
i2c@7e804000 {
reg = <0x7e804000 0x1000>;
interrupts = <0x2 0x15>;
pinctrl-0 = <0xd>;
compatible = "brcm,bcm2708-i2c";
clock-frequency = <0x186a0>;
clocks = <0x6>;
status = "disabled";
#address-cells = <0x1>;
phandle = <0x16>;
#size-cells = <0x0>;
pinctrl-names = "default";
linux,phandle = <0x16>;
};
i2c@7e805000 {
reg = <0x7e805000 0x1000>;
interrupts = <0x2 0x15>;
compatible = "brcm,bcm2708-i2c";
clock-frequency = <0x186a0>;
clocks = <0x6>;
status = "disabled";
#address-cells = <0x1>;
phandle = <0x17>;
#size-cells = <0x0>;
linux,phandle = <0x17>;
};
cprman@7e101000 {
reg = <0x7e101000 0x2000>;
#clock-cells = <0x1>;
compatible = "brcm,bcm2835-cprman";
clocks = <0x2>;
status = "disabled";
phandle = <0x1f>;
linux,phandle = <0x1f>;
};
gpiomem {
reg = <0x7e200000 0x1000>;
compatible = "brcm,bcm2835-gpiomem";
status = "okay";
};
smi@7e600000 {
reg = <0x7e600000 0x44 0x7e1010b0 0x8>;
dmas = <0x7 0x4>;
interrupts = <0x2 0x10>;
brcm,smi-clock-source = <0x6>;
compatible = "brcm,bcm2835-smi";
brcm,smi-clock-divisor = <0x4>;
status = "disabled";
phandle = <0x23>;
dma-names = "rx-tx";
linux,phandle = <0x23>;
};
spi@7e204000 {
reg = <0x7e204000 0x1000>;
dmas = <0x7 0x6 0x7 0x7>;
interrupts = <0x2 0x16>;
pinctrl-0 = <0x8>;
compatible = "brcm,bcm2835-spi";
cs-gpios = <0x0 0x0>;
clocks = <0x6>;
status = "okay";
#address-cells = <0x1>;
phandle = <0x14>;
#size-cells = <0x0>;
dma-names = "tx", "rx";
pinctrl-names = "default";
linux,phandle = <0x14>;
spidev@0 {
reg = <0x0>;
compatible = "spidev";
spi-max-frequency = <0x7a120>;
status = "disabled";
#address-cells = <0x1>;
#size-cells = <0x0>;
};
spidev@1 {
reg = <0x1>;
compatible = "spidev";
spi-max-frequency = <0x7a120>;
#address-cells = <0x1>;
#size-cells = <0x0>;
};
at86rf233@0 {
reg = <0x0>;
interrupts = <0x17 0x4>;
compatible = "atmel,at86rf233";
sleep-gpio = <0xf 0x19 0x1>;
xtal-trim = [0f];
spi-max-frequency = <0x5b8d80>;
reset-gpio = <0xf 0x18 0x1>;
phandle = <0x29>;
linux,phandle = <0x29>;
interrupt-parent = <0xf>;
};
};
watchdog@7e100000 {
reg = <0x7e100000 0x28>;
compatible = "brcm,bcm2835-pm-wdt";
status = "disabled";
phandle = <0x1b>;
linux,phandle = <0x1b>;
};
rng@7e104000 {
reg = <0x7e104000 0x10>;
compatible = "brcm,bcm2835-rng";
status = "okay";
phandle = <0x1c>;
linux,phandle = <0x1c>;
};
arm-pmu {
compatible = "arm,arm1176-pmu";
};
gpio@7e200000 {
reg = <0x7e200000 0xb4>;
interrupts = <0x2 0x11 0x2 0x12>;
#gpio-cells = <0x2>;
compatible = "brcm,bcm2835-gpio";
#interrupt-cells = <0x2>;
phandle = <0xf>;
interrupt-controller;
gpio-controller;
linux,phandle = <0xf>;
i2s {
phandle = <0x5>;
brcm,function = <0x4>;
brcm,pins = <0x12 0x13 0x14 0x15>;
linux,phandle = <0x5>;
};
i2c0 {
phandle = <0x9>;
brcm,function = <0x4>;
brcm,pins = <0x0 0x1>;
linux,phandle = <0x9>;
};
i2c1 {
phandle = <0xd>;
brcm,function = <0x4>;
brcm,pins = <0x2 0x3>;
linux,phandle = <0xd>;
};
spi0_pins {
phandle = <0x8>;
brcm,function = <0x4>;
brcm,pins = <0x7 0x8 0x9 0xa 0xb>;
linux,phandle = <0x8>;
};
lowpan0_pins {
phandle = <0x2a>;
brcm,function = <0x0 0x1 0x1>;
brcm,pins = <0x17 0x18 0x19>;
linux,phandle = <0x2a>;
};
};
interrupt-controller {
reg = <0x7e00b200 0x200>;
compatible = "brcm,bcm2708-armctrl-ic";
#interrupt-cells = <0x2>;
phandle = <0x1>;
interrupt-controller;
linux,phandle = <0x1>;
};
uart@7e201000 {
reg = <0x7e201000 0x1000>;
interrupts = <0x2 0x19>;
compatible = "arm,pl011", "arm,primecell";
clock-names = "uartclk", "apb_pclk";
clocks = <0x3 0x4>;
status = "okay";
arm,primecell-periphid = <0x241011>;
phandle = <0x12>;
linux,phandle = <0x12>;
};
uart@7e215040 {
reg = <0x7e215040 0x40>;
interrupts = <0x1 0x1d>;
reg-shift = <0x2>;
no-loopback-test;
compatible = "brcm,bcm2835-aux-uart", "ns16550";
clocks = <0xb>;
status = "disabled";
phandle = <0x21>;
linux,phandle = <0x21>;
};
};
display {
broadcom,height = <0x0>;
broadcom,depth = <0x10>;
broadcom,width = <0x0>;
};
audio {
compatible = "brcm,bcm2835-audio";
status = "okay";
brcm,pwm-channels = <0x8>;
phandle = <0x1a>;
linux,phandle = <0x1a>;
};
sound {
phandle = <0x1d>;
linux,phandle = <0x1d>;
};
chosen {
bootargs = "dma.dmachans=0x7f35 bcm2708_fb.fbwidth=1680 bcm2708_fb.fbheight=1050 bcm2708.boardrev=0x10 bcm2708.serial=0xb26dc5b smsc95xx.macaddr=B8:27:EB:26:DC:5B bcm2708_fb.fbswap=1 bcm2708.uart_clock=3000000 bcm2708.disk_led_gpio=47 bcm2708.disk_led_active_low=0 sdhci-bcm2708.emmc_clock_freq=250000000 vc_mem.mem_base=0x1ec00000 vc_mem.mem_size=0x20000000 dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait";
};
clocks {
compatible = "simple-bus";
#address-cells = <0x1>;
phandle = <0x28>;
#size-cells = <0x0>;
linux,phandle = <0x28>;
clock@0 {
reg = <0x0>;
#clock-cells = <0x0>;
compatible = "fixed-clock";
clock-frequency = <0xee6b280>;
clock-output-names = "core";
phandle = <0x6>;
linux,phandle = <0x6>;
};
clock@1 {
reg = <0x1>;
#clock-cells = <0x0>;
compatible = "fixed-clock";
clock-frequency = <0xee6b280>;
clock-output-names = "mmc";
phandle = <0xc>;
linux,phandle = <0xc>;
};
clock@2 {
reg = <0x2>;
#clock-cells = <0x0>;
compatible = "fixed-clock";
clock-frequency = <0x2dc6c0>;
clock-output-names = "uart0_pclk";
phandle = <0x3>;
linux,phandle = <0x3>;
};
clock@3 {
reg = <0x3>;
#clock-cells = <0x0>;
compatible = "fixed-clock";
clock-frequency = <0x7829b80>;
clock-output-names = "apb_pclk";
phandle = <0x4>;
linux,phandle = <0x4>;
};
clock@4 {
reg = <0x4>;
#clock-cells = <0x0>;
compatible = "fixed-clock";
clock-frequency = <0x5f5e100>;
clock-output-names = "pwm";
phandle = <0xa>;
linux,phandle = <0xa>;
};
clock@5 {
reg = <0x5>;
#clock-cells = <0x0>;
compatible = "fixed-factor-clock";
clocks = <0x6>;
clock-div = <0x1>;
phandle = <0xb>;
clock-mult = <0x2>;
linux,phandle = <0xb>;
};
clock@6 {
reg = <0x6>;
#clock-cells = <0x0>;
compatible = "fixed-clock";
clock-frequency = <0x124f800>;
clock-output-names = "osc";
phandle = <0x2>;
linux,phandle = <0x2>;
};
};
memory {
reg = <0x0 0x1c000000>;
device_type = "memory";
};
system {
linux,revision = <0x10>;
linux,serial = <0x0 0xb26dc5b>;
};
__symbols__ {
fb = "/soc/fb";
i2c = "/soc/i2c@7e804000";
i2s = "/soc/i2s@7e203000";
dma = "/soc/dma@7e007000";
mmc = "/soc/mmc@7e300000";
pwm = "/soc/pwm@7e20c000";
smi = "/soc/smi@7e600000";
soc = "/soc";
usb = "/soc/usb@7e980000";
i2c0 = "/soc/i2c@7e205000";
i2c1 = "/soc/i2c@7e804000";
i2c2 = "/soc/i2c@7e805000";
gpio = "/soc/gpio@7e200000";
intc = "/soc/interrupt-controller";
leds = "/soc/leds";
spi0 = "/soc/spi@7e204000";
pwr_led = "/soc/leds/pwr";
i2c_arm = "/soc/i2c@7e804000";
audio = "/audio";
sound = "/sound";
uart0 = "/soc/uart@7e201000";
uart1 = "/soc/uart@7e215040";
vchiq = "/soc/vchiq";
i2s_pins = "/soc/gpio@7e200000/i2s";
mailbox = "/soc/mailbox@7e00b800";
thermal = "/soc/thermal";
clocks = "/clocks";
firmware = "/soc/firmware";
cprman = "/soc/cprman@7e101000";
i2c_vc = "/soc/i2c@7e205000";
watchdog = "/soc/watchdog@7e100000";
i2c0_pins = "/soc/gpio@7e200000/i2c0";
i2c1_pins = "/soc/gpio@7e200000/i2c1";
act_led = "/soc/leds/act";
random = "/soc/rng@7e104000";
spi0_pins = "/soc/gpio@7e200000/spi0_pins";
clk_apb_p = "/clocks/clock@3";
clk_uart0 = "/clocks/clock@2";
clk_uart1 = "/clocks/clock@5";
clk_core = "/clocks/clock@0";
clk_mmc = "/clocks/clock@1";
clk_osc = "/clocks/clock@6";
clk_pwm = "/clocks/clock@4";
};
aliases {
fb = "/soc/fb";
i2c = "/soc/i2c@7e804000";
i2s = "/soc/i2s@7e203000";
dma = "/soc/dma@7e007000";
mmc = "/soc/mmc@7e300000";
soc = "/soc";
usb = "/soc/usb@7e980000";
i2c0 = "/soc/i2c@7e205000";
i2c1 = "/soc/i2c@7e804000";
i2c2 = "/soc/i2c@7e805000";
gpio = "/soc/gpio@7e200000";
intc = "/soc/interrupt-controller";
leds = "/soc/leds";
spi0 = "/soc/spi@7e204000";
i2c_arm = "/soc/i2c@7e804000";
audio = "/audio";
sound = "/sound";
uart0 = "/soc/uart@7e201000";
uart1 = "/soc/uart@7e215040";
vchiq = "/soc/vchiq";
mailbox = "/soc/mailbox@7e00b800";
thermal = "/soc/thermal";
clocks = "/clocks";
i2c_vc = "/soc/i2c@7e205000";
watchdog = "/soc/watchdog@7e100000";
random = "/soc/rng@7e104000";
};
__overrides__ {
i2c = [00 00 00 16 73 74 61 74 75 73 00];
i2s = [00 00 00 13 73 74 61 74 75 73 00];
spi = [00 00 00 14 73 74 61 74 75 73 00];
act_led_trigger = [00 00 00 18 6c 69 6e 75 78 2c 64 65 66 61 75 6c 74 2d 74 72 69 67 67 65 72 00];
i2c0 = [00 00 00 15 73 74 61 74 75 73 00];
i2c1 = [00 00 00 16 73 74 61 74 75 73 00];
i2c_arm = [00 00 00 16 73 74 61 74 75 73 00];
audio = [00 00 00 1a 73 74 61 74 75 73 00];
uart0 = [00 00 00 12 73 74 61 74 75 73 00];
i2c2_iknowwhatimdoing = [00 00 00 17 73 74 61 74 75 73 00];
act_led_activelow = <0x18 0x6770696f 0x733a3800>;
pwr_led_gpio = <0x19 0x6770696f 0x733a3400>;
i2c0_baudrate = [00 00 00 15 63 6c 6f 63 6b 2d 66 72 65 71 75 65 6e 63 79 3a 30 00];
pwr_led_trigger = [00 00 00 19 6c 69 6e 75 78 2c 64 65 66 61 75 6c 74 2d 74 72 69 67 67 65 72 00];
i2c_vc_baudrate = [00 00 00 15 63 6c 6f 63 6b 2d 66 72 65 71 75 65 6e 63 79 3a 30 00];
uart0_clkrate = [00 00 00 03 63 6c 6f 63 6b 2d 66 72 65 71 75 65 6e 63 79 3a 30 00];
i2c_vc = [00 00 00 15 73 74 61 74 75 73 00];
i2c1_baudrate = [00 00 00 16 63 6c 6f 63 6b 2d 66 72 65 71 75 65 6e 63 79 3a 30 00];
i2c_baudrate = [00 00 00 16 63 6c 6f 63 6b 2d 66 72 65 71 75 65 6e 63 79 3a 30 00];
watchdog = [00 00 00 1b 73 74 61 74 75 73 00];
random = [00 00 00 1c 73 74 61 74 75 73 00];
i2c2_baudrate = [00 00 00 17 63 6c 6f 63 6b 2d 66 72 65 71 75 65 6e 63 79 3a 30 00];
core_freq = [00 00 00 06 63 6c 6f 63 6b 2d 66 72 65 71 75 65 6e 63 79 3a 30 00];
i2c_arm_baudrate = [00 00 00 16 63 6c 6f 63 6b 2d 66 72 65 71 75 65 6e 63 79 3a 30 00];
pwr_led_activelow = <0x19 0x6770696f 0x733a3800>;
act_led_gpio = <0x18 0x6770696f 0x733a3400>;
cache_line_size = [00 00 00 11 63 61 63 68 65 2d 6c 69 6e 65 2d 73 69 7a 65 3a 30 00];
};
};
/dts-v1/;
/ {
model = "Raspberry Pi Model B Plus Rev 1.2";
compatible = "raspberrypi,model-b-plus", "brcm,bcm2835";
memreserve = <0x1c000000 0x4000000>;
#address-cells = <0x1>;
#size-cells = <0x1>;
interrupt-parent = <0x1>;
axi {
dma {
broadcom,channels = <0x7f35>;
};
usb {
hub {
ethernet {
mac-address = [b8 27 eb 26 dc 5b];
};
};
};
sdhci {
clock-frequency = <0xee6b280>;
};
uart0 {
clock-frequency = <0x2dc6c0>;
};
vc_mem {
reg = <0x1ec00000 0x20000000 0x40000000>;
};
};
soc {
compatible = "simple-bus";
dma-ranges = <0x40000000 0x0 0x20000000>;
ranges = <0x7e000000 0x20000000 0x2000000>;
#address-cells = <0x1>;
phandle = <0x14>;
#size-cells = <0x1>;
linux,phandle = <0x14>;
fb {
compatible = "brcm,bcm2708-fb";
firmware = <0xc>;
phandle = <0x1a>;
linux,phandle = <0x1a>;
};
mailbox@7e00b800 {
reg = <0x7e00b880 0x40>;
interrupts = <0x0 0x1>;
compatible = "brcm,bcm2835-mbox";
#mbox-cells = <0x0>;
phandle = <0xb>;
linux,phandle = <0xb>;
};
mmc@7e300000 {
reg = <0x7e300000 0x100>;
dmas = <0x2 0xb 0x2 0xb>;
interrupts = <0x2 0x1e>;
compatible = "brcm,bcm2835-mmc";
bus-width = <0x4>;
clocks = <0x9>;
status = "okay";
phandle = <0x18>;
dma-names = "tx", "rx";
linux,phandle = <0x18>;
};
timer@7e003000 {
reg = <0x7e003000 0x1000>;
interrupts = <0x1 0x0 0x1 0x1 0x1 0x2 0x1 0x3>;
compatible = "brcm,bcm2835-system-timer";
clock-frequency = <0xf4240>;
};
vchiq {
reg = <0x7e00b840 0xf>;
interrupts = <0x0 0x2>;
compatible = "brcm,bcm2835-vchiq";
cache-line-size = <0x20>;
firmware = <0xc>;
phandle = <0x1c>;
linux,phandle = <0x1c>;
};
thermal {
compatible = "brcm,bcm2835-thermal";
firmware = <0xc>;
phandle = <0x1b>;
linux,phandle = <0x1b>;
};
firmware {
compatible = "raspberrypi,bcm2835-firmware";
mboxes = <0xb>;
phandle = <0xc>;
linux,phandle = <0xc>;
};
interrupt-controller@7e00b200 {
reg = <0x7e00b200 0x200>;
compatible = "brcm,bcm2835-armctrl-ic";
#interrupt-cells = <0x2>;
phandle = <0x1>;
interrupt-controller;
linux,phandle = <0x1>;
};
dma@7e007000 {
reg = <0x7e007000 0xf00>;
interrupts = <0x1 0x10 0x1 0x11 0x1 0x12 0x1 0x13 0x1 0x14 0x1 0x15 0x1 0x16 0x1 0x17 0x1 0x18 0x1 0x19 0x1 0x1a 0x1 0x1b 0x1 0x1c>;
brcm,dma-channel-mask = <0x7f35>;
compatible = "brcm,bcm2835-dma";
#dma-cells = <0x1>;
phandle = <0x2>;
linux,phandle = <0x2>;
};
usb@7e980000 {
reg = <0x7e980000 0x10000 0x7e006000 0x1000>;
interrupts = <0x2 0x0 0x1 0x9>;
compatible = "brcm,bcm2708-usb";
phandle = <0x19>;
linux,phandle = <0x19>;
};
i2s@7e203000 {
reg = <0x7e203000 0x24 0x7e101098 0x8>;
dmas = <0x2 0x2 0x2 0x3>;
pinctrl-0 = <0x3>;
compatible = "brcm,bcm2835-i2s";
status = "disabled";
#sound-dai-cells = <0x0>;
phandle = <0xd>;
dma-names = "tx", "rx";
pinctrl-names = "default";
linux,phandle = <0xd>;
};
i2c@7e804000 {
reg = <0x7e804000 0x1000>;
interrupts = <0x2 0x15>;
pinctrl-0 = <0xa>;
compatible = "brcm,bcm2835-i2c";
clock-frequency = <0x186a0>;
clocks = <0x7>;
status = "disabled";
#address-cells = <0x1>;
phandle = <0x10>;
#size-cells = <0x0>;
pinctrl-names = "default";
linux,phandle = <0x10>;
};
spi@7e204000 {
reg = <0x7e204000 0x1000>;
interrupts = <0x2 0x16>;
pinctrl-0 = <0x5>;
compatible = "brcm,bcm2835-spi";
clocks = <0x4>;
status = "okay";
#address-cells = <0x1>;
phandle = <0xe>;
#size-cells = <0x0>;
pinctrl-names = "default";
linux,phandle = <0xe>;
spidev@0 {
reg = <0x0>;
compatible = "spidev";
spi-max-frequency = <0x7a120>;
status = "disabled";
#address-cells = <0x1>;
#size-cells = <0x0>;
};
spidev@1 {
reg = <0x1>;
compatible = "spidev";
spi-max-frequency = <0x7a120>;
status = "disabled";
#address-cells = <0x1>;
#size-cells = <0x0>;
};
at86rf233@0 {
reg = <0x0>;
interrupts = <0x17 0x4>;
compatible = "atmel,at86rf233";
sleep-gpio = <0x6 0x19 0x1>;
xtal-trim = [0f];
spi-max-frequency = <0x5b8d80>;
reset-gpio = <0x6 0x18 0x1>;
interrupt-parent = <0x6>;
};
};
watchdog@7e100000 {
reg = <0x7e100000 0x28>;
compatible = "brcm,bcm2835-pm-wdt";
phandle = <0x15>;
linux,phandle = <0x15>;
};
rng@7e104000 {
reg = <0x7e104000 0x10>;
compatible = "brcm,bcm2835-rng";
phandle = <0x16>;
linux,phandle = <0x16>;
};
i2c@20205000 {
reg = <0x7e205000 0x1000>;
interrupts = <0x2 0x15>;
pinctrl-0 = <0x8>;
compatible = "brcm,bcm2835-i2c";
clock-frequency = <0x186a0>;
clocks = <0x7>;
status = "disabled";
#address-cells = <0x1>;
phandle = <0xf>;
#size-cells = <0x0>;
pinctrl-names = "default";
linux,phandle = <0xf>;
};
arm-pmu {
compatible = "arm,arm1176-pmu";
};
gpio@7e200000 {
reg = <0x7e200000 0xb4>;
interrupts = <0x2 0x11 0x2 0x12 0x2 0x13 0x2 0x14>;
#gpio-cells = <0x2>;
compatible = "brcm,bcm2835-gpio";
#interrupt-cells = <0x2>;
phandle = <0x6>;
interrupt-controller;
gpio-controller;
linux,phandle = <0x6>;
i2s {
phandle = <0x3>;
brcm,function = <0x4>;
brcm,pins = <0x12 0x13 0x14 0x15>;
linux,phandle = <0x3>;
};
i2c0 {
phandle = <0x8>;
brcm,function = <0x4>;
brcm,pins = <0x0 0x1>;
linux,phandle = <0x8>;
};
i2c1 {
phandle = <0xa>;
brcm,function = <0x4>;
brcm,pins = <0x2 0x3>;
linux,phandle = <0xa>;
};
spi0_pins {
phandle = <0x5>;
brcm,function = <0x4>;
brcm,pins = <0x7 0x8 0x9 0xa 0xb>;
linux,phandle = <0x5>;
};
};
uart@7e201000 {
reg = <0x7e201000 0x1000>;
interrupts = <0x2 0x19>;
compatible = "brcm,bcm2835-pl011", "arm,pl011", "arm,primecell";
clock-frequency = <0x2dc6c0>;
arm,primecell-periphid = <0x241011>;
phandle = <0x17>;
linux,phandle = <0x17>;
};
};
leds {
compatible = "gpio-leds";
phandle = <0x1d>;
linux,phandle = <0x1d>;
act {
gpios = <0x6 0x2f 0x0>;
label = "led0";
linux,default-trigger = "mmc0";
phandle = <0x11>;
linux,phandle = <0x11>;
};
pwr {
gpios = <0x6 0x23 0x0>;
label = "led1";
linux,default-trigger = "input";
phandle = <0x13>;
linux,phandle = <0x13>;
};
};
display {
broadcom,height = <0x0>;
broadcom,depth = <0x10>;
broadcom,width = <0x0>;
};
audio {
compatible = "brcm,bcm2835-audio";
status = "okay";
brcm,pwm-channels = <0x8>;
phandle = <0x12>;
linux,phandle = <0x12>;
};
sound {
phandle = <0x1e>;
linux,phandle = <0x1e>;
};
chosen {
bootargs = "dma.dmachans=0x7f35 bcm2708_fb.fbwidth=1680 bcm2708_fb.fbheight=1050 bcm2708.boardrev=0x10 bcm2708.serial=0xb26dc5b smsc95xx.macaddr=B8:27:EB:26:DC:5B bcm2708_fb.fbswap=1 bcm2708.disk_led_gpio=47 bcm2708.disk_led_active_low=0 sdhci-bcm2708.emmc_clock_freq=250000000 vc_mem.mem_base=0x1ec00000 vc_mem.mem_size=0x20000000 dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait";
};
clocks {
compatible = "simple-bus";
#address-cells = <0x1>;
#size-cells = <0x0>;
clock@0 {
reg = <0x0>;
#clock-cells = <0x0>;
compatible = "fixed-clock";
clock-frequency = <0xee6b280>;
clock-output-names = "mmc";
phandle = <0x9>;
linux,phandle = <0x9>;
};
clock@1 {
reg = <0x1>;
#clock-cells = <0x0>;
compatible = "fixed-clock";
clock-frequency = <0xee6b280>;
clock-output-names = "i2c";
phandle = <0x7>;
linux,phandle = <0x7>;
};
clock@2 {
reg = <0x2>;
#clock-cells = <0x0>;
compatible = "fixed-clock";
clock-frequency = <0xee6b280>;
clock-output-names = "spi";
phandle = <0x4>;
linux,phandle = <0x4>;
};
};
memory {
reg = <0x0 0x1c000000>;
device_type = "memory";
};
system {
linux,revision = <0x10>;
linux,serial = <0x0 0xb26dc5b>;
};
__symbols__ {
fb = "/soc/fb";
i2c = "/soc/i2c@7e804000";
i2s = "/soc/i2s@7e203000";
dma = "/soc/dma@7e007000";
mmc = "/soc/mmc@7e300000";
soc = "/soc";
usb = "/soc/usb@7e980000";
i2c0 = "/soc/i2c@20205000";
i2c1 = "/soc/i2c@7e804000";
gpio = "/soc/gpio@7e200000";
intc = "/soc/interrupt-controller@7e00b200";
leds = "/leds";
spi0 = "/soc/spi@7e204000";
pwr_led = "/leds/pwr";
i2c_arm = "/soc/i2c@7e804000";
audio = "/audio";
sound = "/sound";
uart0 = "/soc/uart@7e201000";
vchiq = "/soc/vchiq";
i2s_pins = "/soc/gpio@7e200000/i2s";
mailbox = "/soc/mailbox@7e00b800";
thermal = "/soc/thermal";
firmware = "/soc/firmware";
i2c_vc = "/soc/i2c@20205000";
watchdog = "/soc/watchdog@7e100000";
i2c0_pins = "/soc/gpio@7e200000/i2c0";
i2c1_pins = "/soc/gpio@7e200000/i2c1";
act_led = "/leds/act";
random = "/soc/rng@7e104000";
spi0_pins = "/soc/gpio@7e200000/spi0_pins";
clk_i2c = "/clocks/clock@1";
clk_mmc = "/clocks/clock@0";
clk_spi = "/clocks/clock@2";
};
aliases {
i2c = "/soc/i2c@7e804000";
i2s = "/soc/i2s@7e203000";
soc = "/soc";
i2c0 = "/soc/i2c@20205000";
i2c1 = "/soc/i2c@7e804000";
gpio = "/soc/gpio@7e200000";
intc = "/soc/interrupt-controller@7e00b200";
leds = "/leds";
spi0 = "/soc/spi@7e204000";
i2c_arm = "/soc/i2c@7e804000";
sound = "/sound";
i2c_vc = "/soc/i2c@20205000";
};
__overrides__ {
i2c = [00 00 00 10 73 74 61 74 75 73 00];
i2s = "", "", "", "\rstatus";
spi = [00 00 00 0e 73 74 61 74 75 73 00];
act_led_trigger = [00 00 00 11 6c 69 6e 75 78 2c 64 65 66 61 75 6c 74 2d 74 72 69 67 67 65 72 00];
i2c0 = [00 00 00 0f 73 74 61 74 75 73 00];
i2c1 = [00 00 00 10 73 74 61 74 75 73 00];
i2c_arm = [00 00 00 10 73 74 61 74 75 73 00];
audio = [00 00 00 12 73 74 61 74 75 73 00];
act_led_activelow = <0x11 0x6770696f 0x733a3800>;
pwr_led_gpio = <0x13 0x6770696f 0x733a3400>;
i2c0_baudrate = [00 00 00 0f 63 6c 6f 63 6b 2d 66 72 65 71 75 65 6e 63 79 3a 30 00];
pwr_led_trigger = [00 00 00 13 6c 69 6e 75 78 2c 64 65 66 61 75 6c 74 2d 74 72 69 67 67 65 72 00];
i2c_vc_baudrate = [00 00 00 0f 63 6c 6f 63 6b 2d 66 72 65 71 75 65 6e 63 79 3a 30 00];
i2c_vc = [00 00 00 0f 73 74 61 74 75 73 00];
i2c1_baudrate = [00 00 00 10 63 6c 6f 63 6b 2d 66 72 65 71 75 65 6e 63 79 3a 30 00];
i2c_baudrate = [00 00 00 10 63 6c 6f 63 6b 2d 66 72 65 71 75 65 6e 63 79 3a 30 00];
i2c_arm_baudrate = [00 00 00 10 63 6c 6f 63 6b 2d 66 72 65 71 75 65 6e 63 79 3a 30 00];
pwr_led_activelow = <0x13 0x6770696f 0x733a3800>;
act_led_gpio = <0x11 0x6770696f 0x733a3400>;
};
};
@smlng
Copy link
Author

smlng commented Feb 17, 2016

The first configuration with a self compiled kernel 4.1.17+ and modified device tree using bcm2835-rpi-b-plus without dt overlays is working for the at86rf233, ping other 6lowpan nodes works as expected. Not weird dmesg entries.

The second configuration with default kernel of latest raspbian release (also 4.1.17+) uses device tree config for bcm2708-rpi-b-plus with overlay for at86rf233 is not working correctly. That means: the kernel inits the transceiver but all frame received are somewhat garbled and dmesg shows entries like ieee802154: bad frame received (type = 0).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment