mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2026-04-19 20:52:22 +02:00
50 lines
1.8 KiB
Diff
50 lines
1.8 KiB
Diff
Cleaned up patch which underclocks the SDIO bus on E200 boards,
|
|
derived from UBNT GPL sources (ubnt_prune_device_tree).
|
|
|
|
Signed-off-by: Ariadne Conill <ariadne@dereferenced.org>
|
|
--- linux-5.4.orig/arch/mips/cavium-octeon/octeon-platform.c
|
|
+++ linux-5.4/arch/mips/cavium-octeon/octeon-platform.c
|
|
@@ -1128,6 +1128,20 @@
|
|
}
|
|
#endif
|
|
|
|
+ /* UBNT underclocks the SDIO bus on E200. We do the same here. */
|
|
+ if (octeon_bootinfo->board_type == CVMX_BOARD_TYPE_UBNT_E200 || octeon_bootinfo->board_type == CVMX_BOARD_TYPE_UBNT_E220) {
|
|
+ int mmc_slot0;
|
|
+ u32 freq = 26000000;
|
|
+
|
|
+ pr_info("UBNT E200 board detected, underclocking SDIO bus.\n");
|
|
+
|
|
+ mmc_slot0 = fdt_path_offset(initial_boot_params, "/soc/mmc/mmc-slot@0");
|
|
+ if (mmc_slot0 > 0) {
|
|
+ fdt_setprop_inplace_cell(initial_boot_params, mmc_slot0,
|
|
+ "spi-max-frequency", freq);
|
|
+ }
|
|
+ }
|
|
+
|
|
return 0;
|
|
}
|
|
|
|
--- linux-5.4.orig/arch/mips/include/asm/octeon/cvmx-bootinfo.h
|
|
+++ linux-5.4/arch/mips/include/asm/octeon/cvmx-bootinfo.h
|
|
@@ -295,6 +295,9 @@
|
|
*/
|
|
CVMX_BOARD_TYPE_CUST_PRIVATE_MIN = 20001,
|
|
CVMX_BOARD_TYPE_UBNT_E100 = 20002,
|
|
+ CVMX_BOARD_TYPE_UBNT_E200 = 20003,
|
|
+ CVMX_BOARD_TYPE_UBNT_E120 = 20004,
|
|
+ CVMX_BOARD_TYPE_UBNT_E220 = 20005,
|
|
CVMX_BOARD_TYPE_CUST_DSR1000N = 20006,
|
|
CVMX_BOARD_TYPE_KONTRON_S1901 = 21901,
|
|
CVMX_BOARD_TYPE_CUST_PRIVATE_MAX = 30000,
|
|
@@ -396,6 +399,9 @@
|
|
/* Customer private range */
|
|
ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_PRIVATE_MIN)
|
|
ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_UBNT_E100)
|
|
+ ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_UBNT_E200)
|
|
+ ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_UBNT_E120)
|
|
+ ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_UBNT_E220)
|
|
ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_DSR1000N)
|
|
ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_KONTRON_S1901)
|
|
ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_PRIVATE_MAX)
|