openwrt/target/linux/ramips/dts/mt7628an_mediatek_linkit-smart-7688.dts
Adrian Schmutzler ad6b077049 ramips: mt7628: move mtd-eeprom out of root DTSI
The mt76x8 subtarget is the only one in ramips that stores the
mediatek,mtd-eeprom property directly in the "root" mt7628an.dtsi.

This is not optimal for a few different reasons:

 * If you don't really know it or are used to other (sub)targets,
   the property will be set somewhat magically.
 * The property is set based on &factory partition before (if at all)
   this partition is defined.
 * There are several devices that have different offset or even
   different partitions to read from, which will then be overwritten
   in the DTS files. Thus, definitions are scattered between root
   DTSI and individual files.

Based on these circumstances, the "root" definition is removed and
the property is added to the device-based DTS(I) files where needed
and applicable. This should be easier to grasp for unexperienced
developers and will move the property closer to the partition
definitions.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2021-08-17 18:41:17 +02:00

174 lines
2.4 KiB
Plaintext

#include "mt7628an.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "mediatek,linkit-smart-7688", "mediatek,mt7628an-soc";
model = "MediaTek LinkIt Smart 7688";
aliases {
led-boot = &led_wifi;
led-failsafe = &led_wifi;
led-running = &led_wifi;
led-upgrade = &led_wifi;
};
chosen {
bootargs = "console=ttyS2,57600";
};
aliases {
serial0 = &uart2;
};
bootstrap {
compatible = "mediatek,linkit";
status = "okay";
};
leds {
compatible = "gpio-leds";
led_wifi: wifi {
label = "orange:wifi";
gpios = <&gpio 44 GPIO_ACTIVE_LOW>;
};
};
keys {
compatible = "gpio-keys";
wps {
label = "reset";
gpios = <&gpio 38 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
};
};
&state_default {
gpio {
groups = "gpio";
function = "gpio";
};
refclk {
groups = "refclk";
function = "gpio";
};
i2s {
groups = "i2s";
function = "gpio";
};
spis {
groups = "spis";
function = "gpio";
};
wled_an {
groups = "wled_an";
function = "gpio";
};
wdt {
groups = "wdt";
function = "gpio";
};
};
&spi0 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&spi_pins>, <&spi_cs1_pins>;
flash@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <40000000>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "u-boot";
reg = <0x0 0x30000>;
read-only;
};
partition@30000 {
label = "u-boot-env";
reg = <0x30000 0x10000>;
};
factory: partition@40000 {
label = "factory";
reg = <0x40000 0x10000>;
read-only;
};
partition@50000 {
compatible = "denx,uimage";
label = "firmware";
reg = <0x50000 0x1fb0000>;
};
};
};
spidev@1 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "linux,spidev";
reg = <1>;
spi-max-frequency = <40000000>;
};
};
&i2c {
status = "okay";
};
&uart1 {
status = "okay";
};
&uart2 {
status = "okay";
};
&pwm {
status = "okay";
};
&ethernet {
nvmem-cells = <&macaddr_factory_2e>;
nvmem-cell-names = "mac-address";
};
&sdhci {
status = "okay";
mediatek,cd-high;
};
&wmac {
status = "okay";
mediatek,mtd-eeprom = <&factory 0x0>;
};
&factory {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_factory_2e: macaddr@2e {
reg = <0x2e 0x6>;
};
};