openwrt/target/linux/apm821xx/dts/wd-mybooklive.dts
Christian Lamparter 7e53473ee8 apm821xx: add u-boot,env compatible
Note about the MyBook Live.
The MyBook Live didn't have the encompassing fixed-partitions.
This is needed for the u-boot,env compatible to be read as otherwise
the kernel assumes this is a legacy NOR/NAND node and this binding
is unsupported.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2024-03-02 14:08:04 +01:00

247 lines
4.8 KiB
Plaintext

// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright 2008 DENX Software Engineering, Stefan Roese <sr@denx.de>
* (c) Copyright 2010 Western Digital Technologies, Inc. All Rights Reserved.
*/
/dts-v1/;
#include <dt-bindings/leds/common.h>
#include "apm82181.dtsi"
/ {
compatible = "wd,mybooklive", "amcc,apollo3g";
model = "MyBook Live";
aliases {
serial0 = &UART0;
};
};
&POB0 {
ebc {
nor_flash@0,0 {
status = "okay";
compatible = "jedec-flash"; /* "microchip,sst39vf040 */
bank-width = <1>;
reg = <0x00000000 0x00000000 0x00080000>;
#address-cells = <1>;
#size-cells = <1>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
/* Part of bootrom - Don't use it without a jump */
label = "free";
reg = <0x00000000 0x0001e000>;
read-only;
};
partition@1e000 {
compatible = "fixed-partitions";
reg = <0x0001e000 0x00002000>;
label = "u-boot-env";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
compatible = "u-boot,env-redundant-bool";
reg = <0x00000000 0x00001000>;
label = "u-boot-env-1";
ethaddr {
};
};
/*
* Causes the following warning: * sysfs: cannot create duplicate filename '/bus/nvmem/devices/u-boot-env0'
*
* partition@1000 {
* compatible = "u-boot,env-redundant-bool";
* reg = <0x00001000 0x00001000>;
* label = "u-boot-env-2";
*
* };
*/
};
partition@20000 {
label = "uboot";
reg = <0x00020000 0x00050000>;
read-only;
};
};
};
};
GPIO1: gpio@e0000000 {
compatible = "wd,mbl-gpio", "ti,74273";
reg-names = "dat";
reg = <0xe0000000 0x1>;
#gpio-cells = <2>;
gpio-controller;
enable-button {
/* Defined in u-boot as: NOT_NOR
* "enables features other than NOR
* specifically, the buffer at CS2"
* (button).
*
* Note: This option is disabled as
* it prevents the system from being
* rebooted successfully.
*/
gpio-hog;
line-name = "Enable Reset Button, disable NOR";
gpios = <1 GPIO_ACTIVE_HIGH>;
output-low;
};
};
GPIO2: gpio@e0100000 {
compatible = "wd,mbl-gpio", "ti,74244";
reg-names = "dat";
reg = <0xe0100000 0x1>;
#gpio-cells = <2>;
gpio-controller;
no-output;
};
leds {
compatible = "gpio-leds";
/* There's just one tri-color LED with three separate pins.
* One pin for each color (red, green and blue). Each has
* a different meaning.
*/
led-0 {
color = <LED_COLOR_ID_RED>;
function = LED_FUNCTION_FAULT;
gpios = <&GPIO1 4 GPIO_ACTIVE_HIGH>;
panic-indicator;
};
led-1 {
color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_POWER;
gpios = <&GPIO1 5 GPIO_ACTIVE_HIGH>;
};
led-2 {
color = <LED_COLOR_ID_BLUE>;
function = LED_FUNCTION_DISK;
gpios = <&GPIO1 6 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "disk-activity";
};
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <60>; /* 3 * 20 = 60ms */
autorepeat;
button-restart {
label = "Reset button";
linux,code = <KEY_RESTART>;
gpios = <&GPIO2 2 GPIO_ACTIVE_LOW>;
};
};
usbpwr: usb-regulator {
compatible = "regulator-fixed";
regulator-name = "Power USB Core";
gpios = <&GPIO1 2 GPIO_ACTIVE_HIGH>;
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
regulator-boot-on; /* uboot sets this */
enable-active-high;
};
sata1pwr: sata1-regulator {
compatible = "regulator-fixed";
regulator-name = "Power Drive Port 1";
gpios = <&GPIO1 3 GPIO_ACTIVE_HIGH>;
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
regulator-boot-on; /* uboot sets this */
regulator-always-on; /* needed to read OS from HDD */
enable-active-high;
};
sata0pwr: sata0-regulator {
compatible = "regulator-fixed";
regulator-name = "Power Drive Port 0";
gpios = <&GPIO1 7 GPIO_ACTIVE_HIGH>;
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
regulator-boot-on; /* uboot sets this */
regulator-always-on; /* needed to read OS from HDD */
enable-active-high;
};
};
&EMAC0 {
status = "okay";
phy-map = <0x2>;
phy-address = <0x1>;
phy-handle = <&phy>;
phy-mode = "rgmii-id";
mdio {
#address-cells = <1>;
#size-cells = <0>;
reset-gpios = <&GPIO1 0 GPIO_ACTIVE_LOW>;
phy: phy@1 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <1>;
};
};
};
&CRYPTO {
status = "okay";
};
&PKA {
status = "okay";
};
&TRNG {
status = "okay";
};
&SATA0 {
status = "okay";
drive0: sata-port@0 {
reg = <0>;
#thermal-sensor-cells = <0>;
};
};
&SATA1 {
status = "okay";
drive1: sata-port@0 {
reg = <0>;
#thermal-sensor-cells = <0>;
};
};
&UART0 {
status = "okay";
};
&USBOTG0 {
status = "okay";
dr_mode = "host";
vbus-supply = <&usbpwr>;
};