a783185e28
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 wireless 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
3 KiB
Text
191 lines
3 KiB
Text
/dts-v1/;
|
|
|
|
#include "mt7620a.dtsi"
|
|
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
#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 GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_RFKILL>;
|
|
};
|
|
|
|
reset {
|
|
label = "reset";
|
|
gpios = <&gpio1 2 GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_RESTART>;
|
|
};
|
|
};
|
|
|
|
gpio-leds {
|
|
compatible = "gpio-leds";
|
|
|
|
power {
|
|
label = "dch-m225:green:power";
|
|
gpios = <&gpio1 5 GPIO_ACTIVE_LOW>;
|
|
};
|
|
|
|
status {
|
|
label = "dch-m225:red:status";
|
|
gpios = <&gpio1 0 GPIO_ACTIVE_LOW>;
|
|
};
|
|
};
|
|
|
|
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 GPIO_ACTIVE_LOW>;
|
|
|
|
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>;
|
|
};
|
|
|