1/* 2 * Device Tree file for Excito Bubba B3 3 * 4 * Copyright (C) 2013, Andrew Lunn <andrew@lunn.ch> 5 * 6 * This program is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU General Public License 8 * as published by the Free Software Foundation; either version 9 * 2 of the License, or (at your option) any later version. 10 * 11 * Note: This requires a new'ish version of u-boot, which disables the 12 * L2 cache. If your B3 silently fails to boot, u-boot is probably too 13 * old. Either upgrade, or consider the following email: 14 * 15 * http://lists.debian.org/debian-arm/2012/08/msg00128.html 16 */ 17 18/dts-v1/; 19 20#include "kirkwood.dtsi" 21#include "kirkwood-6281.dtsi" 22 23/ { 24 model = "Excito B3"; 25 compatible = "excito,b3", "marvell,kirkwood-88f6281", "marvell,kirkwood"; 26 memory { /* 512 MB */ 27 device_type = "memory"; 28 reg = <0x00000000 0x20000000>; 29 }; 30 31 chosen { 32 bootargs = "console=ttyS0,115200n8 earlyprintk"; 33 stdout-path = &uart0; 34 }; 35 36 ocp@f1000000 { 37 pinctrl: pin-controller@10000 { 38 pmx_button_power: pmx-button-power { 39 marvell,pins = "mpp39"; 40 marvell,function = "gpio"; 41 }; 42 pmx_led_green: pmx-led-green { 43 marvell,pins = "mpp38"; 44 marvell,function = "gpio"; 45 }; 46 pmx_led_red: pmx-led-red { 47 marvell,pins = "mpp41"; 48 marvell,function = "gpio"; 49 }; 50 pmx_led_blue: pmx-led-blue { 51 marvell,pins = "mpp42"; 52 marvell,function = "gpio"; 53 }; 54 pmx_beeper: pmx-beeper { 55 marvell,pins = "mpp40"; 56 marvell,function = "gpio"; 57 }; 58 }; 59 60 spi@10600 { 61 status = "okay"; 62 63 m25p16@0 { 64 #address-cells = <1>; 65 #size-cells = <1>; 66 compatible = "st,m25p16", "jedec,spi-nor"; 67 reg = <0>; 68 spi-max-frequency = <40000000>; 69 mode = <0>; 70 71 partition@0 { 72 reg = <0x0 0xc0000>; 73 label = "u-boot"; 74 }; 75 76 partition@c0000 { 77 reg = <0xc0000 0x20000>; 78 label = "u-boot env"; 79 }; 80 81 partition@e0000 { 82 reg = <0xe0000 0x120000>; 83 label = "data"; 84 }; 85 }; 86 }; 87 88 i2c@11000 { 89 status = "okay"; 90 /* 91 * There is something on the bus at address 0x64. 92 * Not yet identified what it is, maybe the eeprom 93 * for the Atheros WiFi chip? 94 */ 95 }; 96 97 98 serial@12000 { 99 /* Internal on test pins, 3.3v TTL 100 * UART0_RX = Testpoint 65 101 * UART0_TX = Testpoint 66 102 * See the Excito Wiki for more details. 103 */ 104 status = "okay"; 105 }; 106 107 sata@80000 { 108 /* One internal, the second as eSATA */ 109 status = "okay"; 110 nr-ports = <2>; 111 }; 112 }; 113 114 gpio-leds { 115 /* 116 * There is one LED "port" on the front and the colours 117 * mix together giving some interesting combinations. 118 */ 119 compatible = "gpio-leds"; 120 pinctrl-0 = < &pmx_led_green &pmx_led_red 121 &pmx_led_blue >; 122 pinctrl-names = "default"; 123 124 programming_led { 125 label = "bubba3:green:programming"; 126 gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>; 127 default-state = "off"; 128 }; 129 130 error_led { 131 label = "bubba3:red:error"; 132 gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>; 133 }; 134 135 active_led { 136 label = "bubba3:blue:active"; 137 gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>; 138 }; 139 }; 140 141 gpio-keys { 142 compatible = "gpio-keys"; 143 pinctrl-0 = <&pmx_button_power>; 144 pinctrl-names = "default"; 145 146 power-button { 147 /* On the back */ 148 label = "Power Button"; 149 linux,code = <KEY_POWER>; 150 gpios = <&gpio1 7 GPIO_ACTIVE_LOW>; 151 }; 152 }; 153 154 beeper: beeper { 155 /* 4KHz Piezoelectric buzzer */ 156 compatible = "gpio-beeper"; 157 pinctrl-0 = <&pmx_beeper>; 158 pinctrl-names = "default"; 159 gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>; 160 }; 161}; 162 163&mdio { 164 status = "okay"; 165 166 ethphy0: ethernet-phy@8 { 167 device_type = "ethernet-phy"; 168 reg = <8>; 169 }; 170 171 ethphy1: ethernet-phy@24 { 172 device_type = "ethernet-phy"; 173 reg = <24>; 174 }; 175}; 176 177ð0 { 178 status = "okay"; 179 ethernet0-port@0 { 180 phy-handle = <ðphy0>; 181 }; 182}; 183 184ð1 { 185 status = "okay"; 186 ethernet1-port@0 { 187 phy-handle = <ðphy1>; 188 }; 189}; 190 191/* Wifi model has Atheros chipset on pcie port */ 192&pciec { 193 status = "okay"; 194}; 195 196&pcie0 { 197 status = "okay"; 198}; 199