Re: [PATCH v3 21/22] MIPS: generic: Add support for Mobileye EyeQ5

From: Jiaxun Yang
Date: Fri Dec 01 2023 - 06:47:52 EST




在2023年12月1日十二月 上午11:15,Gregory CLEMENT写道:
> Introduce support for the MIPS based Mobileye EyeQ5 SoCs.
>
> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxx>
> ---
> arch/mips/configs/generic/board-eyeq5.config | 43 ++++++++++++++++++++
> arch/mips/generic/Kconfig | 15 +++++++
> arch/mips/generic/Platform | 2 +
> arch/mips/generic/board-epm5.its.S | 24 +++++++++++
> 4 files changed, 84 insertions(+)
> create mode 100644 arch/mips/configs/generic/board-eyeq5.config
> create mode 100644 arch/mips/generic/board-epm5.its.S
>
> diff --git a/arch/mips/configs/generic/board-eyeq5.config
> b/arch/mips/configs/generic/board-eyeq5.config
> new file mode 100644
> index 0000000000000..d5109fda6e821
> --- /dev/null
> +++ b/arch/mips/configs/generic/board-eyeq5.config
> @@ -0,0 +1,43 @@
> +CONFIG_HIGH_RES_TIMERS=y
> +CONFIG_TASKSTATS=y
> +CONFIG_FIT_IMAGE_FDT_EPM5=y
> +CONFIG_BOARD_EYEQ5=y
> +CONFIG_USE_XKPHYS=y
> +CONFIG_PHYSICAL_START=0xa800000808000000
> +CONFIG_ZBOOT_LOAD_ADDRESS=0xA800000080480000
^ I wonder why are you overriding CONFIG_ZBOOT_LOAD_ADDRESS here, automatic
calculation should work well.

Also I think by adding board-eyeq5.config you are hijacking CONFIG_PHYSICAL_START
for `make 32r2el_defconfig` without BOARDS option as well.

Probably we should implement something to backlist this board from generic
config.

Thanks
- Jiaxun

> +CONFIG_CPU_HAS_MSA=y
> +CONFIG_NET_KEY=y
> +CONFIG_CAN=y
> +CONFIG_PCI=y
> +CONFIG_PCI_MSI=y
> +CONFIG_PCI_DEBUG=y
> +CONFIG_PCI_ENDPOINT=y
> +CONFIG_CONNECTOR=y
> +CONFIG_MTD=y
> +CONFIG_MTD_CMDLINE_PARTS=y
> +CONFIG_MTD_BLOCK=y
> +CONFIG_MTD_RAM=y
> +CONFIG_MTD_ROM=y
> +CONFIG_MTD_PHYSMAP=y
> +CONFIG_MTD_PHYSMAP_OF=y
> +CONFIG_MTD_BLOCK2MTD=y
> +CONFIG_MTD_UBI=y
> +CONFIG_MTD_UBI_BLOCK=y
> +CONFIG_NETDEVICES=y
> +CONFIG_MACVLAN=y
> +CONFIG_IPVLAN=y
> +CONFIG_MACB=y
> +CONFIG_MARVELL_PHY=y
> +CONFIG_MICREL_PHY=y
> +CONFIG_CAN_M_CAN=y
> +CONFIG_SERIAL_AMBA_PL011=y
> +CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
> +CONFIG_PINCTRL=y
> +CONFIG_MMC=y
> +CONFIG_MMC_SDHCI=y
> +CONFIG_MMC_SDHCI_CADENCE=y
> +CONFIG_RESET_CONTROLLER=y
> +CONFIG_FANOTIFY=y
> +CONFIG_ROMFS_FS=y
> +CONFIG_ROMFS_BACKED_BY_BOTH=y
> +CONFIG_PAGE_SIZE_16KB=y
> \ No newline at end of file
> diff --git a/arch/mips/generic/Kconfig b/arch/mips/generic/Kconfig
> index 7dc5b3821cc6e..04e1fc6f789b5 100644
> --- a/arch/mips/generic/Kconfig
> +++ b/arch/mips/generic/Kconfig
> @@ -48,6 +48,13 @@ config SOC_VCOREIII
> config MSCC_OCELOT
> bool
>
> +config SOC_EYEQ5
> + select ARM_AMBA
> + select WEAK_ORDERING
> + select WEAK_REORDERING_BEYOND_LLSC
> + select PHYSICAL_START_BOOL
> + bool
> +
> comment "FIT/UHI Boards"
>
> config FIT_IMAGE_FDT_BOSTON
> @@ -124,4 +131,12 @@ config VIRT_BOARD_RANCHU
> Android emulator. Android emulator is based on Qemu, and contains
> the support for the same set of virtual devices.
>
> +config FIT_IMAGE_FDT_EPM5
> + bool "Include FDT for Mobileye EyeQ5 development platforms"
> + select SOC_EYEQ5
> + default n
> + help
> + Enable this to include the FDT for the EyeQ5 development platforms
> + from Mobileye in the FIT kernel image.
> + This requires u-boot on the platform.
> endif
> diff --git a/arch/mips/generic/Platform b/arch/mips/generic/Platform
> index 0c03623f38970..45db9824a11d6 100644
> --- a/arch/mips/generic/Platform
> +++ b/arch/mips/generic/Platform
> @@ -24,3 +24,5 @@ its-$(CONFIG_FIT_IMAGE_FDT_JAGUAR2) +=
> board-jaguar2.its.S
> its-$(CONFIG_FIT_IMAGE_FDT_SERVAL) += board-serval.its.S
> its-$(CONFIG_FIT_IMAGE_FDT_XILFPGA) += board-xilfpga.its.S
> its-$(CONFIG_FIT_IMAGE_FDT_MARDUK) += board-marduk.its.S
> +its-$(CONFIG_FIT_IMAGE_FDT_EPM5) += board-epm5.its.S
> +
> diff --git a/arch/mips/generic/board-epm5.its.S
> b/arch/mips/generic/board-epm5.its.S
> new file mode 100644
> index 0000000000000..08e8c4f183d63
> --- /dev/null
> +++ b/arch/mips/generic/board-epm5.its.S
> @@ -0,0 +1,24 @@
> +/* SPDX-License-Identifier: (GPL-2.0 OR MIT) */
> +/ {
> + images {
> + fdt-mobileye-epm5 {
> + description = "Mobileeye MP5 Device Tree";
> + data = /incbin/("boot/dts/mobileye/eyeq5-epm5.dtb");
> + type = "flat_dt";
> + arch = "mips";
> + compression = "none";
> + hash {
> + algo = "sha1";
> + };
> + };
> + };
> +
> + configurations {
> + default = "conf-1";
> + conf-1 {
> + description = "Mobileye EPM5 Linux kernel";
> + kernel = "kernel";
> + fdt = "fdt-mobileye-epm5";
> + };
> + };
> +};
> --
> 2.42.0

--
- Jiaxun