openwrt/target/linux/mpc85xx/files/arch/powerpc/boot/dts/hiveap-330.dts

316 lines
6.4 KiB
Plaintext

/*
* Aerohive HiveAP-330 Device Tree Source
*
* Copyright (C) 2017 Chris Blake <chrisrblake93@gmail.com>
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation; either version 2 of the License, or (at your
* option) any later version.
*/
#include <dt-bindings/leds/common.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/gpio/gpio.h>
/include/ "fsl/p1020si-pre.dtsi"
/ {
model = "Aerohive HiveAP-330";
compatible = "aerohive,hiveap-330";
aliases {
led-boot = &led_power_green;
led-failsafe = &led_fault_red;
led-running = &led_power_green;
led-upgrade = &led_fault_red;
label-mac-device = &enet0;
spi0 = &spi0;
};
memory {
device_type = "memory";
};
board_lbc: lbc: localbus@ffe05000 {
reg = <0 0xffe05000 0 0x1000>;
ranges = <0x0 0x0 0x0 0xec000000 0x4000000>;
nor@0,0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "cfi-flash";
reg = <0x0 0x0 0x4000000>;
bank-width = <2>;
device-width = <1>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
firmware@0 {
reg = <0x0 0x3f00000>;
label = "firmware";
/*
* This unknown/invalid compatible prevents
* openwrt's mtdsplit_fit to go off a tangent if it
* finds a magic value inside the uncompressed kernel
* at a blocksized aligned place.
*/
compatible = "areohive,hiveap-330-image";
};
partition@0 {
reg = <0x0 0x40000>;
label = "dtb";
};
partition@40000 {
compatible = "openwrt,uimage", "denx,uimage";
reg = <0x40000 0x3ec0000>;
label = "kernel";
};
partition@3f00000 {
reg = <0x3f00000 0x20000>;
label = "hw-info";
read-only;
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_hwinfo_0: macaddr@0 {
reg = <0x0 0x6>;
};
};
partition@3f20000 {
reg = <0x3f20000 0x20000>;
label = "boot-info";
read-only;
};
partition@3f40000 {
reg = <0x3f40000 0x20000>;
label = "boot-info-backup";
read-only;
};
partition@3f60000 {
reg = <0x3f60000 0x20000>;
label = "u-boot-env";
};
partition@3f80000 {
reg = <0x3f80000 0x80000>;
label = "u-boot";
read-only;
};
};
};
};
board_soc: soc: soc@ffe00000 {
ranges = <0x0 0x0 0xffe00000 0x100000>;
spi0: spi@7000 {
temperature-sensor@1 {
compatible = "ti,tmp125";
reg = <1>;
spi-max-frequency = <5000000>;
};
};
i2c@3100 {
tpm@29 {
compatible = "atmel,at97sc3204t";
reg = <0x29>;
};
lp5521@32 {
compatible = "national,lp5521";
reg = <0x32>;
clock-mode = /bits/ 8 <2>;
#if 1
led_fault_red: led@0 {
reg = <0>;
chan-name = "fault:red";
led-cur = /bits/ 8 <0x2f>;
max-cur = /bits/ 8 <0x5f>;
color = <LED_COLOR_ID_RED>;
function = LED_FUNCTION_FAULT;
};
led_power_green: led@1 {
reg = <1>;
chan-name = "power:green";
led-cur = /bits/ 8 <0x2f>;
max-cur = /bits/ 8 <0x5f>;
color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_POWER;
};
led@2{
reg = <2>;
chan-name = "blue";
led-cur = /bits/ 8 <0x2f>;
max-cur = /bits/ 8 <0x5f>;
color = <LED_COLOR_ID_BLUE>;
};
#else
/*
* openwrt isn't ready to handle multi-intensity leds yet
* # echo 255 255 255 > /sys/class/leds/tricolor/multi_intensity
* # echo 255 > /sys/class/leds/tricolor/brightness
*/
rgbled-0 {
function = LED_FUNCTION_POWER;
color = <LED_COLOR_ID_RGB>;
#address-cells = <1>;
#size-cells = <0>;
led@0 {
reg = <0>;
chan-name = "tricolor";
led-cur = /bits/ 8 <0x2f>;
max-cur = /bits/ 8 <0x5f>;
color = <LED_COLOR_ID_RED>;
};
led@1 {
reg = <1>;
chan-name = "tricolor";
led-cur = /bits/ 8 <0x2f>;
max-cur = /bits/ 8 <0x5f>;
color = <LED_COLOR_ID_GREEN>;
};
led@2{
reg = <2>;
chan-name = "tricolor";
led-cur = /bits/ 8 <0x2f>;
max-cur = /bits/ 8 <0x5f>;
color = <LED_COLOR_ID_BLUE>;
};
};
#endif
};
eeprom@51 {
/*
* 1Kbit I2C/SMBus EEPROM with SHA-1 Engine
* Aerohive calls it "dallas".
*/
compatible = "adi,ds28cn01";
reg = <0x51>;
read-only;
};
};
mdio@24000 {
phy0: ethernet-phy@0 {
interrupts = <3 1 0 0>;
reg = <0x1>;
};
phy1: ethernet-phy@1 {
interrupts = <2 1 0 0>;
reg = <0x2>;
};
};
mdio@25000 {
status = "disabled";
};
mdio@26000 {
status = "disabled";
};
enet0: ethernet@b0000 {
status = "okay";
phy-handle = <&phy0>;
phy-connection-type = "rgmii-id";
nvmem-cells = <&macaddr_hwinfo_0>;
nvmem-cell-names = "mac-address";
};
enet1: ethernet@b1000 {
status = "disabled";
};
enet2: ethernet@b2000 {
status = "okay";
phy-handle = <&phy1>;
phy-connection-type = "rgmii-id";
nvmem-cells = <&macaddr_hwinfo_0>;
nvmem-cell-names = "mac-address";
mac-address-increment = <1>;
};
gpio0: gpio-controller@fc00 {
};
usb@22000 {
phy_type = "ulpi";
dr_mode = "host";
};
usb@23000 {
status = "disabled";
};
};
pci0: pcie@ffe09000 {
reg = <0x0 0xffe09000 0x0 0x1000>;
ranges = <0x2000000 0x0 0xa0000000 0x0 0xa0000000 0x0 0x20000000
0x1000000 0x0 0x00000000 0x0 0xffc30000 0x0 0x10000>;
pcie@0 {
ranges = <0x2000000 0x0 0xa0000000
0x2000000 0x0 0xa0000000
0x0 0x20000000
0x1000000 0x0 0x0
0x1000000 0x0 0x0
0x0 0x100000>;
};
};
pci1: pcie@ffe0a000 {
reg = <0x0 0xffe0a000 0x0 0x1000>;
ranges = <0x2000000 0x0 0xc0000000 0x0 0xc0000000 0x0 0x20000000
0x1000000 0x0 0x00000000 0x0 0xffc20000 0x0 0x10000>;
pcie@0 {
ranges = <0x2000000 0x0 0xc0000000
0x2000000 0x0 0xc0000000
0x0 0x20000000
0x1000000 0x0 0x0
0x1000000 0x0 0x0
0x0 0x100000>;
};
};
buttons {
compatible = "gpio-keys";
reset {
label = "Reset button";
gpios = <&gpio0 8 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
};
/include/ "fsl/p1020si-post.dtsi"
/*
* For the OpenWrt 22.03 release, since Linux 5.10.138 now uses
* aliases to determine PCI domain numbers, drop aliases so as not to
* change the sysfs path of our wireless netdevs.
*/
/ {
aliases {
/delete-property/ pci0;
/delete-property/ pci1;
};
};