apm821xx: MBL: correct phy-mode delay settings
[openwrt/staging/ynezz.git] / target / linux / apm821xx / dts / wd-mybooklive.dts
index d841352292f5d4aee359edbef61bebff0ec38144..dcb8078050dad7cd8288f51738a2bbabe52b1662 100644 (file)
+// 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.
- *
- * 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 "apollo3g.dtsi"
+#include "apm82181.dtsi"
 
 / {
        compatible = "wd,mybooklive", "amcc,apollo3g";
        model = "MyBook Live";
+
+       aliases {
+               serial0 = &UART0;
+               led-boot = &status;
+               led-failsafe = &status;
+               led-running = &status;
+               led-upgrade = &status;
+       };
+};
+
+&POB0 {
+       ebc {
+               nor_flash@0,0 {
+                       status = "okay";
+                       compatible = "amd,s29gl512n", "jedec-probe", "cfi-flash", "mtd-rom";
+                       bank-width = <1>;
+                       reg = <0x00000000 0x00000000 0x00080000>;
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+
+                       partition@0 {
+                               /* Part of bootrom - Don't use it without a jump */
+                               label = "free";
+                               reg = <0x00000000 0x0001e000>;
+                       };
+
+                       partition@1e000 {
+                               label = "env";
+                               reg = <0x0001e000 0x00002000>;
+                       };
+
+                       partition@20000 {
+                               label = "uboot";
+                               reg = <0x00020000 0x00050000>;
+                       };
+               };
+       };
+
+       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";
+
+               failsafe: power-red {
+                       label = "mbl:red:power";
+                       gpios = <&GPIO1 4 GPIO_ACTIVE_HIGH>;
+                       linux,default-trigger = "panic";
+               };
+
+               status: power-green {
+                       label = "mbl:green:power";
+                       gpios = <&GPIO1 5 GPIO_ACTIVE_HIGH>;
+               };
+
+               power-blue {
+                       label = "mbl:blue:power";
+                       gpios = <&GPIO1 6 GPIO_ACTIVE_HIGH>;
+                       linux,default-trigger = "disk-activity";
+               };
+       };
+
+       keys {
+               compatible = "gpio-keys-polled";
+               poll-interval = <60>;   /* 3 * 20 = 60ms */
+               autorepeat;
+
+               reset-button {
+                       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_LOW>;
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+       };
+
+       sata1pwr: sata1-regulator {
+               compatible = "regulator-fixed";
+               regulator-name = "Power Drive Port 1";
+               gpios = <&GPIO1 3 GPIO_ACTIVE_LOW>;
+               regulator-min-microvolt = <12000000>;
+               regulator-max-microvolt = <12000000>;
+               regulator-always-on; /* needed to read OS from HDD */
+       };
+
+       sata0pwr: sata0-regulator {
+               compatible = "regulator-fixed";
+               regulator-name = "Power Drive Port 0";
+               gpios = <&GPIO1 7 GPIO_ACTIVE_LOW>;
+               regulator-min-microvolt = <12000000>;
+               regulator-max-microvolt = <12000000>;
+               regulator-always-on; /* needed to read OS from HDD */
+       };
+};
+
+&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>;
 };