openwrtv3/target/linux/apm821xx/dts/MX60.dts
Christian Lamparter 64b36fee8e apm821xx: dts: append SoC compatible to DTS
This patch appends the "apm,bluestone" or "amcc,apollo3g"
machine compatible string to the current device tree source.

Please note that unlike other archs the PPC DT code does
not regard the machine's compatible string as a priority
list. This is explained in the kernel's usage-model.txt as follows:
"PowerPC uses a slightly different scheme where it calls the .probe()
hook from each machine_desc, and the first one returning TRUE is used.
However, this approach does not take into account the priority of the
compatible list, and probably should be avoided for new architecture
support."

For this reason, the "apm,bluestone" compatible string can't be
added to the WNDR4700. As otherwise the target specific pci
fix-up code will get ignored and this causes the ath9k WIFI
to not get initialized.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2017-12-21 01:05:16 +01:00

190 lines
3.1 KiB
Text

/*
* Device Tree Source for Meraki MX60/MX60W (Buckminster)
*
* Copyright (C) 2016 Chris Blake <chrisrblake93@gmail.com>
*
* Based on Cisco Meraki DTS extracted from release wired-12-217818
*
* This file is licensed under the terms of the GNU General Public
* License version 2. This program is licensed "as is" without
* any warranty of any kind, whether express or implied.
*/
/dts-v1/;
#include "apm82181.dtsi"
/ {
model = "Meraki MX60/MX60W Security Appliance";
compatible = "meraki,buckminster", "apm,bluestone";
aliases {
serial0 = &UART1;
led-boot = &status;
led-failsafe = &failsafe;
led-running = &status;
led-upgrade = &status;
};
chosen {
linux,stdout-path = "/plb/opb/serial@ef600400";
};
};
&CRYPTO {
status = "okay";
};
&PKA {
status = "okay";
};
&TRNG {
status = "okay";
};
&USBOTG0 {
status = "okay";
dr_mode = "host";
};
&EBC0 {
/* Buckminster has 1GiB of NAND */
ndfc@1,0 {
status = "okay";
nand {
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "u-boot";
reg = <0x00000000 0x00100000>;
read-only;
};
partition@100000 {
label = "u-boot-env";
reg = <0x00100000 0x00100000>;
read-only;
};
partition@200000 {
label = "oops";
reg = <0x00200000 0x00040000>;
};
partition@240000 {
label = "ubi";
reg = <0x00240000 0x3fdc0000>;
};
all {
label = "all";
reg = <0x00000000 0x40000000>;
};
};
};
};
&UART1 {
status = "okay";
};
&GPIO0 {
status = "okay";
};
&IIC0 {
status = "okay";
};
&EMAC0 {
status = "okay";
phy-handle = <&phy0>;
mdio {
#address-cells = <1>;
#size-cells = <0>;
phy0: ethernet-phy@0 {
device_type = "ethernet-phy";
reg = <0>;
qca,ar8327-initvals = <
0x0010 0x40000000
0x0624 0x007f7f7f
0x0004 0x07a00000 /* PAD0_MODE */
0x000c 0x01000000 /* PAD6_MODE */
0x007c 0x0000007e /* PORT0_STATUS */
>;
};
};
};
&POB0 {
gpio-leds {
compatible = "gpio-leds";
status: power-green {
label = "mx60:green:power";
gpios = <&GPIO0 18 GPIO_ACTIVE_LOW>;
};
failsafe: power-orange {
label = "mx60:orange:power";
gpios = <&GPIO0 19 GPIO_ACTIVE_LOW>;
};
wan-green {
label = "mx60:green:wan";
gpios = <&GPIO0 17 GPIO_ACTIVE_LOW>;
};
wan-orange {
label = "mx60:orange:wan";
gpios = <&GPIO0 15 GPIO_ACTIVE_LOW>;
};
lan1 {
label = "mx60:green:lan1";
gpios = <&GPIO0 20 GPIO_ACTIVE_LOW>;
};
lan2 {
label = "mx60:green:lan2";
gpios = <&GPIO0 21 GPIO_ACTIVE_LOW>;
};
lan3 {
label = "mx60:green:lan3";
gpios = <&GPIO0 22 GPIO_ACTIVE_LOW>;
};
lan4 {
label = "mx60:green:lan4";
gpios = <&GPIO0 23 GPIO_ACTIVE_LOW>;
};
};
gpio_keys_polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <60>; /* 3 * 20 = 60ms */
autorepeat;
button@1 {
label = "Reset button";
linux,code = <KEY_RESTART>;
gpios = <&GPIO0 16 GPIO_ACTIVE_LOW>;
};
};
};
&PCIE0 {
/* Leave this enabled as u-boot on the MX60 will disable it for us */
status = "okay";
};
&MSI {
status = "okay";
};