[OpenWrt-Devel] [Lantiq][RFC] Add cpu-feature-overrides.h and disable PCIe and multithreading in Danube
John Crispin
john at phrozen.org
Tue Jul 1 01:26:41 EDT 2014
NAK, xway is a unified kernel target and we wont change that upstream.
i am fine with the cpu override bit but i wont take the KConfig part,
sorry,
John
On 01/07/2014 02:37, José Vázquez Fernández wrote:
> This draft adds cpu-feature-overrides.h using the FALCON one as
> base. Due to the different cores used in ASE and Danube the Kconfig
> was modified to disable some options that are present in the AR9
> and VR9 SoCs, like multithreading, mt ASE and some others.
> According with UGW all the Lantiq SoCs supported in OpenWRT have
> CPU_MIPSR2_IRQ_VI but it was not tested nor added. FALCON sets
> cpu_has_vint and cpu_has_veic to 1, but here were left undefined
> because i have no idea if the XWAY family have and/or support
> they. Due to only dcdc driver only has effect with the VR9 the
> Makefile was modified to include it only when SOC_XWAY is
> selected.
>
> As a side effect the kernel size is 30KB smaller.
>
> This patch, as is, works fine with a Danube based router, but, as i
> have said, is only a draft that, if it has interest, must be
> improved.
>
> José Vázquez
>
>
>
> diff -urN
> a/arch/mips/include/asm/mach-lantiq/xway/cpu-feature-overrides.h
> b/arch/mips/include/asm/mach-lantiq/xway/cpu-feature-overrides.h
> ---
> a/arch/mips/include/asm/mach-lantiq/xway/cpu-feature-overrides.h
> 1970-01-01 01:00:00.000000000 +0100 +++
> b/arch/mips/include/asm/mach-lantiq/xway/cpu-feature-overrides.h
> 2014-07-01 01:34:41.980432797 +0200 @@ -0,0 +1,67 @@ +/* + *
> Lantiq XWAY specific CPU feature overrides + * + * This file was
> derived from: include/asm-mips/cpu-features.h + * Copyright (C)
> 2003, 2004 Ralf Baechle + * Copyright (C) 2004 Maciej W.
> Rozycki + * + * This program is free software; you can
> redistribute it and/or modify it + * under the terms of the GNU
> General Public License version 2 as published + * by the Free
> Software Foundation. + * + */ +#ifndef
> __ASM_MACH_XWAY_CPU_FEATURE_OVERRIDES_H +#define
> __ASM_MACH_XWAY_CPU_FEATURE_OVERRIDES_H + +#define cpu_has_tlb
> 1 +#define cpu_has_4kex 1 +#define cpu_has_3k_cache 0
> +#define cpu_has_4k_cache 1 +#define cpu_has_tx39_cache 0
> +#define cpu_has_sb1_cache 0 +#define cpu_has_fpu 0
> +#define cpu_has_32fpr 0 +#define cpu_has_counter 1
> +#define cpu_has_watch 1 +#define cpu_has_divec 1 +
> +#define cpu_has_prefetch 1 +#define cpu_has_ejtag 1
> +#define cpu_has_llsc 1 + +#if
> defined(CONFIG_SOC_AMAZON_SE) +#define cpu_has_mips16 0
> +#endif + +#define cpu_has_mdmx 0 +#define cpu_has_mips3d
> 0 +#define cpu_has_smartmips 0 +#define cpu_has_vz 0 +
> +#define cpu_has_mips32r1 1 +#define cpu_has_mips32r2 1
> +#define cpu_has_mips64r1 0 +#define cpu_has_mips64r2 0 +
> +#if defined(CONFIG_SOC_AMAZON_SE) +#define cpu_has_dsp 0
> +#endif + +#define cpu_has_dsp2 0 + +#if
> defined(CONFIG_SOC_AMAZON_SE) || defined(CONFIG_SOC_DANUBE)
> +#define cpu_has_mipsmt 0 +#endif + +//#define cpu_has_vint
> ? /* MIPSR2 vectored interrupts */ +//#define cpu_has_veic ?
> /* MIPSR2 external interrupt controller mode */ + +#define
> cpu_has_64bits 0 +#define cpu_has_64bit_zero_reg 0
> +#define cpu_has_64bit_gp_regs 0 +#define
> cpu_has_64bit_addresses 0 + +#define cpu_dcache_line_size()
> 32 +#define cpu_icache_line_size() 32 + +#endif /*
> __ASM_MACH_XWAY_CPU_FEATURE_OVERRIDES_H */ diff -urN
> a/arch/mips/Kconfig b/arch/mips/Kconfig --- a/arch/mips/Kconfig
> 2014-07-01 01:11:21.000000000 +0200 +++ b/arch/mips/Kconfig
> 2014-06-30 23:59:30.000000000 +0200 @@ -241,7 +241,6 @@ select
> SYS_HAS_CPU_MIPS32_R2 select SYS_SUPPORTS_BIG_ENDIAN select
> SYS_SUPPORTS_32BIT_KERNEL - select SYS_SUPPORTS_MULTITHREADING
> select SYS_HAS_EARLY_PRINTK select ARCH_REQUIRE_GPIOLIB select
> SWAP_IO_SPACE diff -urN a/arch/mips/lantiq/Kconfig
> b/arch/mips/lantiq/Kconfig --- a/arch/mips/lantiq/Kconfig
> 2014-07-01 01:11:23.000000000 +0200 +++ b/arch/mips/lantiq/Kconfig
> 2014-07-01 01:17:23.592775282 +0200 @@ -11,14 +11,21 @@ default
> SOC_XWAY
>
> config SOC_AMAZON_SE - bool "Amazon SE" + bool "XWAY Amazon
> SE" select SOC_TYPE_XWAY
>
> +config SOC_DANUBE + bool "XWAY Danube" + select
> SOC_TYPE_XWAY + select HW_HAS_PCI + select ARCH_SUPPORTS_MSI
> + config SOC_XWAY - bool "XWAY" + bool "XWAY Danube, AR9 and
> VR9" select SOC_TYPE_XWAY select HW_HAS_PCI select
> ARCH_SUPPORTS_MSI + select SYS_SUPPORTS_MULTITHREADING
>
> config SOC_FALCON bool "FALCON" @@ -31,12 +38,12 @@
>
> config DT_EASY50712 bool "Easy50712" - depends on SOC_XWAY +
> depends on SOC_XWAY || SOC_DANUBE endchoice
>
> config PCI_LANTIQ bool "PCI Support" - depends on SOC_XWAY &&
> PCI + depends on (SOC_XWAY || SOC_DANUBE) && PCI
>
> config PCIE_LANTIQ bool "PCIE Support" diff -urN
> a/arch/mips/lantiq/xway/Makefile b/arch/mips/lantiq/xway/Makefile
> --- a/arch/mips/lantiq/xway/Makefile 2014-07-01
> 01:11:23.000000000 +0200 +++ b/arch/mips/lantiq/xway/Makefile
> 2014-07-01 02:02:33.946247244 +0200 @@ -1,8 +1,9 @@ -obj-y :=
> prom.o sysctrl.o clk.o reset.o dma.o timer.o dcdc.o +obj-y :=
> prom.o sysctrl.o clk.o reset.o dma.o timer.o
>
> obj-y += vmmc.o mtd_split.o tffs.o
>
> obj-y += eth_mac.o obj-$(CONFIG_PCI) += ath_eep.o rt_eep.o
> pci-ath-fixup.o +obj-$(CONFIG_SOC_XWAY) += dcdc.o
>
> obj-$(CONFIG_XRX200_PHY_FW) += xrx200_phy_fw.o diff -urN
> a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig ---
> a/drivers/gpio/Kconfig 2014-07-01 01:11:23.000000000 +0200 +++
> b/drivers/gpio/Kconfig 2014-07-01 01:38:04.421147758 +0200 @@
> -142,7 +142,7 @@
>
> config GPIO_MM_LANTIQ bool "Lantiq Memory mapped GPIOs" -
> depends on LANTIQ && SOC_XWAY + depends on LANTIQ && (SOC_XWAY
> || SOC_DANUBE) help This enables support for memory mapped GPIOs on
> the External Bus Unit (EBU) found on Lantiq SoCs. The gpios are
> output only as they are @@ -446,7 +446,7 @@
>
> config GPIO_STP_XWAY bool "XWAY STP GPIOs" - depends on
> SOC_XWAY + depends on SOC_XWAY || SOC_DANUBE help This enables
> support for the Serial To Parallel (STP) unit found on XWAY SoC.
> The STP allows the SoC to drive a shift registers cascade,
> _______________________________________________ openwrt-devel
> mailing list openwrt-devel at lists.openwrt.org
> https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
>
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
More information about the openwrt-devel
mailing list