ath79: create shared DTSI/definition for Belkin F9J1108/F9K1115 v2
Belkin F9J1108 v2 and F9K1115 v2 are (seemingly) identical hardware with different model numbers. Extract all non-device specific code to a common .dtsi so it can be re-used when adding support for the F9K1115 v2. Similar to the .dtsi most of the image building recipe code can be re-used. Move everything except the device model, edimax header magic and edimax header model into a shared build recipe. Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> [drop duplicate TARGET_DEVICES, add EDIMAX_* to DEVICE_VARS, edit title] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This commit is contained in:
parent
33ad097606
commit
563ece8a85
|
@ -1,229 +1,8 @@
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||||
|
|
||||||
#include "qca955x.dtsi"
|
#include "qca9558_belkin_f9x-v2.dtsi"
|
||||||
|
|
||||||
#include <dt-bindings/gpio/gpio.h>
|
|
||||||
#include <dt-bindings/input/input.h>
|
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
model = "Belkin F9J1108 v2 (AC1750 DB Wi-Fi)";
|
model = "Belkin F9J1108 v2 (AC1750 DB Wi-Fi)";
|
||||||
compatible = "belkin,f9j1108-v2", "qca,qca9558";
|
compatible = "belkin,f9j1108-v2", "qca,qca9558";
|
||||||
|
|
||||||
aliases {
|
|
||||||
led-boot = &led_system;
|
|
||||||
led-failsafe = &led_system;
|
|
||||||
led-running = &led_system;
|
|
||||||
led-upgrade = &led_system;
|
|
||||||
label-mac-device = ð1;
|
|
||||||
};
|
|
||||||
|
|
||||||
leds {
|
|
||||||
compatible = "gpio-leds";
|
|
||||||
|
|
||||||
usb {
|
|
||||||
label = "green:usb2";
|
|
||||||
gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
|
|
||||||
trigger-sources = <&hub_port0>;
|
|
||||||
linux,default-trigger = "usbport";
|
|
||||||
};
|
|
||||||
|
|
||||||
status {
|
|
||||||
label = "amber:status";
|
|
||||||
gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
|
|
||||||
};
|
|
||||||
|
|
||||||
wps-amber {
|
|
||||||
label = "amber:wps";
|
|
||||||
gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
|
|
||||||
};
|
|
||||||
|
|
||||||
wps-blue {
|
|
||||||
label = "blue:wps";
|
|
||||||
gpios = <&gpio 19 GPIO_ACTIVE_LOW>;
|
|
||||||
};
|
|
||||||
|
|
||||||
led_system: system {
|
|
||||||
label = "blue:system";
|
|
||||||
gpios = <&gpio 20 GPIO_ACTIVE_LOW>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
gpio-export {
|
|
||||||
compatible = "gpio-export";
|
|
||||||
#size-cells = <0>;
|
|
||||||
|
|
||||||
usb2_power {
|
|
||||||
gpio-export,name = "usb2:power";
|
|
||||||
gpio-export,output = <1>;
|
|
||||||
gpios = <&gpio 21 GPIO_ACTIVE_HIGH>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
keys {
|
|
||||||
compatible = "gpio-keys";
|
|
||||||
|
|
||||||
wps {
|
|
||||||
label = "WPS button";
|
|
||||||
linux,code = <KEY_WPS_BUTTON>;
|
|
||||||
gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
|
|
||||||
debounce-interval = <60>;
|
|
||||||
};
|
|
||||||
|
|
||||||
reset {
|
|
||||||
label = "Reset button";
|
|
||||||
linux,code = <KEY_RESTART>;
|
|
||||||
gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
|
|
||||||
debounce-interval = <60>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
virtual_flash {
|
|
||||||
compatible = "mtd-concat";
|
|
||||||
|
|
||||||
devices = <&fwpart1 &fwpart2>;
|
|
||||||
|
|
||||||
partitions {
|
|
||||||
compatible = "fixed-partitions";
|
|
||||||
#address-cells = <1>;
|
|
||||||
#size-cells = <1>;
|
|
||||||
|
|
||||||
partition@0 {
|
|
||||||
compatible = "openwrt,okli";
|
|
||||||
label = "firmware";
|
|
||||||
reg = <0x0 0x0>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
&pcie1 {
|
|
||||||
status = "okay";
|
|
||||||
};
|
|
||||||
|
|
||||||
&uart {
|
|
||||||
status = "okay";
|
|
||||||
};
|
|
||||||
|
|
||||||
&usb_phy0 {
|
|
||||||
status = "okay";
|
|
||||||
};
|
|
||||||
|
|
||||||
&usb0 {
|
|
||||||
#address-cells = <1>;
|
|
||||||
#size-cells = <0>;
|
|
||||||
status = "okay";
|
|
||||||
|
|
||||||
hub_port0: port@1 {
|
|
||||||
reg = <1>;
|
|
||||||
#trigger-source-cells = <0>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
&spi {
|
|
||||||
status = "okay";
|
|
||||||
|
|
||||||
flash@0 {
|
|
||||||
compatible = "jedec,spi-nor";
|
|
||||||
reg = <0>;
|
|
||||||
spi-max-frequency = <80000000>;
|
|
||||||
m25p,fast-read;
|
|
||||||
|
|
||||||
partitions {
|
|
||||||
compatible = "fixed-partitions";
|
|
||||||
#address-cells = <1>;
|
|
||||||
#size-cells = <1>;
|
|
||||||
|
|
||||||
uboot: partition@0 {
|
|
||||||
label = "u-boot";
|
|
||||||
reg = <0x000000 0x040000>;
|
|
||||||
read-only;
|
|
||||||
};
|
|
||||||
|
|
||||||
partition@40000 {
|
|
||||||
label = "u-boot-env";
|
|
||||||
reg = <0x040000 0x010000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
fwpart1: partition@50000 {
|
|
||||||
label = "fwpart1";
|
|
||||||
reg = <0x050000 0xe20000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
partition@e70000 {
|
|
||||||
label = "loader";
|
|
||||||
reg = <0xe70000 0x10000>;
|
|
||||||
read-only;
|
|
||||||
};
|
|
||||||
|
|
||||||
fwpart2: partition@e80000 {
|
|
||||||
label = "fwpart2";
|
|
||||||
reg = <0xe80000 0x170000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
art: partition@ff0000 {
|
|
||||||
label = "art";
|
|
||||||
reg = <0xff0000 0x010000>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
&mdio0 {
|
|
||||||
status = "okay";
|
|
||||||
|
|
||||||
phy0: ethernet-phy@0 {
|
|
||||||
reg = <0>;
|
|
||||||
|
|
||||||
qca,ar8327-initvals = <
|
|
||||||
0x04 0x00080080 /* PORT0 PAD MODE CTRL */
|
|
||||||
0x0c 0x07600000 /* PORT6 PAD MODE CTRL */
|
|
||||||
0x50 0xc737c737 /* LED_CTRL0 */
|
|
||||||
0x54 0x00000000 /* LED_CTRL1 */
|
|
||||||
0x58 0x00000000 /* LED_CTRL2 */
|
|
||||||
0x5c 0x0030c300 /* LED_CTRL3 */
|
|
||||||
0x7c 0x0000007e /* PORT0_STATUS */
|
|
||||||
0x94 0x0000007e /* PORT6 STATUS */
|
|
||||||
>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
ð0 {
|
|
||||||
status = "okay";
|
|
||||||
|
|
||||||
mtd-mac-address = <&art 0x0>;
|
|
||||||
phy-handle = <&phy0>;
|
|
||||||
pll-data = <0xa6000000 0x00000101 0x00001616>;
|
|
||||||
|
|
||||||
gmac-config {
|
|
||||||
device = <&gmac>;
|
|
||||||
rgmii-enabled = <1>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
ð1 {
|
|
||||||
status = "okay";
|
|
||||||
|
|
||||||
mtd-mac-address = <&art 0x0>;
|
|
||||||
mtd-mac-address-increment = <(-1)>;
|
|
||||||
pll-data = <0x03000101 0x00000101 0x00001616>;
|
|
||||||
|
|
||||||
fixed-link {
|
|
||||||
speed = <1000>;
|
|
||||||
full-duplex;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
&pcie0 {
|
|
||||||
status = "okay";
|
|
||||||
|
|
||||||
wifi@0,0 {
|
|
||||||
compatible = "qcom,ath10k";
|
|
||||||
reg = <0 0 0 0 0>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
&wmac {
|
|
||||||
status = "okay";
|
|
||||||
|
|
||||||
mtd-cal-data = <&art 0x1000>;
|
|
||||||
};
|
};
|
||||||
|
|
226
target/linux/ath79/dts/qca9558_belkin_f9x-v2.dtsi
Normal file
226
target/linux/ath79/dts/qca9558_belkin_f9x-v2.dtsi
Normal file
|
@ -0,0 +1,226 @@
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||||
|
|
||||||
|
#include "qca955x.dtsi"
|
||||||
|
|
||||||
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
#include <dt-bindings/input/input.h>
|
||||||
|
|
||||||
|
/ {
|
||||||
|
aliases {
|
||||||
|
led-boot = &led_system;
|
||||||
|
led-failsafe = &led_system;
|
||||||
|
led-running = &led_system;
|
||||||
|
led-upgrade = &led_system;
|
||||||
|
label-mac-device = ð1;
|
||||||
|
};
|
||||||
|
|
||||||
|
leds {
|
||||||
|
compatible = "gpio-leds";
|
||||||
|
|
||||||
|
usb {
|
||||||
|
label = "green:usb2";
|
||||||
|
gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
|
||||||
|
trigger-sources = <&hub_port0>;
|
||||||
|
linux,default-trigger = "usbport";
|
||||||
|
};
|
||||||
|
|
||||||
|
status {
|
||||||
|
label = "amber:status";
|
||||||
|
gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
|
||||||
|
wps-amber {
|
||||||
|
label = "amber:wps";
|
||||||
|
gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
|
||||||
|
wps-blue {
|
||||||
|
label = "blue:wps";
|
||||||
|
gpios = <&gpio 19 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
|
||||||
|
led_system: system {
|
||||||
|
label = "blue:system";
|
||||||
|
gpios = <&gpio 20 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
gpio-export {
|
||||||
|
compatible = "gpio-export";
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
usb2_power {
|
||||||
|
gpio-export,name = "usb2:power";
|
||||||
|
gpio-export,output = <1>;
|
||||||
|
gpios = <&gpio 21 GPIO_ACTIVE_HIGH>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
keys {
|
||||||
|
compatible = "gpio-keys";
|
||||||
|
|
||||||
|
wps {
|
||||||
|
label = "WPS button";
|
||||||
|
linux,code = <KEY_WPS_BUTTON>;
|
||||||
|
gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
|
||||||
|
debounce-interval = <60>;
|
||||||
|
};
|
||||||
|
|
||||||
|
reset {
|
||||||
|
label = "Reset button";
|
||||||
|
linux,code = <KEY_RESTART>;
|
||||||
|
gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
|
||||||
|
debounce-interval = <60>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
virtual_flash {
|
||||||
|
compatible = "mtd-concat";
|
||||||
|
|
||||||
|
devices = <&fwpart1 &fwpart2>;
|
||||||
|
|
||||||
|
partitions {
|
||||||
|
compatible = "fixed-partitions";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
|
||||||
|
partition@0 {
|
||||||
|
compatible = "openwrt,okli";
|
||||||
|
label = "firmware";
|
||||||
|
reg = <0x0 0x0>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&pcie1 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&uart {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&usb_phy0 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&usb0 {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
hub_port0: port@1 {
|
||||||
|
reg = <1>;
|
||||||
|
#trigger-source-cells = <0>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&spi {
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
flash@0 {
|
||||||
|
compatible = "jedec,spi-nor";
|
||||||
|
reg = <0>;
|
||||||
|
spi-max-frequency = <80000000>;
|
||||||
|
m25p,fast-read;
|
||||||
|
|
||||||
|
partitions {
|
||||||
|
compatible = "fixed-partitions";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
|
||||||
|
uboot: partition@0 {
|
||||||
|
label = "u-boot";
|
||||||
|
reg = <0x000000 0x040000>;
|
||||||
|
read-only;
|
||||||
|
};
|
||||||
|
|
||||||
|
partition@40000 {
|
||||||
|
label = "u-boot-env";
|
||||||
|
reg = <0x040000 0x010000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
fwpart1: partition@50000 {
|
||||||
|
label = "fwpart1";
|
||||||
|
reg = <0x050000 0xe20000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
partition@e70000 {
|
||||||
|
label = "loader";
|
||||||
|
reg = <0xe70000 0x10000>;
|
||||||
|
read-only;
|
||||||
|
};
|
||||||
|
|
||||||
|
fwpart2: partition@e80000 {
|
||||||
|
label = "fwpart2";
|
||||||
|
reg = <0xe80000 0x170000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
art: partition@ff0000 {
|
||||||
|
label = "art";
|
||||||
|
reg = <0xff0000 0x010000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&mdio0 {
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
phy0: ethernet-phy@0 {
|
||||||
|
reg = <0>;
|
||||||
|
|
||||||
|
qca,ar8327-initvals = <
|
||||||
|
0x04 0x00080080 /* PORT0 PAD MODE CTRL */
|
||||||
|
0x0c 0x07600000 /* PORT6 PAD MODE CTRL */
|
||||||
|
0x50 0xc737c737 /* LED_CTRL0 */
|
||||||
|
0x54 0x00000000 /* LED_CTRL1 */
|
||||||
|
0x58 0x00000000 /* LED_CTRL2 */
|
||||||
|
0x5c 0x0030c300 /* LED_CTRL3 */
|
||||||
|
0x7c 0x0000007e /* PORT0_STATUS */
|
||||||
|
0x94 0x0000007e /* PORT6 STATUS */
|
||||||
|
>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
ð0 {
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
mtd-mac-address = <&art 0x0>;
|
||||||
|
phy-handle = <&phy0>;
|
||||||
|
pll-data = <0xa6000000 0x00000101 0x00001616>;
|
||||||
|
|
||||||
|
gmac-config {
|
||||||
|
device = <&gmac>;
|
||||||
|
rgmii-enabled = <1>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
ð1 {
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
mtd-mac-address = <&art 0x0>;
|
||||||
|
mtd-mac-address-increment = <(-1)>;
|
||||||
|
pll-data = <0x03000101 0x00000101 0x00001616>;
|
||||||
|
|
||||||
|
fixed-link {
|
||||||
|
speed = <1000>;
|
||||||
|
full-duplex;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&pcie0 {
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
wifi@0,0 {
|
||||||
|
compatible = "qcom,ath10k";
|
||||||
|
reg = <0 0 0 0 0>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&wmac {
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
mtd-cal-data = <&art 0x1000>;
|
||||||
|
};
|
|
@ -7,6 +7,7 @@ DEVICE_VARS += ADDPATTERN_ID ADDPATTERN_VERSION
|
||||||
DEVICE_VARS += SEAMA_SIGNATURE SEAMA_MTDBLOCK
|
DEVICE_VARS += SEAMA_SIGNATURE SEAMA_MTDBLOCK
|
||||||
DEVICE_VARS += KERNEL_INITRAMFS_PREFIX
|
DEVICE_VARS += KERNEL_INITRAMFS_PREFIX
|
||||||
DEVICE_VARS += DAP_SIGNATURE ENGENIUS_IMGNAME
|
DEVICE_VARS += DAP_SIGNATURE ENGENIUS_IMGNAME
|
||||||
|
DEVICE_VARS += EDIMAX_HEADER_MAGIC EDIMAX_HEADER_MODEL
|
||||||
|
|
||||||
define Build/add-elecom-factory-initramfs
|
define Build/add-elecom-factory-initramfs
|
||||||
$(eval edimax_model=$(word 1,$(1)))
|
$(eval edimax_model=$(word 1,$(1)))
|
||||||
|
@ -381,10 +382,9 @@ define Device/avm_fritzdvbc
|
||||||
endef
|
endef
|
||||||
TARGET_DEVICES += avm_fritzdvbc
|
TARGET_DEVICES += avm_fritzdvbc
|
||||||
|
|
||||||
define Device/belkin_f9j1108-v2
|
define Device/belkin_f9x-v2
|
||||||
SOC := qca9558
|
SOC := qca9558
|
||||||
DEVICE_VENDOR := Belkin
|
DEVICE_VENDOR := Belkin
|
||||||
DEVICE_MODEL := F9J1108 v2 (AC1750 DB Wi-Fi)
|
|
||||||
IMAGE_SIZE := 14464k
|
IMAGE_SIZE := 14464k
|
||||||
DEVICE_PACKAGES += kmod-ath10k-ct ath10k-firmware-qca988x-ct kmod-usb2 \
|
DEVICE_PACKAGES += kmod-ath10k-ct ath10k-firmware-qca988x-ct kmod-usb2 \
|
||||||
kmod-usb3 kmod-usb-ledtrig-usbport
|
kmod-usb3 kmod-usb-ledtrig-usbport
|
||||||
|
@ -398,7 +398,15 @@ define Device/belkin_f9j1108-v2
|
||||||
IMAGES += factory.bin
|
IMAGES += factory.bin
|
||||||
IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
|
IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
|
||||||
append-rootfs | pad-rootfs | check-size | \
|
append-rootfs | pad-rootfs | check-size | \
|
||||||
edimax-headers F9J1108v1 BR-6679BAC | pad-to $$$$(BLOCKSIZE)
|
edimax-headers $$$$(EDIMAX_HEADER_MAGIC) $$$$(EDIMAX_HEADER_MODEL) | \
|
||||||
|
pad-to $$$$(BLOCKSIZE)
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Device/belkin_f9j1108-v2
|
||||||
|
$(Device/belkin_f9x-v2)
|
||||||
|
DEVICE_MODEL := F9J1108 v2 (AC1750 DB Wi-Fi)
|
||||||
|
EDIMAX_HEADER_MAGIC := F9J1108v1
|
||||||
|
EDIMAX_HEADER_MODEL := BR-6679BAC
|
||||||
endef
|
endef
|
||||||
TARGET_DEVICES += belkin_f9j1108-v2
|
TARGET_DEVICES += belkin_f9j1108-v2
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user