* 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 = &tricolor_green;
- led-failsafe = &tricolor_red;
- led-running = &tricolor_green;
- led-upgrade = &tricolor_red;
- };
-
- chosen {
- bootargs-override = "console=ttyS0,9600";
+ 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 {
bank-width = <2>;
device-width = <1>;
- partition@0 {
- reg = <0x0 0x40000>;
- label = "dtb";
- };
-
- partition@40000 {
- reg = <0x40000 0x40000>;
- label = "initrd";
- };
-
- partition@80000 {
- reg = <0x80000 0x27c0000>;
- label = "rootfs";
- };
-
- partition@2840000 {
- reg = <0x2840000 0x800000>;
- label = "kernel";
- };
+ 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@3040000 {
- reg = <0x3040000 0xec0000>;
- label = "stock-jffs2";
- read-only;
- };
+ partition@0 {
+ reg = <0x0 0x40000>;
+ label = "dtb";
+ };
- hwinfo: partition@3f00000 {
- reg = <0x3f00000 0x20000>;
- label = "hw-info";
- read-only;
- };
+ partition@40000 {
+ compatible = "openwrt,uimage", "denx,uimage";
+ reg = <0x40000 0x3ec0000>;
+ label = "kernel";
+ };
- partition@3f20000 {
- reg = <0x3f20000 0x20000>;
- label = "boot-info";
- read-only;
- };
+ partition@3f00000 {
+ reg = <0x3f00000 0x20000>;
+ label = "hw-info";
+ read-only;
+
+ nvmem-layout {
+ compatible = "fixed-layout";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ macaddr_hwinfo_0: macaddr@0 {
+ compatible = "mac-base";
+ reg = <0x0 0x6>;
+ #nvmem-cell-cells = <1>;
+ };
+ };
+ };
- partition@3f40000 {
- reg = <0x3f40000 0x20000>;
- label = "boot-info-backup";
- read-only;
- };
+ partition@3f20000 {
+ reg = <0x3f20000 0x20000>;
+ label = "boot-info";
+ read-only;
+ };
- partition@3f60000 {
- reg = <0x3f60000 0x20000>;
- label = "u-boot-env";
- };
+ partition@3f40000 {
+ reg = <0x3f40000 0x20000>;
+ label = "boot-info-backup";
+ read-only;
+ };
- partition@3f80000 {
- reg = <0x3f80000 0x80000>;
- label = "u-boot";
- read-only;
- };
+ partition@3f60000 {
+ reg = <0x3f60000 0x20000>;
+ label = "u-boot-env";
+ };
- firmware@0 {
- reg = <0x0 0x3040000>;
- label = "firmware";
+ 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";
compatible = "national,lp5521";
reg = <0x32>;
clock-mode = /bits/ 8 <2>;
- tricolor_red: chan0 {
- chan-name = "hiveap-330:red:tricolor0";
+#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;
};
- tricolor_green:chan1 {
- chan-name = "hiveap-330:green:tricolor0";
+ 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;
};
- chan2 {
- chan-name = "hiveap-330:blue:tricolor0";
+ 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
};
- /* Most likely SoC boot config */
eeprom@51 {
- compatible = "eeprom";
+ /*
+ * 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>;
+ /* interrupts = <3 1 0 0>; */
reg = <0x1>;
};
phy1: ethernet-phy@1 {
- interrupts = <2 1 0 0>;
+ /* interrupts = <2 1 0 0>; */
reg = <0x2>;
};
};
status = "okay";
phy-handle = <&phy0>;
phy-connection-type = "rgmii-id";
- mtd-mac-address = <&hwinfo 0>;
+ nvmem-cells = <&macaddr_hwinfo_0 0>;
+ nvmem-cell-names = "mac-address";
};
enet1: ethernet@b1000 {
status = "okay";
phy-handle = <&phy1>;
phy-connection-type = "rgmii-id";
- mtd-mac-address = <&hwinfo 0>;
- mtd-mac-address-increment = <1>;
+ nvmem-cells = <&macaddr_hwinfo_0 1>;
+ nvmem-cell-names = "mac-address";
};
gpio0: gpio-controller@fc00 {
reset {
label = "Reset button";
- gpios = <&gpio0 8 1>; /* active low */
- linux,code = <0x198>; /* KEY_RESTART */
+ 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;
+ };
+};