In our company, we are using Omega2 chipsets in our IOT bridge solution.
we were running OpenWRT18, and we are looking to bring up to openwrt 22.03.
I used the GitHub onion repo (https://github.com/OnionIoT/openwrt.git) to build openWRT 22.03.
I tried to change the Device Tree to fit our Board. so I used the following dts files:
OMEGA2.dts:
/dts-v1/;
#include "OMEGA2.dtsi"
/ {
compatible = "onion,omega2", "mediatek,mt7628an-soc";
model = "Onion Omega2";
memory@0 {
device_type = "memory";
reg = <0x0 0x4000000>;
};
gpio-leds {
compatible = "gpio-leds";
ethernet {
label = "ryse:blue:ethernet";
gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;
};
internet {
label = "ryse:blue:internet";
gpios = <&gpio0 15 GPIO_ACTIVE_HIGH>;
};
};
};
&firmware {
reg = <0x50000 0xf30000>;
};
&flash {
user: partition@f80000 {
label = "user";
reg = <0xf80000 0x80000>;
};
};
&system_led {
label = "omega2:amber:system";
};
OMEGA2.dtsi:
#include "mt7628an.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "onion,omega2", "mediatek,mt7628an-soc";
chosen {
bootargs = "console=ttyS0,115200";
};
gpio-leds {
compatible = "gpio-leds";
system_led: system {
gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
};
};
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <20>;
reset {
label = "reset";
gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
linux,code = <KEY_RESTART>;
};
};
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "gpio";
ralink,function = "gpio";
};
perst {
ralink,group = "perst";
ralink,function = "gpio";
};
refclk {
ralink,group = "refclk";
ralink,function = "gpio";
};
i2s {
ralink,group = "i2s";
ralink,function = "gpio";
};
spis {
ralink,group = "spis";
ralink,function = "gpio";
};
wled_kn {
ralink,group = "wled_kn";
ralink,function = "gpio";
};
wled_an {
ralink,group = "wled_an";
ralink,function = "gpio";
};
wdt {
ralink,group = "wdt";
ralink,function = "gpio";
};
pwm0 {
ralink,group = "pwm0";
ralink,function = "gpio";
};
pwm1 {
ralink,group = "pwm1";
ralink,function = "gpio";
};
};
};
&gpio1 {
status = "okay";
};
&gpio2 {
status = "okay";
};
&spi0 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&spi_pins>, <&spi_cs1_pins>;
flash: m25p80@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <40000000>;
m25p,chunked-io = <31>;
partition@0 {
label = "u-boot";
reg = <0x0 0x30000>;
read-only;
};
partition@30000 {
label = "u-boot-env";
reg = <0x30000 0x10000>;
read-only;
};
factory: partition@40000 {
label = "factory";
reg = <0x40000 0x10000>;
};
firmware: partition@50000 {
label = "firmware";
};
};
spidev@1 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "rohm,dh2228fv";
reg = <1>;
spi-max-frequency = <40000000>;
};
};
&i2c {
status = "okay";
};
&uart1 {
status = "okay";
};
&uart2 {
status = "okay";
};
ðernet {
mtd-mac-address = <&factory 0x28>;
};
&sdhci {
status = "okay";
mediatek,cd-low;
};
&wmac {
status = "okay";
};
&pwm {
status = "okay";
};
I copied these 2 files from Openwrt SDK 18 from onion git repo (source): https://github.com/OnionIoT/source.git
I put these 2 files (OMEGA2.dst and OMEGA2.dtsi) under the directory "target/linux/ramips/dts/" in the new openwrt SDK 22.03 and then I build the openwrt and then upload the image to my board but the new Device Tree is not taken account.
What I am missing?