<div dir="ltr">and leave it disabled. whos idea it was anyway to convert ar71xx to DTS? unnecesary complications from my POV<br><br></div><div class="gmail_extra"><br><div class="gmail_quote">On 11 January 2018 at 00:52, Matthias Schiffer <span dir="ltr"><<a href="mailto:mschiffer@universe-factory.net" target="_blank">mschiffer@universe-factory.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">While we'd like to convert ar71xx to DT-based configuration<br>
eventually, we aren't quite there yet, and shipping half-baked DT support<br>
that is not used at all wastes precious space.<br>
<br>
Saves ~120KB before LZMA, ~33KB after LZMA.<br>
<br>
Run-tested on TP-Link CPE510 and TL-WR841 v7.<br>
<br>
Signed-off-by: Matthias Schiffer <<a href="mailto:mschiffer@universe-factory.net">mschiffer@universe-factory.<wbr>net</a>><br>
---<br>
 target/linux/ar71xx/config-4.9                     | 21 +------<br>
 .../ar71xx/patches-4.9/604-<wbr>MIPS-ath79-no-of.patch  | 70 ++++++++++++++++++++++<br>
 ...20-MIPS-ath79-add-support-<wbr>for-QCA953x-SoC.patch |  4 +-<br>
 ...21-MIPS-ath79-add-support-<wbr>for-QCA956x-SoC.patch |  4 +-<br>
 4 files changed, 75 insertions(+), 24 deletions(-)<br>
 create mode 100644 target/linux/ar71xx/patches-4.<wbr>9/604-MIPS-ath79-no-of.patch<br>
<br>
diff --git a/target/linux/ar71xx/config-<wbr>4.9 b/target/linux/ar71xx/config-<wbr>4.9<br>
index 4334d25b80..1b9b971688 100644<br>
--- a/target/linux/ar71xx/config-<wbr>4.9<br>
+++ b/target/linux/ar71xx/config-<wbr>4.9<br>
@@ -284,7 +284,6 @@ CONFIG_CRYPTO_RNG2=y<br>
 CONFIG_CRYPTO_WORKQUEUE=y<br>
 CONFIG_CSRC_R4K=y<br>
 CONFIG_DMA_NONCOHERENT=y<br>
-CONFIG_DTC=y<br>
 CONFIG_EARLY_PRINTK=y<br>
 CONFIG_ETHERNET_PACKET_MANGLE=<wbr>y<br>
 CONFIG_FIXED_PHY=y<br>
@@ -360,14 +359,12 @@ CONFIG_INITRAMFS_ROOT_UID=0<br>
 CONFIG_INITRAMFS_SOURCE="../..<wbr>/root"<br>
 CONFIG_INTEL_XWAY_PHY=y<br>
 CONFIG_IP17XX_PHY=y<br>
-CONFIG_IRQCHIP=y<br>
 CONFIG_IRQ_DOMAIN=y<br>
 CONFIG_IRQ_FORCED_THREADING=y<br>
 CONFIG_IRQ_MIPS_CPU=y<br>
 CONFIG_IRQ_WORK=y<br>
 CONFIG_LEDS_GPIO=y<br>
 # CONFIG_LEDS_WNDR3700_USB is not set<br>
-CONFIG_LIBFDT=y<br>
 CONFIG_MARVELL_PHY=y<br>
 CONFIG_MDIO_BITBANG=y<br>
 CONFIG_MDIO_BOARDINFO=y<br>
@@ -378,15 +375,10 @@ CONFIG_MIPS_ASID_BITS=8<br>
 CONFIG_MIPS_ASID_SHIFT=0<br>
 CONFIG_MIPS_CLOCK_VSYSCALL=y<br>
 # CONFIG_MIPS_CMDLINE_BUILTIN_<wbr>EXTEND is not set<br>
-# CONFIG_MIPS_CMDLINE_DTB_EXTEND is not set<br>
 CONFIG_MIPS_CMDLINE_FROM_<wbr>BOOTLOADER=y<br>
-# CONFIG_MIPS_CMDLINE_FROM_DTB is not set<br>
-# CONFIG_MIPS_ELF_APPENDED_DTB is not set<br>
 # CONFIG_MIPS_HUGE_TLB_SUPPORT is not set<br>
 CONFIG_MIPS_L1_CACHE_SHIFT=5<br>
 CONFIG_MIPS_MACHINE=y<br>
-CONFIG_MIPS_NO_APPENDED_DTB=y<br>
-# CONFIG_MIPS_RAW_APPENDED_DTB is not set<br>
 CONFIG_MIPS_SPRAM=y<br>
 CONFIG_MODULES_USE_ELF_REL=y<br>
 CONFIG_MTD_CFI_ADV_OPTIONS=y<br>
@@ -422,17 +414,7 @@ CONFIG_NET_DSA_TAG_TRAILER=y<br>
 CONFIG_NET_SWITCHDEV=y<br>
 CONFIG_NO_GENERIC_PCI_IOPORT_<wbr>MAP=y<br>
 # CONFIG_NO_IOPORT_MAP is not set<br>
-CONFIG_OF=y<br>
-CONFIG_OF_ADDRESS=y<br>
-CONFIG_OF_ADDRESS_PCI=y<br>
-CONFIG_OF_EARLY_FLATTREE=y<br>
-CONFIG_OF_FLATTREE=y<br>
-CONFIG_OF_GPIO=y<br>
-CONFIG_OF_IRQ=y<br>
-CONFIG_OF_MDIO=y<br>
-CONFIG_OF_NET=y<br>
-CONFIG_OF_PCI=y<br>
-CONFIG_OF_PCI_IRQ=y<br>
+# CONFIG_OF is not set<br>
 CONFIG_PCI=y<br>
 CONFIG_PCI_AR724X=y<br>
 CONFIG_PCI_DISABLE_COMMON_<wbr>QUIRKS=y<br>
@@ -486,4 +468,3 @@ CONFIG_SYS_SUPPORTS_ZBOOT=y<br>
 CONFIG_SYS_SUPPORTS_ZBOOT_<wbr>UART_PROM=y<br>
 CONFIG_TICK_CPU_ACCOUNTING=y<br>
 CONFIG_USB_SUPPORT=y<br>
-CONFIG_USE_OF=y<br>
diff --git a/target/linux/ar71xx/patches-<wbr>4.9/604-MIPS-ath79-no-of.patch b/target/linux/ar71xx/patches-<wbr>4.9/604-MIPS-ath79-no-of.patch<br>
new file mode 100644<br>
index 0000000000..c0b5459e45<br>
--- /dev/null<br>
+++ b/target/linux/ar71xx/patches-<wbr>4.9/604-MIPS-ath79-no-of.patch<br>
@@ -0,0 +1,70 @@<br>
+--- a/arch/mips/Kconfig<br>
++++ b/arch/mips/Kconfig<br>
+@@ -195,7 +195,6 @@ config ATH79<br>
+       select SYS_SUPPORTS_BIG_ENDIAN<br>
+       select SYS_SUPPORTS_MIPS16<br>
+       select SYS_SUPPORTS_ZBOOT_UART_PROM<br>
+-      select USE_OF<br>
+       help<br>
+         Support for the Atheros AR71XX/AR724X/AR913X SoCs.<br>
+<br>
+--- a/arch/mips/ath79/setup.c<br>
++++ b/arch/mips/ath79/setup.c<br>
+@@ -196,16 +196,20 @@ unsigned int get_c0_compare_int(void)<br>
+<br>
+ void __init plat_mem_setup(void)<br>
+ {<br>
++#ifdef CONFIG_OF<br>
+       unsigned long fdt_start;<br>
++#endif<br>
+<br>
+       set_io_port_base(KSEG1);<br>
+<br>
++#ifdef CONFIG_OF<br>
+       /* Get the position of the FDT passed by the bootloader */<br>
+       fdt_start = fw_getenvl("fdt_start");<br>
+       if (fdt_start)<br>
+               __dt_setup_arch((void *)KSEG0ADDR(fdt_start));<br>
+       else if (fw_passed_dtb)<br>
+               __dt_setup_arch((void *)KSEG0ADDR(fw_passed_dtb));<br>
++#endif<br>
+<br>
+       if (mips_machtype != ATH79_MACH_GENERIC_OF) {<br>
+               ath79_reset_base = ioremap_nocache(AR71XX_RESET_<wbr>BASE,<br>
+@@ -301,17 +305,21 @@ static int __init ath79_setup(void)<br>
+<br>
+ arch_initcall(ath79_setup);<br>
+<br>
++#ifdef CONFIG_OF<br>
+ void __init device_tree_init(void)<br>
+ {<br>
+       unflatten_and_copy_device_<wbr>tree();<br>
+ }<br>
++#endif<br>
+<br>
+ MIPS_MACHINE(ATH79_MACH_<wbr>GENERIC,<br>
+            "Generic",<br>
+            "Generic AR71XX/AR724X/AR913X based board",<br>
+            NULL);<br>
+<br>
++#ifdef CONFIG_OF<br>
+ MIPS_MACHINE(ATH79_MACH_<wbr>GENERIC_OF,<br>
+            "DTB",<br>
+            "Generic AR71XX/AR724X/AR913X based board (DT)",<br>
+            NULL);<br>
++#endif<br>
+--- a/arch/mips/ath79/clock.c<br>
++++ b/arch/mips/ath79/clock.c<br>
+@@ -33,10 +33,12 @@<br>
+ #define AR724X_BASE_FREQ      40000000<br>
+<br>
+ static struct clk *clks[ATH79_CLK_END];<br>
++#ifdef CONFIG_OF<br>
+ static struct clk_onecell_data clk_data = {<br>
+       .clks = clks,<br>
+       .clk_num = ARRAY_SIZE(clks),<br>
+ };<br>
++#endif<br>
+<br>
+ static struct clk *__init ath79_add_sys_clkdev(<br>
+       const char *id, unsigned long rate)<br>
diff --git a/target/linux/ar71xx/patches-<wbr>4.9/620-MIPS-ath79-add-<wbr>support-for-QCA953x-SoC.patch b/target/linux/ar71xx/patches-<wbr>4.9/620-MIPS-ath79-add-<wbr>support-for-QCA953x-SoC.patch<br>
index 869fdd6dd0..03ff6c6aac 100644<br>
--- a/target/linux/ar71xx/patches-<wbr>4.9/620-MIPS-ath79-add-<wbr>support-for-QCA953x-SoC.patch<br>
+++ b/target/linux/ar71xx/patches-<wbr>4.9/620-MIPS-ath79-add-<wbr>support-for-QCA953x-SoC.patch<br>
@@ -44,7 +44,7 @@ meaning of the bits CPUCLK_FROM_CPUPLL and DDRCLK_FROM_DDRPLL is reversed.<br>
  config ATH79_NVRAM<br>
 --- a/arch/mips/ath79/clock.c<br>
 +++ b/arch/mips/ath79/clock.c<br>
-@@ -356,6 +356,91 @@ static void __init ar934x_clocks_init(vo<br>
+@@ -358,6 +358,91 @@ static void __init ar934x_clocks_init(vo<br>
        iounmap(dpll_base);<br>
  }<br>
<br>
@@ -136,7 +136,7 @@ meaning of the bits CPUCLK_FROM_CPUPLL and DDRCLK_FROM_DDRPLL is reversed.<br>
  static void __init qca955x_clocks_init(void)<br>
  {<br>
        unsigned long ref_rate;<br>
-@@ -451,6 +536,8 @@ void __init ath79_clocks_init(void)<br>
+@@ -453,6 +538,8 @@ void __init ath79_clocks_init(void)<br>
                ar933x_clocks_init();<br>
        else if (soc_is_ar934x())<br>
                ar934x_clocks_init();<br>
diff --git a/target/linux/ar71xx/patches-<wbr>4.9/621-MIPS-ath79-add-<wbr>support-for-QCA956x-SoC.patch b/target/linux/ar71xx/patches-<wbr>4.9/621-MIPS-ath79-add-<wbr>support-for-QCA956x-SoC.patch<br>
index dafac99190..e6eaa7123a 100644<br>
--- a/target/linux/ar71xx/patches-<wbr>4.9/621-MIPS-ath79-add-<wbr>support-for-QCA956x-SoC.patch<br>
+++ b/target/linux/ar71xx/patches-<wbr>4.9/621-MIPS-ath79-add-<wbr>support-for-QCA956x-SoC.patch<br>
@@ -24,7 +24,7 @@<br>
  config ATH79_NVRAM<br>
 --- a/arch/mips/ath79/clock.c<br>
 +++ b/arch/mips/ath79/clock.c<br>
-@@ -526,6 +526,100 @@ static void __init qca955x_clocks_init(v<br>
+@@ -528,6 +528,100 @@ static void __init qca955x_clocks_init(v<br>
        clk_add_alias("uart", NULL, "ref", NULL);<br>
  }<br>
<br>
@@ -125,7 +125,7 @@<br>
  void __init ath79_clocks_init(void)<br>
  {<br>
        if (soc_is_ar71xx())<br>
-@@ -540,6 +634,8 @@ void __init ath79_clocks_init(void)<br>
+@@ -542,6 +636,8 @@ void __init ath79_clocks_init(void)<br>
                qca953x_clocks_init();<br>
        else if (soc_is_qca955x())<br>
                qca955x_clocks_init();<br>
<span class="HOEnZb"><font color="#888888">--<br>
2.15.1<br>
______________________________<wbr>_________________<br>
openwrt-devel mailing list<br>
<a href="mailto:openwrt-devel@lists.openwrt.org">openwrt-devel@lists.openwrt.<wbr>org</a><br>
<a href="https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel" rel="noreferrer" target="_blank">https://lists.openwrt.org/cgi-<wbr>bin/mailman/listinfo/openwrt-<wbr>devel</a><br>
</font></span></blockquote></div><br></div>