ramips: Fixes for LinkIt 7688
authorJohn Crispin <john@openwrt.org>
Sat, 9 Apr 2016 10:24:58 +0000 (10:24 +0000)
committerJohn Crispin <john@openwrt.org>
Sat, 9 Apr 2016 10:24:58 +0000 (10:24 +0000)
Misc fixes for LinkIt 7688 board:

- Copy the right wireless firmware for the mt7688
- Add back '0065-mt7688-fixes.patch', left out after the move to Linux 4.4.
- Remove SPI_DEV from linux config which otherwise causes a massive warning
- Add wmac to LINKIT7688.dts so wireless works

Signed-off-by: Adam Kent <adam@semicircular.net>
SVN-Revision: 49130

package/kernel/mt76/Makefile
target/linux/ramips/dts/LINKIT7688.dts
target/linux/ramips/mt7688/config-4.4
target/linux/ramips/patches-4.4/0065-mt7688-fixes.patch [new file with mode: 0644]

index 8800b13..33f61cb 100644 (file)
@@ -55,7 +55,7 @@ endef
 define KernelPackage/mt76/install
        $(INSTALL_DIR) $(1)/lib/firmware
        cp \
-               $(if $(CONFIG_TARGET_ramips_mt7628), \
+               $(if $(CONFIG_TARGET_ramips_mt7628) || $(CONFIG_TARGET_ramips_mt7688), \
                        $(PKG_BUILD_DIR)/firmware/mt7628_e1.bin \
                        $(PKG_BUILD_DIR)/firmware/mt7628_e2.bin \
                ) \
index 5ec29ac..2dfb98c 100644 (file)
                };
        };
 
+       wmac@10300000 {
+               status = "okay";
+       };
+
        palmbus@10000000 {
                spi@b00 {
                        status = "okay";
index c1e8df2..2bfd3f8 100644 (file)
@@ -193,7 +193,7 @@ CONFIG_SPI=y
 CONFIG_SPI_MASTER=y
 CONFIG_SPI_MT7621=y
 # CONFIG_SPI_RT2880 is not set
-CONFIG_SPI_SPIDEV=y
+# CONFIG_SPI_SPIDEV is not set
 CONFIG_SRCU=y
 CONFIG_SWCONFIG=y
 CONFIG_SYSCTL_EXCEPTION_TRACE=y
diff --git a/target/linux/ramips/patches-4.4/0065-mt7688-fixes.patch b/target/linux/ramips/patches-4.4/0065-mt7688-fixes.patch
new file mode 100644 (file)
index 0000000..b96be91
--- /dev/null
@@ -0,0 +1,73 @@
+--- a/arch/mips/ralink/mt7620.c
++++ b/arch/mips/ralink/mt7620.c
+@@ -107,31 +107,31 @@ static struct rt2880_pmx_group mt7620a_p
+ };
+ static struct rt2880_pmx_func pwm1_grp_mt7628[] = {
+-      FUNC("sdcx", 3, 19, 1),
++      FUNC("sdxc", 3, 19, 1),
+       FUNC("utif", 2, 19, 1),
+       FUNC("gpio", 1, 19, 1),
+       FUNC("pwm", 0, 19, 1),
+ };
+ static struct rt2880_pmx_func pwm0_grp_mt7628[] = {
+-      FUNC("sdcx", 3, 18, 1),
++      FUNC("sdxc", 3, 18, 1),
+       FUNC("utif", 2, 18, 1),
+       FUNC("gpio", 1, 18, 1),
+       FUNC("pwm", 0, 18, 1),
+ };
+ static struct rt2880_pmx_func uart2_grp_mt7628[] = {
+-      FUNC("sdcx", 3, 20, 2),
++      FUNC("sdxc", 3, 20, 2),
+       FUNC("pwm", 2, 20, 2),
+       FUNC("gpio", 1, 20, 2),
+-      FUNC("uart", 0, 20, 2),
++      FUNC("uart2", 0, 20, 2),
+ };
+ static struct rt2880_pmx_func uart1_grp_mt7628[] = {
+       FUNC("sdcx", 3, 45, 2),
+       FUNC("pwm", 2, 45, 2),
+       FUNC("gpio", 1, 45, 2),
+-      FUNC("uart", 0, 45, 2),
++      FUNC("uart1", 0, 45, 2),
+ };
+ static struct rt2880_pmx_func i2c_grp_mt7628[] = {
+@@ -143,21 +143,21 @@ static struct rt2880_pmx_func i2c_grp_mt
+ static struct rt2880_pmx_func refclk_grp_mt7628[] = { FUNC("reclk", 0, 36, 1) };
+ static struct rt2880_pmx_func perst_grp_mt7628[] = { FUNC("perst", 0, 37, 1) };
+-static struct rt2880_pmx_func wdt_grp_mt7628[] = { FUNC("wdt", 0, 15, 38) };
++static struct rt2880_pmx_func wdt_grp_mt7628[] = { FUNC("wdt", 0, 38, 1) };
+ static struct rt2880_pmx_func spi_grp_mt7628[] = { FUNC("spi", 0, 7, 4) };
+ static struct rt2880_pmx_func sd_mode_grp_mt7628[] = {
+       FUNC("jtag", 3, 22, 8),
+       FUNC("utif", 2, 22, 8),
+       FUNC("gpio", 1, 22, 8),
+-      FUNC("sdcx", 0, 22, 8),
++      FUNC("sdxc", 0, 22, 8),
+ };
+ static struct rt2880_pmx_func uart0_grp_mt7628[] = {
+       FUNC("-", 3, 12, 2),
+       FUNC("-", 2, 12, 2),
+       FUNC("gpio", 1, 12, 2),
+-      FUNC("uart", 0, 12, 2),
++      FUNC("uart0", 0, 12, 2),
+ };
+ static struct rt2880_pmx_func i2s_grp_mt7628[] = {
+@@ -438,6 +438,8 @@ void __init ralink_clk_init(void)
+       ralink_clk_add("10000b00.spi", sys_rate);
+       ralink_clk_add("10000b40.spi", sys_rate);
+       ralink_clk_add("10000c00.uartlite", periph_rate);
++      ralink_clk_add("10000d00.uart1", periph_rate);
++      ralink_clk_add("10000e00.uart2", periph_rate);
+       ralink_clk_add("10180000.wmac", xtal_rate);
+       if (IS_ENABLED(CONFIG_USB) && is_mt76x8()) {