mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-27 01:11:14 +00:00
6cfa7e5788
Setting the pins of the uartf group to gpio+i2s at the time the i2c driver loads is to late for the WPS gpio button. The gpio-keys driver fails to load since the pin used by the WPS button is not yet set to GPIO. The WPS button with the rfkill keycode is essential for this wifi only board. Add the missing sound and i2c kernel modules corresponding to the device nodes. Signed-off-by: Mathias Kresin <dev@kresin.me>
191 lines
2.9 KiB
Plaintext
191 lines
2.9 KiB
Plaintext
/dts-v1/;
|
|
|
|
#include "mt7620a.dtsi"
|
|
|
|
#include <dt-bindings/input/input.h>
|
|
|
|
/ {
|
|
compatible = "dlink,dch-m225", "ralink,mt7620a-soc";
|
|
model = "D-Link DCH-M225";
|
|
|
|
gpio-keys-polled {
|
|
compatible = "gpio-keys-polled";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
poll-interval = <100>;
|
|
|
|
wps {
|
|
label = "wps";
|
|
gpios = <&gpio0 11 1>;
|
|
linux,code = <KEY_RFKILL>;
|
|
};
|
|
|
|
reset {
|
|
label = "reset";
|
|
gpios = <&gpio1 2 1>;
|
|
linux,code = <KEY_RESTART>;
|
|
};
|
|
};
|
|
|
|
gpio-leds {
|
|
compatible = "gpio-leds";
|
|
|
|
power {
|
|
label = "dch-m225:green:power";
|
|
gpios = <&gpio1 5 1>;
|
|
};
|
|
|
|
status {
|
|
label = "dch-m225:red:status";
|
|
gpios = <&gpio1 0 1>;
|
|
};
|
|
};
|
|
|
|
sound {
|
|
compatible = "simple-audio-card";
|
|
simple-audio-card,name = "Audio-I2S";
|
|
simple-audio-card,format = "i2s";
|
|
simple-audio-card,bitclock-master = <&dailink0_master>;
|
|
simple-audio-card,frame-master = <&dailink0_master>;
|
|
simple-audio-card,widgets =
|
|
"Headphone", "Headphones";
|
|
simple-audio-card,routing =
|
|
"Headphones", "HP_L",
|
|
"Headphones", "HP_R";
|
|
simple-audio-card,mclk-fs = <256>;
|
|
simple-audio-card,hp-det-gpio = <&gpio0 14 1>;
|
|
|
|
simple-audio-card,cpu {
|
|
sound-dai = <&i2s>;
|
|
};
|
|
|
|
dailink0_master: simple-audio-card,codec {
|
|
sound-dai = <&codec>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&gpio0 {
|
|
status = "okay";
|
|
};
|
|
|
|
&gpio1 {
|
|
status = "okay";
|
|
};
|
|
|
|
&i2c {
|
|
status = "okay";
|
|
|
|
codec: wm8960@1a {
|
|
#sound-dai-cells = <0>;
|
|
compatible = "wlf,wm8960";
|
|
reg = <0x1a>;
|
|
|
|
wlf,shared-lrclk;
|
|
};
|
|
};
|
|
|
|
&i2s {
|
|
#sound-dai-cells = <0>;
|
|
status = "okay";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&wm8960_mclk_pins>;
|
|
};
|
|
|
|
&spi0 {
|
|
status = "okay";
|
|
|
|
m25p80@0 {
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
compatible = "jedec,spi-nor";
|
|
reg = <0>;
|
|
spi-max-frequency = <80000000>;
|
|
m25p,fast-read;
|
|
|
|
partition@0 {
|
|
label = "u-boot";
|
|
reg = <0x0 0x30000>;
|
|
read-only;
|
|
};
|
|
|
|
partition@30000 {
|
|
label = "u-boot-env";
|
|
reg = <0x30000 0x4000>;
|
|
read-only;
|
|
};
|
|
|
|
factory: partition@34000 {
|
|
label = "factory";
|
|
reg = <0x34000 0x4000>;
|
|
read-only;
|
|
};
|
|
|
|
nvram: partition@38000 {
|
|
label = "nvram";
|
|
reg = <0x38000 0x8000>;
|
|
read-only;
|
|
};
|
|
|
|
partition@40000 {
|
|
label = "devconf";
|
|
reg = <0x40000 0x10000>;
|
|
read-only;
|
|
};
|
|
|
|
partition@50000 {
|
|
label = "upgrade_rec";
|
|
reg = <0x50000 0x100000>;
|
|
read-only;
|
|
};
|
|
|
|
partition@150000 {
|
|
label = "firmware";
|
|
reg = <0x150000 0x6b0000>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&gdma {
|
|
status = "okay";
|
|
};
|
|
|
|
&pinctrl {
|
|
state_default: pinctrl0 {
|
|
gpio {
|
|
ralink,group = "wdt", "rgmii1";
|
|
ralink,function = "gpio";
|
|
};
|
|
|
|
gpio_i2s {
|
|
ralink,group = "uartf";
|
|
ralink,function = "gpio i2s";
|
|
};
|
|
|
|
pa {
|
|
ralink,group = "pa";
|
|
ralink,function = "pa";
|
|
};
|
|
|
|
wm8960_mclk_pins: wm8960_mclk {
|
|
wm8960_mclk {
|
|
ralink,group = "mdio";
|
|
ralink,function = "refclk";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
ðernet {
|
|
mtd-mac-address = <&factory 0x4>;
|
|
};
|
|
|
|
&gsw {
|
|
ralink,port4 = "ephy";
|
|
};
|
|
|
|
&wmac {
|
|
ralink,mtd-eeprom = <&factory 0>;
|
|
};
|
|
|