Commit Graph

8 Commits

Author SHA1 Message Date
Théo Lebrun
ca943354f2 MIPS: eyeq5_defconfig: add I2C subsystem, driver and temp sensor driver
Enable I2C support on the EyeQ5 platform. The evaluation board has a
temperature sensor mounted which helps test the integration.

Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
Acked-by: Gregory CLEMENT <gregory.clement@bootlin.com>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
2025-07-16 18:33:39 +02:00
Théo Lebrun
0ca9aba59c MIPS: eyeq5_defconfig: add GPIO subsystem & driver
Enable GPIO support on the EyeQ5 platform.

Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
Acked-by: Gregory CLEMENT <gregory.clement@bootlin.com>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
2025-07-16 18:33:34 +02:00
Théo Lebrun
daf3082f89 MIPS: eyeq5_defconfig: Update for v6.16-rc1
- Sort by moving CONFIG_PAGE_SIZE_16KB=y.

 - Drop CONFIG_MACH_EYEQ5=y because it is the default:

      # arch/mips/mobileye/Kconfig
      choice
         prompt "Mobileye EyeQ SoC selection"
         default MACH_EYEQ5

 - Drop CONFIG_SPARSEMEM_MANUAL=y because:

      # mm/Kconfig
      choice
         prompt "Memory model"
         depends on SELECT_MEMORY_MODEL
         default SPARSEMEM_MANUAL if ARCH_SPARSEMEM_DEFAULT
         default FLATMEM_MANUAL

      # arch/mips/Kconfig
      config EYEQ
         select ARCH_SPARSEMEM_DEFAULT if 64BIT

Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
Acked-by: Gregory CLEMENT <gregory.clement@bootlin.com>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
2025-07-16 18:30:39 +02:00
Benoît Monin
f973fe6528 MIPS: eyeq5_defconfig: add cadence MMC/SDHCI driver
Enable MMC support on eyeQ5 platform so it can be used as the root
partition.

Signed-off-by: Benoît Monin <benoit.monin@bootlin.com>
Acked-by: Gregory CLEMENT <gregory.clement@bootlin.com>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
2025-07-03 12:35:11 +02:00
Eric Biggers
289c270eab mips/crc32: expose CRC32 functions through lib
Move the mips CRC32 assembly code into the lib directory and wire it up
to the library interface.  This allows it to be used without going
through the crypto API.  It remains usable via the crypto API too via
the shash algorithms that use the library interface.  Thus all the
arch-specific "shash" code becomes unnecessary and is removed.

Note: to see the diff from arch/mips/crypto/crc32-mips.c to
arch/mips/lib/crc32-mips.c, view this commit with 'git show -M10'.

Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
Link: https://lore.kernel.org/r/20241202010844.144356-8-ebiggers@kernel.org
Signed-off-by: Eric Biggers <ebiggers@google.com>
2024-12-01 17:23:01 -08:00
Gregory CLEMENT
fbe0fae601 MIPS: mobileye: Add EyeQ6H support
EyeQ6H (or “High”) is an other SoC from Mobileye still based 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 <jiaxun.yang@flygoat.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
2024-06-11 10:15:50 +02:00
Celeste Liu
73d4bb58a3 mips: defconfig: drop RT_GROUP_SCHED=y from generic/db1xxx/eyeq5
For cgroup v1, if turned on, and there's any cgroup in the "cpu" hierarchy it
needs an RT budget assigned, otherwise the processes in it will not be able to
get RT at all. The problem with RT group scheduling is that it requires the
budget assigned but there's no way we could assign a default budget, since the
values to assign are both upper and lower time limits, are absolute, and need to
be sum up to < 1 for each individal cgroup. That means we cannot really come up
with values that would work by default in the general case.[1]

For cgroup v2, it's almost unusable as well. If it turned on, the cpu controller
can only be enabled when all RT processes are in the root cgroup. But it will
lose the benefits of cgroup v2 if all RT process were placed in the same cgroup.

Red Hat, Gentoo, Arch Linux and Debian all disable it. systemd also doesn't
support it.[2]

[1]: https://bugzilla.redhat.com/show_bug.cgi?id=1229700
[2]: https://github.com/systemd/systemd/issues/13781#issuecomment-549164383

Signed-off-by: Celeste Liu <CoelacanthusHex@gmail.com>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
2024-06-11 10:14:39 +02:00
Gregory CLEMENT
101bd58fde MIPS: Add support for Mobileye EyeQ5
Introduce support for the MIPS based Mobileye EyeQ5 SoCs.

Reviewed-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
2024-02-20 13:36:34 +01:00