Opkg zostaje, dobre mam wrażenie?
Nie jesteś zalogowany. Proszę się zalogować lub zarejestrować.
eko.one.pl → Posty przez Królik
Opkg zostaje, dobre mam wrażenie?
Istnieje w ogóle taki parametr dla usteer'a?
band_steering_interval i band_steering_min_snr?
Mówisz o ich serwisie? Wywaliłem wpad-basic-mbedtls, dodałem wpad-openssl, zbudowało paczkę...
Myślałem o Twojej paczce "backupandrestore". Wpada zawsze trzeba ręcznie ogarniać, bo nie usuwa istniejącego.
Świeci sie jak policja ;-) potwierdzam, ze standardowo amber (żółta), oraz wifi:blue i red sobie radośnie migają, można je też programować.
To jest zonk, bo mam tak:
+ led_0 {
+ function = LED_FUNCTION_POWER;
+ color = <LED_COLOR_ID_RED>;
+ gpios = <&pio 11 GPIO_ACTIVE_LOW>;
+ };
+
+ led_1 {
+ function = LED_FUNCTION_STATUS;
+ color = <LED_COLOR_ID_BLUE>;
+ gpios = <&pio 10 GPIO_ACTIVE_LOW>;
+ };
+
+ led_status_: led_2 {
+ function = LED_FUNCTION_STATUS;
+ color = <LED_COLOR_ID_GREEN>;
+ gpios = <&pio 4 GPIO_ACTIVE_LOW>;
+ };
+
Proszę byś powiedział która ma jaki kolor i rolę.
Jedyny znaleziony problem przez lata, to paczka "wpad", która nie może się zainstalować bo mały wpad jest w obrazie. Jest opcja zrobić to tak, by automatycznie wywalało domyślnego wpada?
Świeci sie jak policja ;-) potwierdzam, ze standardowo amber (żółta), oraz wifi:blue i red sobie radośnie migają, można je też programować.
Stocka moge przywrócić jakby co. Mam backup partycji - jak powiesz jak najlepiej.
To piszę do skośnych by intermediate robili.
a tam sie da spi zamontowac z 16-32MB ? chyba był o tym temat, kiedyś były fajne.
Kupiłem kilka nowych, muszę tylko skopiować bootloader i dane kalibracyjne. Ale wiecznie nie ma kiedy. ![]()
Będzie spokój na kilka lat znowu.
Bardziej pytanie czy Ledy wszystkie działają. To mi potrzebne by wysłać prośbę do chinoli.
A potem, by dorobić wsparcie oficjalne, musimy być pewni, że obraz pośredni działa. Potrzebny będzie ktoś ze stock softem. Może Ambrozy jeszcze swój ma dziewiczy.
Inna sprawa, że flashe w R6220 zaczynają się sypać. Już kilka takich mam.
Jest dobrze - wszystko gra, ja na blogu Cudy prosilem o intermediate, ale od Ciebie może bardziej posłuchają ;-)
Pracuje od 1,5 tygodnia na nim w domu - transfery piekne, nic sie nie dzieje złego, zasięg spory.
Pozdrawiam i dzięki za pomoc.
Ledy i mac address jak w oryginale?
Sprawdźcie te źródła ode mnie. Jeśli wszystko będzie działać, to napiszę chinolom by dali obraz pośredni i spróbujemy uzyskać oficjalne wsparcie.
Królik napisał/a:Cezary napisał/a:OK, wrzucę. Będzie wraz z następnymi buildami.
Dzięki, kiedy planujesz najbliższe wydanie?
Działa, dziękuję. ![]()
A to też ciekawe. Żeby tego użyć to wystarczy slot wlutować czy jakieś rekompilacje potrzebne?
Na 99 procent trzeba będzie włączyć w dts i zrekompilowac.
Chociaż AP3000 Outdoor z mt7981 też wygląda ciekawie. Oba nie mają wsparcia póki co, ale to nie problem przy tym hardware.
Jak coś to polecam. APek ma mocne radia, jak ktoś mieszka na zadupiu, to można niezły dopał zrobić jak się TW country ustawi. Teoretycznie można 28dBm ustawić. Moje dwa na 25dBm ustawiłem, żeby się nie zagotowały i zrobiły stabilny most radiowy. Zasięg 2.4 porównywalny z legendarnym TL-WDR1043. 5g za to na 30 metrach dalej robi 400-500mbit a zestawia się na 866.
Filogic to teraz moja ulubiona architektura do OpenWrt. ![]()
To raczej slot na kartę SD
Dokładnie tak.
Poprawiłem skrypty, dzięki.
Są jeszcze w kupie urządzeń "mt7615_phy*". Zobaczyłem to w ea7500v2. Można by też dorzucić do ramipsa z tym dodatkiem.
Cezary, dorobiłem temperatury do sysinfo dla filogic na podstawie Twoich skryptów z x86. Dorzucisz do obrazów?
#!/bin/sh
T=""
F=/sys/class/hwmon/hwmon*
for f in $F; do
[ -e $f ] || continue
[ -e $f/name ] && NAME=$(cat $f/name)
if [ -n "$NAME" ]; then
case "$NAME" in
k10temp|coretemp|armada_thermal|cpu_thermal)
for i in $f/temp*_input; do
[ -n "$T" ] && T="$T, "
T="$T"$(awk '{if ($1 == 0){printf ""}else{printf "%.2f C", $1/1000}}' $i 2>/dev/null)
done
;;
esac
fi
done
[ -n "$T" ] && echo "CPU temp: $T"
exit 0#!/bin/sh
T=""
F=/sys/class/hwmon/hwmon*
for f in $F; do
[ -e $f ] || continue
[ -e $f/name ] && NAME=$(cat $f/name)
if [ -n "$NAME" ]; then
case "$NAME" in
ath10k_hwmon|mt7915_phy*)
[ -n "$T" ] && T="$T, "
T="$T"$(awk '{if ($1 == 0){printf ""}else{printf "%.2f C", $1/1000}}' $f/temp1_input 2>/dev/null)
;;
esac
fi
done
[ -n "$T" ] && echo "Wi-Fi chip temp: $T"
exit 0OK, wrzucę. Będzie wraz z następnymi buildami.
Dzięki, kiedy planujesz najbliższe wydanie?
Cezary, dorzuciłbyś do 23.05 Cudy AP3000 Outdoor?
commit z PR (https://github.com/openwrt/openwrt/pull/16156) wchodzi gładko na drzewo 23.05. Muszę swoją sztukę wywieźć do teścia a nie lubię tam mieć własnych kompilatów. ![]()
@Króliku, kogo męczyć bezpośrednio o intermediate w Cudy support@cudy.com czy cos bardziej personalnego - masz jakies doswiadczenia...?
Pisałem na support@cudy.com. Odpisywali bezosobowo z tego maila. Nie wiem czy gadałem z jednym Chinolem czy kilkoma nawet.
Nie do końca, jest trochę różnic, na telefonie ciężko mi stwierdzić czy kosmetyka czy nie.
Backup po prostu wszystkie partycje. Metoda z ax3600 powinna zadziałać.
From 678134c440e3b85cf371f9c0648f96390872632d Mon Sep 17 00:00:00 2001
From: Pawel Dembicki <paweldembicki@gmail.com>
Date: Tue, 13 Aug 2024 22:54:44 +0200
Subject: [PATCH] mediatek: filogic: add support for Cudy AP3000 V1
Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
---
.../lib/preinit/05_set_preinit_iface | 1 +
.../mediatek/dts/mt7981b-cudy-ap3000-v1.dts | 209 ++++++++++++++++++
.../filogic/base-files/etc/board.d/02_network | 1 +
.../etc/hotplug.d/ieee80211/11_fix_wifi_mac | 3 +-
target/linux/mediatek/image/filogic.mk | 17 ++
5 files changed, 230 insertions(+), 1 deletion(-)
create mode 100644 target/linux/mediatek/dts/mt7981b-cudy-ap3000-v1.dts
diff --git a/target/linux/mediatek/base-files/lib/preinit/05_set_preinit_iface b/target/linux/mediatek/base-files/lib/preinit/05_set_preinit_iface
index 8e74c577cd50..4ceb9cf1895b 100644
--- a/target/linux/mediatek/base-files/lib/preinit/05_set_preinit_iface
+++ b/target/linux/mediatek/base-files/lib/preinit/05_set_preinit_iface
@@ -6,6 +6,7 @@ set_preinit_iface() {
ip link set eth1 up
ifname=eth1
;;
+ cudy,ap3000-v1|\
cudy,ap3000outdoor-v1|\
cudy,re3000-v1|\
ubnt,unifi-6-lr|\
diff --git a/target/linux/mediatek/dts/mt7981b-cudy-ap3000-v1.dts b/target/linux/mediatek/dts/mt7981b-cudy-ap3000-v1.dts
new file mode 100644
index 000000000000..d1b65db94138
--- /dev/null
+++ b/target/linux/mediatek/dts/mt7981b-cudy-ap3000-v1.dts
@@ -0,0 +1,209 @@
+// SPDX-License-Identifier: (GPL-2.0 OR MIT)
+
+/dts-v1/;
+
+#include <dt-bindings/leds/common.h>
+
+#include "mt7981.dtsi"
+
+/ {
+ model = "Cudy AP3000 v1";
+ compatible = "cudy,ap3000-v1", "mediatek,mt7981-spim-snand-rfb";
+
+ aliases {
+ label-mac-device = &gmac0;
+ led-boot = &led_status;
+ led-failsafe = &led_status;
+ led-running = &led_status;
+ led-upgrade = &led_status;
+ serial0 = &uart0;
+ };
+
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
+
+ gpio-keys {
+ compatible = "gpio-keys";
+
+ reset {
+ label = "reset";
+ linux,code = <KEY_RESTART>;
+ gpios = <&pio 1 GPIO_ACTIVE_LOW>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ led_0 {
+ function = LED_FUNCTION_POWER;
+ color = <LED_COLOR_ID_RED>;
+ gpios = <&pio 11 GPIO_ACTIVE_LOW>;
+ };
+
+ led_1 {
+ function = LED_FUNCTION_STATUS;
+ color = <LED_COLOR_ID_BLUE>;
+ gpios = <&pio 10 GPIO_ACTIVE_LOW>;
+ };
+
+ led_status_: led_2 {
+ function = LED_FUNCTION_STATUS;
+ color = <LED_COLOR_ID_GREEN>;
+ gpios = <&pio 4 GPIO_ACTIVE_LOW>;
+ };
+
+ };
+
+ watchdog-hw {
+ compatible = "linux,wdt-gpio";
+ gpios = <&pio 6 GPIO_ACTIVE_HIGH>;
+ hw_algo = "level";
+ hw_margin_ms = <10000>;
+ always-running;
+ };
+};
+
+&uart0 {
+ status = "okay";
+};
+
+&watchdog {
+ status = "okay";
+};
+
+ð {
+ pinctrl-names = "default";
+ pinctrl-0 = <&mdio_pins>;
+
+ status = "okay";
+
+ gmac0: mac@0 {
+ compatible = "mediatek,eth-mac";
+ reg = <0>;
+ phy-mode = "2500base-x";
+ phy-handle = <&phy1>;
+ nvmem-cell-names = "mac-address";
+ nvmem-cells = <&macaddr_bdinfo_de00 1>;
+ };
+};
+
+&mdio_bus {
+ phy1: phy@1 {
+ reg = <1>;
+ compatible = "ethernet-phy-ieee802.3-c45";
+ phy-mode = "2500base-x";
+ reset-gpios = <&pio 39 GPIO_ACTIVE_LOW>;
+ interrupts = <38 IRQ_TYPE_LEVEL_LOW>;
+ reset-assert-us = <100000>;
+ reset-deassert-us = <100000>;
+ realtek,aldps-enable;
+ };
+};
+
+&spi0 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&spi0_flash_pins>;
+ status = "okay";
+
+ spi_nand: flash@0 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "spi-nand";
+ reg = <0>;
+ spi-max-frequency = <52000000>;
+
+ spi-cal-enable;
+ spi-cal-mode = "read-data";
+ spi-cal-datalen = <7>;
+ spi-cal-data = /bits/ 8 <0x53 0x50 0x49 0x4E 0x41 0x4E 0x44>;
+ spi-cal-addrlen = <5>;
+ spi-cal-addr = /bits/ 32 <0x0 0x0 0x0 0x0 0x0>;
+
+ spi-tx-bus-width = <4>;
+ spi-rx-bus-width = <4>;
+ mediatek,nmbm;
+ mediatek,bmt-max-ratio = <1>;
+ mediatek,bmt-max-reserved-blocks = <64>;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "BL2";
+ reg = <0x00000 0x0100000>;
+ read-only;
+ };
+
+ partition@100000 {
+ label = "u-boot-env";
+ reg = <0x0100000 0x0080000>;
+ read-only;
+ };
+
+ factory: partition@180000 {
+ label = "Factory";
+ reg = <0x180000 0x0200000>;
+ read-only;
+ nvmem-layout {
+ compatible = "fixed-layout";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ eeprom_factory_0: eeprom@0 {
+ reg = <0x0 0x1000>;
+ };
+ };
+ };
+
+ partition@380000 {
+ label = "bdinfo";
+ reg = <0x380000 0x0040000>;
+ read-only;
+ nvmem-layout {
+ compatible = "fixed-layout";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ macaddr_bdinfo_de00: macaddr@de00 {
+ compatible = "mac-base";
+ reg = <0xde00 0x6>;
+ #nvmem-cell-cells = <1>;
+ };
+ };
+
+ };
+
+ partition@3C0000 {
+ label = "FIP";
+ reg = <0x3C0000 0x0200000>;
+ read-only;
+ };
+
+ partition@580000 {
+ label = "ubi";
+ reg = <0x5C0000 0x4000000>;
+ compatible = "linux,ubi";
+ };
+ };
+ };
+};
+
+
+&pio {
+ spi0_flash_pins: spi0-pins {
+ mux {
+ function = "spi";
+ groups = "spi0", "spi0_wp_hold";
+ };
+ };
+};
+
+&wifi {
+ status = "okay";
+ nvmem-cells = <&eeprom_factory_0>;
+ nvmem-cell-names = "eeprom";
+};
diff --git a/target/linux/mediatek/filogic/base-files/etc/board.d/02_network b/target/linux/mediatek/filogic/base-files/etc/board.d/02_network
index abe7682dfb86..7f3c2df8ee83 100644
--- a/target/linux/mediatek/filogic/base-files/etc/board.d/02_network
+++ b/target/linux/mediatek/filogic/base-files/etc/board.d/02_network
@@ -87,6 +87,7 @@ mediatek_setup_interfaces()
mercusys,mr90x-v1)
ucidef_set_interfaces_lan_wan "lan0 lan1 lan2" eth1
;;
+ cudy,ap3000-v1|\
cudy,ap3000outdoor-v1|\
cudy,re3000-v1|\
netgear,wax220|\
diff --git a/target/linux/mediatek/filogic/base-files/etc/hotplug.d/ieee80211/11_fix_wifi_mac b/target/linux/mediatek/filogic/base-files/etc/hotplug.d/ieee80211/11_fix_wifi_mac
index ff9e9f881c5e..373cf344c5a3 100644
--- a/target/linux/mediatek/filogic/base-files/etc/hotplug.d/ieee80211/11_fix_wifi_mac
+++ b/target/linux/mediatek/filogic/base-files/etc/hotplug.d/ieee80211/11_fix_wifi_mac
@@ -26,7 +26,7 @@ case "$board" in
asus,rt-ax59u)
CI_UBIPART="UBI_DEV"
addr=$(mtd_get_mac_binary_ubi "Factory" 0x4)
- # Originally, phy1 is phy0 mac with LA and 28th bits set. However, this would conflict
+ # Originally, phy1 is phy0 mac outdoorwith LA and 28th bits set. However, this would conflict
# addresses on multiple VIFs with the other radio when bit 28 is already set.
# Set LA and 28 bits and increment mac-address instead.
[ "$PHYNBR" = "1" ] && \
@@ -75,6 +75,7 @@ case "$board" in
[ "$PHYNBR" = "0" ] && echo "$addr" > /sys${DEVPATH}/macaddress
[ "$PHYNBR" = "1" ] && macaddr_setbit_la $(macaddr_add $addr 1) > /sys${DEVPATH}/macaddress
;;
+ cudy,ap3000-v1|\
cudy,ap3000outdoor-v1|\
cudy,m3000-v1|\
cudy,wr3000-v1)
diff --git a/target/linux/mediatek/image/filogic.mk b/target/linux/mediatek/image/filogic.mk
index 79d23651f025..83893241481e 100644
--- a/target/linux/mediatek/image/filogic.mk
+++ b/target/linux/mediatek/image/filogic.mk
@@ -507,6 +507,23 @@ define Device/confiabits_mt7981
endef
TARGET_DEVICES += confiabits_mt7981
+define Device/cudy_ap3000-v1
+ DEVICE_VENDOR := Cudy
+ DEVICE_MODEL := ap3000
+ DEVICE_VARIANT := v1
+ DEVICE_DTS := mt7981b-cudy-ap3000-v1
+ DEVICE_DTS_DIR := ../dts
+ SUPPORTED_DEVICES += R49
+ UBINIZE_OPTS := -E 5
+ BLOCKSIZE := 128k
+ PAGESIZE := 2048
+ IMAGE_SIZE := 65536k
+ KERNEL_IN_UBI := 1
+ IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
+ DEVICE_PACKAGES := kmod-mt7915e kmod-mt7981-firmware mt7981-wo-firmware
+endef
+TARGET_DEVICES += cudy_ap3000-v1
+
define Device/cudy_ap3000outdoor-v1
DEVICE_VENDOR := Cudy
DEVICE_MODEL := AP3000 Outdoor
--
2.34.1Masz patcha. Wrzuć go do drzewa i skompiluj. Odpal obraz initramfs i jeśli będziesz miał radia oraz ethernet, możesz próbować sysupgrade. ALE koniecznie wcześniej backup. Initramfs możesz testować bez backupu.
Zrobiony na szybko, nie kompilowałem nawet. Jak nie pójdzie, będziemy poprawiać.
EDIT:
Nałożyłem go na swój patch do Outdoor, więc najlepiej jakbyś nakładał na moje źródło, bo będziesz musiał ręcznie rozwiązać konflikty.
@Królik a skąd masz Intermediate OpenWrt image dla AP3000 Outdoor?
Na maila mi przysłali.
Bardzo łatwo jest zrobić obraz na sucho, bo dają dts w kodzie GPL. Przygotowałem firmware na sucho i wysłałem im, że gotowe. Dwa razy było "no way", ale skusili się, jak napisałem, że tylko skompilować muszą. A i tak zrobili swój ostatecznie, bo różnił się dts w kilku miejscach od tego, co zrobiłem. Mają teraz go dodać do swojego repozytorium na google drive. Outdoor jest tak sklejony, że nie da się dostać do seriala bez zniszczenia obudowy.
A Wasz AP3000 się resetuje bo nie macie gpio watchdoga odpalonego. To samo miałem z AP3000 outdoor. Nie róbcie dts na czuja, szkoda czasu. Dają w GPL wszystko, co potrzebujecie.
To wasz AP3000:
/dts-v1/;
#include "mt7981.dtsi"
/ {
model = "MediaTek MT7981 RFB/R49";
compatible = "mediatek,mt7981-spim-snand-rfb";
chosen {
bootargs = "console=ttyS0,115200n1 loglevel=8 \
earlycon=uart8250,mmio32,0x11002000";
};
memory {
// fpga ddr2: 128MB*2
reg = <0 0x40000000 0 0x20000000>;
};
gpio-leds {
compatible = "gpio-leds";
red {
label = "oem:green:red";
gpios = <&pio 11 GPIO_ACTIVE_LOW>;
};
blue {
label = "oem:green:blue";
gpios = <&pio 10 GPIO_ACTIVE_LOW>;
};
status {
label = "oem:green:status";
gpios = <&pio 4 GPIO_ACTIVE_LOW>;
};
};
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <20>;
reset {
label = "reset";
gpios = <&pio 1 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
gpio_export {
compatible = "gpio-export";
#size-cells = <0>;
phyreset {
gpio-export,name = "phyreset";
gpio-export,output = <1>;
gpios = <&pio 39 GPIO_ACTIVE_LOW>;
};
};
watchdog-hw {
compatible = "linux,wdt-gpio";
gpios = <&pio 6 GPIO_ACTIVE_HIGH>;
hw_algo = "level";
hw_margin_ms = <10000>;
always-running;
};
nmbm_spim_nand {
compatible = "generic,nmbm";
#address-cells = <1>;
#size-cells = <1>;
lower-mtd-device = <&spi_nand>;
forced-create;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "BL2";
reg = <0x00000 0x0100000>;
read-only;
};
partition@100000 {
label = "u-boot-env";
reg = <0x0100000 0x0080000>;
};
partition@180000 {
label = "Factory";
reg = <0x180000 0x0200000>;
};
bdinfo: partition@380000 {
label = "bdinfo";
reg = <0x380000 0x0040000>;
};
partition@3C0000 {
label = "FIP";
reg = <0x3C0000 0x0200000>;
};
partition@5C0000 {
label = "ubi";
reg = <0x5C0000 0x4000000>;
};
};
};
sound_wm8960 {
compatible = "mediatek,mt79xx-wm8960-machine";
mediatek,platform = <&afe>;
audio-routing = "Headphone", "HP_L",
"Headphone", "HP_R",
"LINPUT1", "AMIC",
"RINPUT1", "AMIC";
mediatek,audio-codec = <&wm8960>;
status = "disabled";
};
sound_si3218x {
compatible = "mediatek,mt79xx-si3218x-machine";
mediatek,platform = <&afe>;
mediatek,ext-codec = <&proslic_spi>;
status = "disabled";
};
};
&afe {
pinctrl-names = "default";
pinctrl-0 = <&pcm_pins>;
status = "okay";
};
&i2c0 {
pinctrl-names = "default";
pinctrl-0 = <&i2c_pins>;
status = "disabled";
wm8960: wm8960@1a {
compatible = "wlf,wm8960";
reg = <0x1a>;
};
};
&uart0 {
status = "okay";
};
&watchdog {
status = "okay";
};
ð {
status = "okay";
lower-mtd-name = "bdinfo";
gmac0: mac@0 {
compatible = "mediatek,eth-mac";
reg = <0>;
mtd-mac-address = <&bdinfo 0xDE00>;
mtd-mac-address-increment = <1>;
phy-mode = "2500base-x";
phy-handle = <&phy1>;
fixed-link {
speed = <2500>;
full-duplex;
pause;
/*
link-gpio = <&pio 38 1>;
phy-handle = <&phy1>;
label = "eth0";
*/
};
};
gmac1: mac@1 {
compatible = "mediatek,eth-mac";
reg = <1>;
mtd-mac-address = <&bdinfo 0xDE00>;
phy-mode = "gmii";
phy-handle = <&phy0>;
};
mdio: mdio-bus {
#address-cells = <1>;
#size-cells = <0>;
phy0: ethernet-phy@0 {
compatible = "ethernet-phy-id03a2.9461";
reg = <0>;
phy-mode = "gmii";
nvmem-cells = <&phy_calibration>;
nvmem-cell-names = "phy-cal-data";
};
phy1: phy@1 {
compatible = "ethernet-phy-id001c.c849";
reg = <1>;
/*
reset-gpios = <&pio 39 1>;
reset-assert-us = <10000>;
reset-deassert-us = <50000>;
*/
phy-mode = "2500base-x";
};
};
};
&hnat {
mtketh-wan = "eth0";
mtketh-lan = "eth1";
mtketh-ppd = "eth1";
mtketh-max-gmac = <2>;
mtketh-lan-gmac = <2>;
mtketh-wan-gmac = <1>;
status = "okay";
};
&spi0 {
pinctrl-names = "default";
pinctrl-0 = <&spi0_flash_pins>;
status = "okay";
spi_nand: spi_nand@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "spi-nand";
reg = <0>;
spi-max-frequency = <52000000>;
spi-tx-buswidth = <4>;
spi-rx-buswidth = <4>;
};
};
&spi1 {
pinctrl-names = "default";
pinctrl-0 = <&spic_pins>;
status = "okay";
proslic_spi: proslic_spi@0 {
compatible = "silabs,proslic_spi";
reg = <0>;
spi-max-frequency = <10000000>;
spi-cpha = <1>;
spi-cpol = <1>;
channel_count = <1>;
debug_level = <4>; /* 1 = TRC, 2 = DBG, 4 = ERR */
reset_gpio = <&pio 15 0>;
ig,enable-spi = <1>; /* 1: Enable, 0: Disable */
};
};
&pio {
i2c_pins: i2c-pins-g0 {
mux {
function = "i2c";
groups = "i2c0_0";
};
};
pcm_pins: pcm-pins-g0 {
mux {
function = "pcm";
groups = "pcm";
};
};
pwm0_pin: pwm0-pin-g0 {
mux {
function = "pwm";
groups = "pwm0_0";
};
};
pwm1_pin: pwm1-pin-g0 {
mux {
function = "pwm";
groups = "pwm1_0";
};
};
pwm2_pin: pwm2-pin {
mux {
function = "pwm";
groups = "pwm2";
};
};
spi0_flash_pins: spi0-pins {
mux {
function = "spi";
groups = "spi0", "spi0_wp_hold";
};
conf-pu {
pins = "SPI0_CS", "SPI0_HOLD", "SPI0_WP";
drive-strength = <MTK_DRIVE_8mA>;
bias-pull-up = <MTK_PUPD_SET_R1R0_11>;
};
conf-pd {
pins = "SPI0_CLK", "SPI0_MOSI", "SPI0_MISO";
drive-strength = <MTK_DRIVE_8mA>;
bias-pull-down = <MTK_PUPD_SET_R1R0_11>;
};
};
spic_pins: spi1-pins {
mux {
function = "spi";
groups = "spi1_1";
};
};
uart1_pins: uart1-pins-g1 {
mux {
function = "uart";
groups = "uart1_1";
};
};
uart2_pins: uart2-pins-g1 {
mux {
function = "uart";
groups = "uart2_1";
};
};
};
&xhci {
mediatek,u3p-dis-msk = <0x0>;
phys = <&u2port0 PHY_TYPE_USB2>,
<&u3port0 PHY_TYPE_USB3>;
status = "okay";
};Na tym trzeba bazować. Watchdog jest tak samo jak w outdoor.
Chociaż AP3000 Outdoor z mt7981 też wygląda ciekawie. Oba nie mają wsparcia póki co, ale to nie problem przy tym hardware.
Wsparcie zaraz będzie:
https://github.com/openwrt/openwrt/pull/16156
Instalacja z obrazu pośredniego, bez rozbierania sprzętu. Kupujcie zanim zdrożeją. ![]()
Ja za to kończę wsparcie dla AP3000 Outdoor. Ale tam nie da się rozebrać obudowy i trzeba kombinować bez seriala.
eko.one.pl → Posty przez Królik
Forum oparte o PunBB, wspierane przez Informer Technologies, Inc