openwrt/target/linux/ath79/dts/ar9331_hak5_wifi-pineapple-nano.dts
Rosen Penev 5aa996b06d ath79: pineapple-nano: use regulator for USB GPIO
The chipidea USB2 driver used on this platform supports controlling GPIO
through regulators. This is the upstream friendly solution.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17356
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-01-12 18:01:35 +01:00

142 lines
2.3 KiB
Plaintext

// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar9331.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
model = "Hak5 WiFi Pineapple NANO";
compatible = "hak5,wifi-pineapple-nano", "qca,ar9331";
aliases {
label-mac-device = &wmac;
led-boot = &led_system;
led-failsafe = &led_system;
led-upgrade = &led_system;
};
gpio-export {
compatible = "gpio-export";
#size-cells = <0>;
microsd-detect {
gpio-export,name = "microsd-detect";
gpios = <&gpio 19 GPIO_ACTIVE_LOW>;
};
usb-alarm {
gpio-export,name = "usb-alarm";
gpios = <&gpio 20 GPIO_ACTIVE_LOW>;
};
};
keys {
compatible = "gpio-keys";
reset {
label = "reset";
linux,code = <KEY_RESTART>;
gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
};
leds {
compatible = "gpio-leds";
led_system: system {
label = "blue:system";
gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0tpt";
};
};
reg_power_usb: regulator {
compatible = "regulator-fixed";
regulator-name = "power_usb";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
gpios = <&gpio 23 GPIO_ACTIVE_LOW>;
};
};
&eth0 {
status = "okay";
nvmem-cells = <&macaddr_art_6>;
nvmem-cell-names = "mac-address";
};
&eth1 {
status = "okay";
compatible = "syscon", "simple-mfd";
};
&spi {
status = "okay";
flash@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <50000000>;
m25p,fast-read;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "u-boot";
reg = <0x000000 0x020000>;
read-only;
};
partition@20000 {
label = "firmware";
reg = <0x020000 0xfd0000>;
compatible = "tplink,firmware";
};
partition@ff0000 {
label = "art";
reg = <0xff0000 0x010000>;
read-only;
nvmem-layout {
compatible = "fixed-layout";
#address-cells = <1>;
#size-cells = <1>;
macaddr_art_6: macaddr@6 {
reg = <0x6 0x6>;
};
cal_art_1000: calibration@1000 {
reg = <0x1000 0x440>;
};
};
};
};
};
};
&usb {
status = "okay";
vbus-supply = <&reg_power_usb>;
};
&usb_phy {
status = "okay";
};
&wmac {
status = "okay";
nvmem-cells = <&cal_art_1000>;
nvmem-cell-names = "calibration";
};