tn3399_openwrt/target/linux/ath79/dts/ar7161_jjplus_ja76pf2.dts
Tomasz Maciej Nowak b52719b71a ath79: ja76pf2: use nvmem cells to specify MAC addresses
The bootloader on this board hid the partition containig MAC addresses
and prevented adding this space to FIS directory, therefore those had to
be stored in RedBoot configuration as aliases to be able to assigne them
to proper interfaces. Now that fixed partition size are used instead of
redboot-fis parser, the partition containig MAC addresses could be
specified, and with marking it as nvmem cell, we can assign them without
userspace involvement.

Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
2022-06-24 17:10:24 +02:00

183 lines
2.9 KiB
Plaintext

// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7100.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/mtd/partitions/uimage.h>
/ {
model = "jjPlus JA76PF2";
compatible = "jjplus,ja76pf2", "qca,ar7161";
memory@0 {
device_type = "memory";
reg = <0x0 0x4000000>;
};
chosen {
bootargs = "console=ttyS0,115200n8";
};
aliases {
led-boot = &led_d2;
led-failsafe = &led_d2;
led-running = &led_d2;
led-upgrade = &led_d2;
};
extosc: ref {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-output-names = "ref";
clock-frequency = <40000000>;
};
i2c {
compatible = "i2c-gpio";
sda-gpios = <&gpio 1 GPIO_ACTIVE_HIGH>;
scl-gpios = <&gpio 0 GPIO_ACTIVE_HIGH>;
#address-cells = <1>;
#size-cells = <0>;
sensor@48 {
compatible = "microchip,tcn75";
reg = <0x48>;
};
};
leds {
compatible = "gpio-leds";
led_d2: d2 {
label = "green:d2";
gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
};
d3 {
label = "green:d3";
gpios = <&gpio 4 GPIO_ACTIVE_HIGH>;
};
d4 {
label = "green:d4";
gpios = <&gpio 3 GPIO_ACTIVE_HIGH>;
};
};
keys {
compatible = "gpio-keys";
sw1 {
label = "sw1";
linux,code = <KEY_RESTART>;
gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
sw2 {
label = "sw2";
linux,code = <KEY_WPS_BUTTON>;
gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
};
};
&mdio0 {
status = "okay";
phy0: ethernet-phy@0 {
reg = <0>;
phy-mode = "rgmii";
};
phy4: ethernet-phy@4 {
reg = <4>;
phy-mode = "rgmii";
};
};
&eth0 {
status = "okay";
nvmem-cells = <&macaddr_lan>;
nvmem-cell-names = "mac-address";
phy-handle = <&phy0>;
};
&eth1 {
status = "okay";
nvmem-cells = <&macaddr_wan>;
nvmem-cell-names = "mac-address";
phy-handle = <&phy4>;
};
&pcie0 {
status = "okay";
};
&spi {
status = "okay";
flash@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <25000000>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "RedBoot";
reg = <0x000000 0x040000>;
read-only;
};
partition@40000 {
label = "loader";
reg = <0x040000 0x020000>;
};
partition@60000 {
label = "firmware";
reg = <0x060000 0xf80000>;
compatible = "openwrt,uimage", "denx,uimage";
openwrt,ih-magic = <IH_MAGIC_OKLI>;
};
partition@fe0000 {
label = "FIS directory";
reg = <0xfe0000 0x00f000>;
read-only;
};
partition@fef000 {
label = "RedBoot config";
reg = <0xfef000 0x001000>;
read-only;
};
partition@ff0000 {
label = "Atheros Board Data";
reg = <0xff0000 0x10000>;
read-only;
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_wan: macaddr@1000 {
reg = <0x1000 0x6>;
};
macaddr_lan: macaddr@1006 {
reg = <0x1006 0x6>;
};
};
};
};
};