From nobody Wed Dec 17 17:29:21 2025 Received: from relay6-d.mail.gandi.net (relay6-d.mail.gandi.net [217.70.183.198]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CC0363D3B8; Mon, 13 May 2024 18:34:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.198 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715625290; cv=none; b=P7MgV3/DQE0wKgxP7MD2FbzEmNHx4j61DbnE6murE2ZN6S3AshL+2wdvRjB7R/3B67QLq9l0ooGUb/ADci52nL8zd64vrHP6fXV8XfkOipsolyDYN32tp2vExrTrwooSU902sg8vwGS+ejGy+lXcV83X+o8UHfYaA0L18w7JkOc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715625290; c=relaxed/simple; bh=lWp3qSP9yeWeEVRrF736edtP5bAdugOS1ziOGLFtlso=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=DWNXQbLmEbTw0HwtDFeB/gbqzjgk6iodVMj4o+6ajQ45rbPBDPfXEaA/NQ1DvTbZU9ykt4ArucuzLohM1eB+8XFSSN9oY53Dw8/Soz9kl38zY8ItMWwGTPN4nwyGzrBNgNZqx/JAkfPdPEN8balT38y1Ngi7Kzni5wnTKZKNJ2Q= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=bUMjOVnS; arc=none smtp.client-ip=217.70.183.198 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="bUMjOVnS" Received: by mail.gandi.net (Postfix) with ESMTPSA id 42FEAC0002; Mon, 13 May 2024 18:34:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1715625284; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=15TaJhhVE39xtbVy6DL0G5qguHdHmLrumCWfn8eUaIA=; b=bUMjOVnSosl1+o2wPXU8AfizTsnbHdUN1HOosaMjl9o2/DlesrG03+rvJ2ykpRkqnaCd2h pi3utVbne0op7m5sITWVSuv5QGHX9VpmQfcSCGvjNzt3HAvYOpkoRPC99z+4zhaIk4xz/t WuV8LjVEt/vaLXhXUswcOqTEo6GRYKRLuQV+McTssWvojroqffniqX//R99YUzHOYjK5sa Ic1T+6mKcz7l2PaiZDsaY3r28GbLvWBBMCdsdEPXGKbcfAF8FG9NK8QjgacCNGMRgOJyn1 QBK4/tEq/yyevEvjBoxh2lUkgOo0LOF4F/u8ce3zHlAOiVnP93Np88oaiFFxSA== From: Gregory CLEMENT Date: Mon, 13 May 2024 20:34:17 +0200 Subject: [PATCH v2 3/3] MIPS: mobileye: Add EyeQ6H support Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20240513-eyeq6h-v2-3-ae8c1974b52b@bootlin.com> References: <20240513-eyeq6h-v2-0-ae8c1974b52b@bootlin.com> In-Reply-To: <20240513-eyeq6h-v2-0-ae8c1974b52b@bootlin.com> To: Vladimir Kondratiev , =?utf-8?q?Th=C3=A9o_Lebrun?= , Thomas Bogendoerfer , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: linux-mips@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Tawfik Bayouk , Thomas Petazzoni , Alexandre Belloni , Gregory CLEMENT , Jiaxun Yang X-Mailer: b4 0.13.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=8811; i=gregory.clement@bootlin.com; h=from:subject:message-id; bh=lWp3qSP9yeWeEVRrF736edtP5bAdugOS1ziOGLFtlso=; b=owGbwMvMwCTIzSbRJ1JkfZXxtFoSQ5pTrL3TovnHLdXWOZ83kGLcIRQVNuNV9+zUt6/91Hl23 4x1TdnREcvCIMjEICumyCKxsuCMeLm+xza75uswc1iZQIYwcHEKwEQ2pTHM9z3U6azbfzGTyevJ 24leCgU1QtmZDPMjktdvNNS+vuLxtKmLHzv95w+aKd0OAA== X-Developer-Key: i=gregory.clement@bootlin.com; a=openpgp; fpr=18A970CC17772F48B63E83D70B06188E14723BD5 X-GND-Sasl: gregory.clement@bootlin.com EyeQ6H (or =E2=80=9CHigh=E2=80=9D) is an other SoC from Mobileye still base= d on the MIPS I6500 architecture as the EyeQ5. The 2 clusters of this SoC contains 4 cores which are capable of running 4 threads. Besides this, it features multiple controllers such as the classic UART, high speed I2C, SPI, as well as CAN-FD, PCIe Gen4, Octal/Quad SPI Flash interface, Gigabit Ethernet, MIPI CSI-2, MIPI DSI, and eMMC 5.1. It also includes a Hardware Security Module, Functional Safety Hardware, and video encoders and more. This commit provides the infrastructure to build a kernel running on EyeQ6H SoC. For now the support is limited and only one CPU core is running. Reviewed-by: Jiaxun Yang Signed-off-by: Gregory CLEMENT --- arch/mips/Kbuild.platforms | 2 +- arch/mips/Kconfig | 7 ++- arch/mips/boot/dts/Makefile | 2 +- arch/mips/boot/dts/mobileye/Makefile | 1 + arch/mips/configs/eyeq5_defconfig | 1 + arch/mips/configs/eyeq6_defconfig | 111 +++++++++++++++++++++++++++++++= ++++ arch/mips/mobileye/Kconfig | 26 ++++++++ arch/mips/mobileye/Platform | 1 + 8 files changed, 146 insertions(+), 5 deletions(-) diff --git a/arch/mips/Kbuild.platforms b/arch/mips/Kbuild.platforms index 5c145b67d3bf..bca37ddf974b 100644 --- a/arch/mips/Kbuild.platforms +++ b/arch/mips/Kbuild.platforms @@ -8,6 +8,7 @@ platform-$(CONFIG_BCM47XX) +=3D bcm47xx/ platform-$(CONFIG_BCM63XX) +=3D bcm63xx/ platform-$(CONFIG_BMIPS_GENERIC) +=3D bmips/ platform-$(CONFIG_CAVIUM_OCTEON_SOC) +=3D cavium-octeon/ +platform-$(CONFIG_EYEQ) +=3D mobileye/ platform-$(CONFIG_MIPS_COBALT) +=3D cobalt/ platform-$(CONFIG_MACH_DECSTATION) +=3D dec/ platform-$(CONFIG_MIPS_GENERIC) +=3D generic/ @@ -17,7 +18,6 @@ platform-$(CONFIG_MACH_LOONGSON2EF) +=3D loongson2ef/ platform-$(CONFIG_MACH_LOONGSON32) +=3D loongson32/ platform-$(CONFIG_MACH_LOONGSON64) +=3D loongson64/ platform-$(CONFIG_MIPS_MALTA) +=3D mti-malta/ -platform-$(CONFIG_MACH_EYEQ5) +=3D mobileye/ platform-$(CONFIG_MACH_NINTENDO64) +=3D n64/ platform-$(CONFIG_PIC32MZDA) +=3D pic32/ platform-$(CONFIG_RALINK) +=3D ralink/ diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig index 516dc7022bd7..ac330b135346 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig @@ -575,8 +575,8 @@ config MACH_PIC32 Microchip PIC32 is a family of general-purpose 32 bit MIPS core microcontrollers. =20 -config MACH_EYEQ5 - bool "Mobileye EyeQ5 SoC" +config EYEQ + bool "Mobileye EyeQ SoC" select MACH_GENERIC_CORE select ARM_AMBA select PHYSICAL_START_BOOL @@ -615,7 +615,7 @@ config MACH_EYEQ5 select USB_UHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN select USE_OF help - Select this to build a kernel supporting EyeQ5 SoC from Mobileye. + Select this to build a kernel supporting EyeQ SoC from Mobileye. =20 bool =20 @@ -1021,6 +1021,7 @@ source "arch/mips/generic/Kconfig" source "arch/mips/ingenic/Kconfig" source "arch/mips/jazz/Kconfig" source "arch/mips/lantiq/Kconfig" +source "arch/mips/mobileye/Kconfig" source "arch/mips/pic32/Kconfig" source "arch/mips/ralink/Kconfig" source "arch/mips/sgi-ip27/Kconfig" diff --git a/arch/mips/boot/dts/Makefile b/arch/mips/boot/dts/Makefile index efff87cb33a9..e2476b12bb0c 100644 --- a/arch/mips/boot/dts/Makefile +++ b/arch/mips/boot/dts/Makefile @@ -1,6 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 subdir-$(CONFIG_BMIPS_GENERIC) +=3D brcm subdir-$(CONFIG_CAVIUM_OCTEON_SOC) +=3D cavium-octeon +subdir-$(CONFIG_EYEQ) +=3D mobileye subdir-$(CONFIG_FIT_IMAGE_FDT_MARDUK) +=3D img subdir-$(CONFIG_FIT_IMAGE_FDT_BOSTON) +=3D img subdir-$(CONFIG_MACH_INGENIC) +=3D ingenic @@ -8,7 +9,6 @@ subdir-$(CONFIG_LANTIQ) +=3D lantiq subdir-$(CONFIG_MACH_LOONGSON64) +=3D loongson subdir-$(CONFIG_SOC_VCOREIII) +=3D mscc subdir-$(CONFIG_MIPS_MALTA) +=3D mti -subdir-$(CONFIG_MACH_EYEQ5) +=3D mobileye subdir-$(CONFIG_LEGACY_BOARD_SEAD3) +=3D mti subdir-$(CONFIG_FIT_IMAGE_FDT_NI169445) +=3D ni subdir-$(CONFIG_MACH_PIC32) +=3D pic32 diff --git a/arch/mips/boot/dts/mobileye/Makefile b/arch/mips/boot/dts/mobi= leye/Makefile index 01c01c3aad81..7cc89968aaac 100644 --- a/arch/mips/boot/dts/mobileye/Makefile +++ b/arch/mips/boot/dts/mobileye/Makefile @@ -2,3 +2,4 @@ # Copyright 2023 Mobileye Vision Technologies Ltd. =20 dtb-$(CONFIG_MACH_EYEQ5) +=3D eyeq5-epm5.dtb +dtb-$(CONFIG_MACH_EYEQ6H) +=3D eyeq6h-epm6.dtb diff --git a/arch/mips/configs/eyeq5_defconfig b/arch/mips/configs/eyeq5_de= fconfig index c35c29a4d479..84e26ef2e3a0 100644 --- a/arch/mips/configs/eyeq5_defconfig +++ b/arch/mips/configs/eyeq5_defconfig @@ -19,6 +19,7 @@ CONFIG_USER_NS=3Dy CONFIG_SCHED_AUTOGROUP=3Dy CONFIG_BLK_DEV_INITRD=3Dy CONFIG_EXPERT=3Dy +CONFIG_EYEQ=3Dy CONFIG_MACH_EYEQ5=3Dy CONFIG_FIT_IMAGE_FDT_EPM5=3Dy CONFIG_PAGE_SIZE_16KB=3Dy diff --git a/arch/mips/configs/eyeq6_defconfig b/arch/mips/configs/eyeq6_de= fconfig new file mode 100644 index 000000000000..6597d5e88b33 --- /dev/null +++ b/arch/mips/configs/eyeq6_defconfig @@ -0,0 +1,111 @@ +CONFIG_SYSVIPC=3Dy +CONFIG_NO_HZ_IDLE=3Dy +CONFIG_HIGH_RES_TIMERS=3Dy +CONFIG_BPF_SYSCALL=3Dy +CONFIG_TASKSTATS=3Dy +CONFIG_IKCONFIG=3Dy +CONFIG_IKCONFIG_PROC=3Dy +CONFIG_MEMCG=3Dy +CONFIG_BLK_CGROUP=3Dy +CONFIG_CFS_BANDWIDTH=3Dy +CONFIG_RT_GROUP_SCHED=3Dy +CONFIG_CGROUP_PIDS=3Dy +CONFIG_CGROUP_FREEZER=3Dy +CONFIG_CPUSETS=3Dy +CONFIG_CGROUP_DEVICE=3Dy +CONFIG_CGROUP_CPUACCT=3Dy +CONFIG_NAMESPACES=3Dy +CONFIG_USER_NS=3Dy +CONFIG_SCHED_AUTOGROUP=3Dy +CONFIG_BLK_DEV_INITRD=3Dy +CONFIG_EXPERT=3Dy +CONFIG_EYEQ=3Dy +CONFIG_MACH_EYEQ6H=3Dy +CONFIG_MIPS_CPS=3Dy +CONFIG_CPU_HAS_MSA=3Dy +CONFIG_NR_CPUS=3D16 +CONFIG_MIPS_RAW_APPENDED_DTB=3Dy +CONFIG_JUMP_LABEL=3Dy +CONFIG_PAGE_SIZE_16KB=3Dy +CONFIG_COMPAT_32BIT_TIME=3Dy +CONFIG_MODULES=3Dy +CONFIG_MODULE_UNLOAD=3Dy +CONFIG_TRIM_UNUSED_KSYMS=3Dy +# CONFIG_COMPAT_BRK is not set +CONFIG_SPARSEMEM_MANUAL=3Dy +CONFIG_USERFAULTFD=3Dy +CONFIG_NET=3Dy +CONFIG_PACKET=3Dy +CONFIG_UNIX=3Dy +CONFIG_NET_KEY=3Dy +CONFIG_INET=3Dy +CONFIG_IP_PNP=3Dy +CONFIG_IP_PNP_DHCP=3Dy +CONFIG_NETFILTER=3Dy +CONFIG_CAN=3Dy +CONFIG_PCI=3Dy +CONFIG_PCI_MSI=3Dy +CONFIG_PCI_DEBUG=3Dy +CONFIG_PCI_ENDPOINT=3Dy +CONFIG_DEVTMPFS=3Dy +CONFIG_DEVTMPFS_MOUNT=3Dy +CONFIG_CONNECTOR=3Dy +CONFIG_MTD=3Dy +CONFIG_MTD_UBI=3Dy +CONFIG_MTD_UBI_BLOCK=3Dy +CONFIG_SCSI=3Dy +CONFIG_NETDEVICES=3Dy +CONFIG_MACVLAN=3Dy +CONFIG_IPVLAN=3Dy +CONFIG_MACB=3Dy +CONFIG_MARVELL_PHY=3Dy +CONFIG_MICREL_PHY=3Dy +CONFIG_CAN_M_CAN=3Dy +CONFIG_SERIAL_AMBA_PL011=3Dy +CONFIG_SERIAL_AMBA_PL011_CONSOLE=3Dy +CONFIG_HW_RANDOM=3Dy +CONFIG_I2C=3Dy +CONFIG_I2C_CHARDEV=3Dy +# CONFIG_PTP_1588_CLOCK is not set +CONFIG_PINCTRL=3Dy +CONFIG_PINCTRL_SINGLE=3Dy +CONFIG_MFD_SYSCON=3Dy +CONFIG_HID_A4TECH=3Dy +CONFIG_HID_BELKIN=3Dy +CONFIG_HID_CHERRY=3Dy +CONFIG_HID_CYPRESS=3Dy +CONFIG_HID_EZKEY=3Dy +CONFIG_HID_ITE=3Dy +CONFIG_HID_KENSINGTON=3Dy +CONFIG_HID_REDRAGON=3Dy +CONFIG_HID_MICROSOFT=3Dy +CONFIG_HID_MONTEREY=3Dy +CONFIG_MMC=3Dy +CONFIG_MMC_SDHCI=3Dy +# CONFIG_IOMMU_SUPPORT is not set +CONFIG_RESET_CONTROLLER=3Dy +# CONFIG_NVMEM is not set +CONFIG_EXT4_FS=3Dy +CONFIG_EXT4_FS_POSIX_ACL=3Dy +CONFIG_EXT4_FS_SECURITY=3Dy +CONFIG_FS_ENCRYPTION=3Dy +CONFIG_FUSE_FS=3Dy +CONFIG_CUSE=3Dy +CONFIG_MSDOS_FS=3Dy +CONFIG_VFAT_FS=3Dy +CONFIG_TMPFS=3Dy +CONFIG_TMPFS_POSIX_ACL=3Dy +CONFIG_UBIFS_FS=3Dy +CONFIG_NFS_FS=3Dy +CONFIG_NFS_V3_ACL=3Dy +CONFIG_NFS_V4=3Dy +CONFIG_NFS_V4_1=3Dy +CONFIG_NFS_V4_2=3Dy +CONFIG_ROOT_NFS=3Dy +CONFIG_CRYPTO_CRC32_MIPS=3Dy +CONFIG_FRAME_WARN=3D1024 +CONFIG_DEBUG_FS=3Dy +# CONFIG_RCU_TRACE is not set +# CONFIG_FTRACE is not set +CONFIG_CMDLINE_BOOL=3Dy +CONFIG_CMDLINE=3D"earlycon" diff --git a/arch/mips/mobileye/Kconfig b/arch/mips/mobileye/Kconfig new file mode 100644 index 000000000000..f9abb2d6e178 --- /dev/null +++ b/arch/mips/mobileye/Kconfig @@ -0,0 +1,26 @@ +# SPDX-License-Identifier: GPL-2.0 +if EYEQ + +choice + prompt "Mobileye EyeQ SoC selection" + default MACH_EYEQ5 + help + Select Mobileye EyeQ MIPS SoC type. + + config MACH_EYEQ5 + bool "Mobileye EyeQ5 SoC" + + config MACH_EYEQ6H + bool "Mobileye EyeQ6H SoC" +endchoice + +config FIT_IMAGE_FDT_EPM5 + bool "Include FDT for Mobileye EyeQ5 development platforms" + depends on MACH_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/mobileye/Platform b/arch/mips/mobileye/Platform index c69f811dd13a..69f775bbbb1e 100644 --- a/arch/mips/mobileye/Platform +++ b/arch/mips/mobileye/Platform @@ -9,6 +9,7 @@ # =20 load-$(CONFIG_MACH_EYEQ5) =3D 0xa800000808000000 +load-$(CONFIG_MACH_EYEQ6H) =3D 0xa800000100800000 all-$(CONFIG_MACH_EYEQ5) +=3D vmlinux.gz.itb =20 its-y :=3D vmlinux.its.S --=20 2.43.0