* [PATCH 0/6] MIPS: Mobileye: EyeQ5: add GPIO/I2C devicetrees/defconfigs
@ 2025-07-04 11:47 Théo Lebrun
2025-07-04 11:47 ` [PATCH 1/6] MIPS: eyeq5_defconfig: Update for v6.16-rc1 Théo Lebrun
` (6 more replies)
0 siblings, 7 replies; 14+ messages in thread
From: Théo Lebrun @ 2025-07-04 11:47 UTC (permalink / raw)
To: Thomas Bogendoerfer, Vladimir Kondratiev, Gregory CLEMENT,
Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: Thomas Petazzoni, Tawfik Bayouk, linux-mips, linux-kernel,
devicetree, Théo Lebrun, Linus Walleij, Andi Shyti
Here we push changes to have GPIO and I2C support by default in EyeQ5
defconfigs and devicetrees.
Linux driver work has been pushed in the past. Devicetree patches
accompanied those series but didn't get merged at that time. Acked-by
on I2C DTS patches come from there.
We start by a small new defconfig patch that a clean working tree after:
⟩ make eyeq5_defconfig && \
make savedefconfig && \
mv defconfig arch/mips/configs/eyeq5_defconfig
I2C DTS patches:
https://lore.kernel.org/lkml/20240306-mbly-i2c-v3-0-605f866aa4ec@bootlin.com/
GPIO DTS patch:
https://lore.kernel.org/lkml/20240228-mbly-gpio-v2-28-3ba757474006@bootlin.com/
Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
---
Théo Lebrun (6):
MIPS: eyeq5_defconfig: Update for v6.16-rc1
MIPS: mobileye: eyeq5: add 5 I2C controller nodes
MIPS: mobileye: eyeq5: add evaluation board I2C temp sensor
MIPS: mobileye: eyeq5: add two GPIO bank nodes
MIPS: eyeq5_defconfig: add GPIO subsystem & driver
MIPS: eyeq5_defconfig: add I2C subsystem, driver and temp sensor driver
arch/mips/boot/dts/mobileye/eyeq5-epm5.dts | 8 +++
arch/mips/boot/dts/mobileye/eyeq5.dtsi | 105 +++++++++++++++++++++++++++++
arch/mips/configs/eyeq5_defconfig | 10 ++-
3 files changed, 120 insertions(+), 3 deletions(-)
---
base-commit: b4674c5af605321f2ec0c8ac5a884c4ecfad7214
change-id: 20250704-of-commits-d76e6d76a6f1
Best regards,
--
Théo Lebrun <theo.lebrun@bootlin.com>
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH 1/6] MIPS: eyeq5_defconfig: Update for v6.16-rc1
2025-07-04 11:47 [PATCH 0/6] MIPS: Mobileye: EyeQ5: add GPIO/I2C devicetrees/defconfigs Théo Lebrun
@ 2025-07-04 11:47 ` Théo Lebrun
2025-07-11 14:19 ` Gregory CLEMENT
2025-07-04 11:47 ` [PATCH 2/6] MIPS: mobileye: eyeq5: add 5 I2C controller nodes Théo Lebrun
` (5 subsequent siblings)
6 siblings, 1 reply; 14+ messages in thread
From: Théo Lebrun @ 2025-07-04 11:47 UTC (permalink / raw)
To: Thomas Bogendoerfer, Vladimir Kondratiev, Gregory CLEMENT,
Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: Thomas Petazzoni, Tawfik Bayouk, linux-mips, linux-kernel,
devicetree, Théo Lebrun
- 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>
---
arch/mips/configs/eyeq5_defconfig | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/arch/mips/configs/eyeq5_defconfig b/arch/mips/configs/eyeq5_defconfig
index ff7af5dc6d9d353cd84a5532c6f1de43c6983dfd..e2d6ad7c3006b037ae370a68c09e7aacab61d083 100644
--- a/arch/mips/configs/eyeq5_defconfig
+++ b/arch/mips/configs/eyeq5_defconfig
@@ -19,20 +19,18 @@ CONFIG_SCHED_AUTOGROUP=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_EXPERT=y
CONFIG_EYEQ=y
-CONFIG_MACH_EYEQ5=y
CONFIG_FIT_IMAGE_FDT_EPM5=y
-CONFIG_PAGE_SIZE_16KB=y
CONFIG_MIPS_CPS=y
CONFIG_CPU_HAS_MSA=y
CONFIG_NR_CPUS=16
CONFIG_MIPS_RAW_APPENDED_DTB=y
CONFIG_JUMP_LABEL=y
+CONFIG_PAGE_SIZE_16KB=y
CONFIG_COMPAT_32BIT_TIME=y
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_TRIM_UNUSED_KSYMS=y
# CONFIG_COMPAT_BRK is not set
-CONFIG_SPARSEMEM_MANUAL=y
CONFIG_USERFAULTFD=y
CONFIG_NET=y
CONFIG_PACKET=y
--
2.50.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH 2/6] MIPS: mobileye: eyeq5: add 5 I2C controller nodes
2025-07-04 11:47 [PATCH 0/6] MIPS: Mobileye: EyeQ5: add GPIO/I2C devicetrees/defconfigs Théo Lebrun
2025-07-04 11:47 ` [PATCH 1/6] MIPS: eyeq5_defconfig: Update for v6.16-rc1 Théo Lebrun
@ 2025-07-04 11:47 ` Théo Lebrun
2025-07-11 14:21 ` Gregory CLEMENT
2025-07-04 11:47 ` [PATCH 3/6] MIPS: mobileye: eyeq5: add evaluation board I2C temp sensor Théo Lebrun
` (4 subsequent siblings)
6 siblings, 1 reply; 14+ messages in thread
From: Théo Lebrun @ 2025-07-04 11:47 UTC (permalink / raw)
To: Thomas Bogendoerfer, Vladimir Kondratiev, Gregory CLEMENT,
Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: Thomas Petazzoni, Tawfik Bayouk, linux-mips, linux-kernel,
devicetree, Théo Lebrun, Linus Walleij, Andi Shyti
Add the SoC I2C controller nodes to the platform devicetree. Use a
default bus frequency of 400kHz. They are AMBA devices that are matched
on PeriphID.
Set transfer timeout to 10ms instead of Linux's default of 200ms.
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Andi Shyti <andi.shyti@kernel.org>
Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
---
arch/mips/boot/dts/mobileye/eyeq5.dtsi | 75 ++++++++++++++++++++++++++++++++++
1 file changed, 75 insertions(+)
diff --git a/arch/mips/boot/dts/mobileye/eyeq5.dtsi b/arch/mips/boot/dts/mobileye/eyeq5.dtsi
index a84e6e720619ef99e1405ae6296d8bad1aa3fa23..b9b6f2684e675020d0377147a04d7ad5bfc272c1 100644
--- a/arch/mips/boot/dts/mobileye/eyeq5.dtsi
+++ b/arch/mips/boot/dts/mobileye/eyeq5.dtsi
@@ -110,6 +110,81 @@ soc: soc {
ranges;
compatible = "simple-bus";
+ i2c0: i2c@300000 {
+ compatible = "mobileye,eyeq5-i2c", "arm,primecell";
+ reg = <0 0x300000 0x0 0x1000>;
+ interrupt-parent = <&gic>;
+ interrupts = <GIC_SHARED 1 IRQ_TYPE_LEVEL_HIGH>;
+ clock-frequency = <400000>; /* Fast mode */
+ #address-cells = <1>;
+ #size-cells = <0>;
+ clocks = <&olb 35>, <&olb EQ5C_PER_I2C>;
+ clock-names = "i2cclk", "apb_pclk";
+ resets = <&olb 0 13>;
+ i2c-transfer-timeout-us = <10000>;
+ mobileye,olb = <&olb 0>;
+ };
+
+ i2c1: i2c@400000 {
+ compatible = "mobileye,eyeq5-i2c", "arm,primecell";
+ reg = <0 0x400000 0x0 0x1000>;
+ interrupt-parent = <&gic>;
+ interrupts = <GIC_SHARED 2 IRQ_TYPE_LEVEL_HIGH>;
+ clock-frequency = <400000>; /* Fast mode */
+ #address-cells = <1>;
+ #size-cells = <0>;
+ clocks = <&olb 35>, <&olb EQ5C_PER_I2C>;
+ clock-names = "i2cclk", "apb_pclk";
+ resets = <&olb 0 14>;
+ i2c-transfer-timeout-us = <10000>;
+ mobileye,olb = <&olb 1>;
+ };
+
+ i2c2: i2c@500000 {
+ compatible = "mobileye,eyeq5-i2c", "arm,primecell";
+ reg = <0 0x500000 0x0 0x1000>;
+ interrupt-parent = <&gic>;
+ interrupts = <GIC_SHARED 3 IRQ_TYPE_LEVEL_HIGH>;
+ clock-frequency = <400000>; /* Fast mode */
+ #address-cells = <1>;
+ #size-cells = <0>;
+ clocks = <&olb 35>, <&olb EQ5C_PER_I2C>;
+ clock-names = "i2cclk", "apb_pclk";
+ resets = <&olb 0 15>;
+ i2c-transfer-timeout-us = <10000>;
+ mobileye,olb = <&olb 2>;
+ };
+
+ i2c3: i2c@600000 {
+ compatible = "mobileye,eyeq5-i2c", "arm,primecell";
+ reg = <0 0x600000 0x0 0x1000>;
+ interrupt-parent = <&gic>;
+ interrupts = <GIC_SHARED 4 IRQ_TYPE_LEVEL_HIGH>;
+ clock-frequency = <400000>; /* Fast mode */
+ #address-cells = <1>;
+ #size-cells = <0>;
+ clocks = <&olb 35>, <&olb EQ5C_PER_I2C>;
+ clock-names = "i2cclk", "apb_pclk";
+ resets = <&olb 0 16>;
+ i2c-transfer-timeout-us = <10000>;
+ mobileye,olb = <&olb 3>;
+ };
+
+ i2c4: i2c@700000 {
+ compatible = "mobileye,eyeq5-i2c", "arm,primecell";
+ reg = <0 0x700000 0x0 0x1000>;
+ interrupt-parent = <&gic>;
+ interrupts = <GIC_SHARED 5 IRQ_TYPE_LEVEL_HIGH>;
+ clock-frequency = <400000>; /* Fast mode */
+ #address-cells = <1>;
+ #size-cells = <0>;
+ clocks = <&olb 35>, <&olb EQ5C_PER_I2C>;
+ clock-names = "i2cclk", "apb_pclk";
+ resets = <&olb 0 17>;
+ i2c-transfer-timeout-us = <10000>;
+ mobileye,olb = <&olb 4>;
+ };
+
uart0: serial@800000 {
compatible = "arm,pl011", "arm,primecell";
reg = <0 0x800000 0x0 0x1000>;
--
2.50.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH 3/6] MIPS: mobileye: eyeq5: add evaluation board I2C temp sensor
2025-07-04 11:47 [PATCH 0/6] MIPS: Mobileye: EyeQ5: add GPIO/I2C devicetrees/defconfigs Théo Lebrun
2025-07-04 11:47 ` [PATCH 1/6] MIPS: eyeq5_defconfig: Update for v6.16-rc1 Théo Lebrun
2025-07-04 11:47 ` [PATCH 2/6] MIPS: mobileye: eyeq5: add 5 I2C controller nodes Théo Lebrun
@ 2025-07-04 11:47 ` Théo Lebrun
2025-07-11 14:21 ` Gregory CLEMENT
2025-07-04 11:47 ` [PATCH 4/6] MIPS: mobileye: eyeq5: add two GPIO bank nodes Théo Lebrun
` (3 subsequent siblings)
6 siblings, 1 reply; 14+ messages in thread
From: Théo Lebrun @ 2025-07-04 11:47 UTC (permalink / raw)
To: Thomas Bogendoerfer, Vladimir Kondratiev, Gregory CLEMENT,
Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: Thomas Petazzoni, Tawfik Bayouk, linux-mips, linux-kernel,
devicetree, Théo Lebrun, Linus Walleij, Andi Shyti
Declare the temperature sensor on I2C bus 2. Its label is the schematics
identifier.
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Andi Shyti <andi.shyti@kernel.org>
Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
---
arch/mips/boot/dts/mobileye/eyeq5-epm5.dts | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/arch/mips/boot/dts/mobileye/eyeq5-epm5.dts b/arch/mips/boot/dts/mobileye/eyeq5-epm5.dts
index 6898b2d8267dfadeea511a84d1df3f70744f17bb..9fc1a1b0a81bec5ec52db17231104c86020d7e3b 100644
--- a/arch/mips/boot/dts/mobileye/eyeq5-epm5.dts
+++ b/arch/mips/boot/dts/mobileye/eyeq5-epm5.dts
@@ -21,3 +21,11 @@ memory@0 {
<0x8 0x02000000 0x0 0x7E000000>;
};
};
+
+&i2c2 {
+ temperature-sensor@48 {
+ compatible = "ti,tmp112";
+ reg = <0x48>;
+ label = "U60";
+ };
+};
--
2.50.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH 4/6] MIPS: mobileye: eyeq5: add two GPIO bank nodes
2025-07-04 11:47 [PATCH 0/6] MIPS: Mobileye: EyeQ5: add GPIO/I2C devicetrees/defconfigs Théo Lebrun
` (2 preceding siblings ...)
2025-07-04 11:47 ` [PATCH 3/6] MIPS: mobileye: eyeq5: add evaluation board I2C temp sensor Théo Lebrun
@ 2025-07-04 11:47 ` Théo Lebrun
2025-07-11 14:22 ` Gregory CLEMENT
2025-07-04 11:47 ` [PATCH 5/6] MIPS: eyeq5_defconfig: add GPIO subsystem & driver Théo Lebrun
` (2 subsequent siblings)
6 siblings, 1 reply; 14+ messages in thread
From: Théo Lebrun @ 2025-07-04 11:47 UTC (permalink / raw)
To: Thomas Bogendoerfer, Vladimir Kondratiev, Gregory CLEMENT,
Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: Thomas Petazzoni, Tawfik Bayouk, linux-mips, linux-kernel,
devicetree, Théo Lebrun
This platform uses the same GPIO controller as Nomadik. It however has
its own pinconf & pinmux controller. EyeQ5 is the first platform to use
gpio-nomadik independently from pinctrl-nomadik.
Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
---
arch/mips/boot/dts/mobileye/eyeq5.dtsi | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
diff --git a/arch/mips/boot/dts/mobileye/eyeq5.dtsi b/arch/mips/boot/dts/mobileye/eyeq5.dtsi
index b9b6f2684e675020d0377147a04d7ad5bfc272c1..b8df7906231d065032b12d0ffdc93a75c8f3e822 100644
--- a/arch/mips/boot/dts/mobileye/eyeq5.dtsi
+++ b/arch/mips/boot/dts/mobileye/eyeq5.dtsi
@@ -253,6 +253,36 @@ timer {
clocks = <&olb EQ5C_CPU_CORE0>;
};
};
+
+ gpio0: gpio@1400000 {
+ compatible = "mobileye,eyeq5-gpio";
+ reg = <0x0 0x1400000 0x0 0x1000>;
+ gpio-bank = <0>;
+ ngpios = <29>;
+ interrupt-parent = <&gic>;
+ interrupts = <GIC_SHARED 14 IRQ_TYPE_LEVEL_HIGH>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ gpio-ranges = <&olb 0 0 29>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ resets = <&olb 0 26>;
+ };
+
+ gpio1: gpio@1500000 {
+ compatible = "mobileye,eyeq5-gpio";
+ reg = <0x0 0x1500000 0x0 0x1000>;
+ gpio-bank = <1>;
+ ngpios = <23>;
+ interrupt-parent = <&gic>;
+ interrupts = <GIC_SHARED 14 IRQ_TYPE_LEVEL_HIGH>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ gpio-ranges = <&olb 0 29 23>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ resets = <&olb 0 26>;
+ };
};
};
--
2.50.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH 5/6] MIPS: eyeq5_defconfig: add GPIO subsystem & driver
2025-07-04 11:47 [PATCH 0/6] MIPS: Mobileye: EyeQ5: add GPIO/I2C devicetrees/defconfigs Théo Lebrun
` (3 preceding siblings ...)
2025-07-04 11:47 ` [PATCH 4/6] MIPS: mobileye: eyeq5: add two GPIO bank nodes Théo Lebrun
@ 2025-07-04 11:47 ` Théo Lebrun
2025-07-11 14:24 ` Gregory CLEMENT
2025-07-04 11:47 ` [PATCH 6/6] MIPS: eyeq5_defconfig: add I2C subsystem, driver and temp sensor driver Théo Lebrun
2025-07-16 18:05 ` [PATCH 0/6] MIPS: Mobileye: EyeQ5: add GPIO/I2C devicetrees/defconfigs Thomas Bogendoerfer
6 siblings, 1 reply; 14+ messages in thread
From: Théo Lebrun @ 2025-07-04 11:47 UTC (permalink / raw)
To: Thomas Bogendoerfer, Vladimir Kondratiev, Gregory CLEMENT,
Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: Thomas Petazzoni, Tawfik Bayouk, linux-mips, linux-kernel,
devicetree, Théo Lebrun
Enable GPIO support on the EyeQ5 platform.
Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
---
arch/mips/configs/eyeq5_defconfig | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/mips/configs/eyeq5_defconfig b/arch/mips/configs/eyeq5_defconfig
index e2d6ad7c3006b037ae370a68c09e7aacab61d083..05a579e21970eed203d96bd4b8103d030e39f262 100644
--- a/arch/mips/configs/eyeq5_defconfig
+++ b/arch/mips/configs/eyeq5_defconfig
@@ -64,6 +64,8 @@ CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
CONFIG_HW_RANDOM=y
# CONFIG_PTP_1588_CLOCK is not set
CONFIG_PINCTRL=y
+CONFIG_GPIOLIB=y
+CONFIG_GPIO_NOMADIK=y
CONFIG_MFD_SYSCON=y
CONFIG_HID_A4TECH=y
CONFIG_HID_BELKIN=y
--
2.50.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH 6/6] MIPS: eyeq5_defconfig: add I2C subsystem, driver and temp sensor driver
2025-07-04 11:47 [PATCH 0/6] MIPS: Mobileye: EyeQ5: add GPIO/I2C devicetrees/defconfigs Théo Lebrun
` (4 preceding siblings ...)
2025-07-04 11:47 ` [PATCH 5/6] MIPS: eyeq5_defconfig: add GPIO subsystem & driver Théo Lebrun
@ 2025-07-04 11:47 ` Théo Lebrun
2025-07-11 14:24 ` Gregory CLEMENT
2025-07-16 18:05 ` [PATCH 0/6] MIPS: Mobileye: EyeQ5: add GPIO/I2C devicetrees/defconfigs Thomas Bogendoerfer
6 siblings, 1 reply; 14+ messages in thread
From: Théo Lebrun @ 2025-07-04 11:47 UTC (permalink / raw)
To: Thomas Bogendoerfer, Vladimir Kondratiev, Gregory CLEMENT,
Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: Thomas Petazzoni, Tawfik Bayouk, linux-mips, linux-kernel,
devicetree, Théo Lebrun
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>
---
arch/mips/configs/eyeq5_defconfig | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/arch/mips/configs/eyeq5_defconfig b/arch/mips/configs/eyeq5_defconfig
index 05a579e21970eed203d96bd4b8103d030e39f262..2064b79b59b6d94bf003f0c2c95e61948c77b1b0 100644
--- a/arch/mips/configs/eyeq5_defconfig
+++ b/arch/mips/configs/eyeq5_defconfig
@@ -62,10 +62,14 @@ CONFIG_CAN_M_CAN=y
CONFIG_SERIAL_AMBA_PL011=y
CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
CONFIG_HW_RANDOM=y
+CONFIG_I2C=y
+CONFIG_I2C_CHARDEV=y
+CONFIG_I2C_NOMADIK=y
# CONFIG_PTP_1588_CLOCK is not set
CONFIG_PINCTRL=y
CONFIG_GPIOLIB=y
CONFIG_GPIO_NOMADIK=y
+CONFIG_SENSORS_LM75=y
CONFIG_MFD_SYSCON=y
CONFIG_HID_A4TECH=y
CONFIG_HID_BELKIN=y
--
2.50.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH 1/6] MIPS: eyeq5_defconfig: Update for v6.16-rc1
2025-07-04 11:47 ` [PATCH 1/6] MIPS: eyeq5_defconfig: Update for v6.16-rc1 Théo Lebrun
@ 2025-07-11 14:19 ` Gregory CLEMENT
0 siblings, 0 replies; 14+ messages in thread
From: Gregory CLEMENT @ 2025-07-11 14:19 UTC (permalink / raw)
To: Théo Lebrun, Thomas Bogendoerfer, Vladimir Kondratiev,
Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: Thomas Petazzoni, Tawfik Bayouk, linux-mips, linux-kernel,
devicetree, Théo Lebrun
Théo Lebrun <theo.lebrun@bootlin.com> writes:
> - 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
>
Thaks for the clean-up
Acked-by: Gregory CLEMENT <gregory.clement@bootlin.com>
Thanks,
Gregory
> Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
> ---
> arch/mips/configs/eyeq5_defconfig | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/arch/mips/configs/eyeq5_defconfig b/arch/mips/configs/eyeq5_defconfig
> index ff7af5dc6d9d353cd84a5532c6f1de43c6983dfd..e2d6ad7c3006b037ae370a68c09e7aacab61d083 100644
> --- a/arch/mips/configs/eyeq5_defconfig
> +++ b/arch/mips/configs/eyeq5_defconfig
> @@ -19,20 +19,18 @@ CONFIG_SCHED_AUTOGROUP=y
> CONFIG_BLK_DEV_INITRD=y
> CONFIG_EXPERT=y
> CONFIG_EYEQ=y
> -CONFIG_MACH_EYEQ5=y
> CONFIG_FIT_IMAGE_FDT_EPM5=y
> -CONFIG_PAGE_SIZE_16KB=y
> CONFIG_MIPS_CPS=y
> CONFIG_CPU_HAS_MSA=y
> CONFIG_NR_CPUS=16
> CONFIG_MIPS_RAW_APPENDED_DTB=y
> CONFIG_JUMP_LABEL=y
> +CONFIG_PAGE_SIZE_16KB=y
> CONFIG_COMPAT_32BIT_TIME=y
> CONFIG_MODULES=y
> CONFIG_MODULE_UNLOAD=y
> CONFIG_TRIM_UNUSED_KSYMS=y
> # CONFIG_COMPAT_BRK is not set
> -CONFIG_SPARSEMEM_MANUAL=y
> CONFIG_USERFAULTFD=y
> CONFIG_NET=y
> CONFIG_PACKET=y
>
> --
> 2.50.0
>
--
Grégory CLEMENT, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 2/6] MIPS: mobileye: eyeq5: add 5 I2C controller nodes
2025-07-04 11:47 ` [PATCH 2/6] MIPS: mobileye: eyeq5: add 5 I2C controller nodes Théo Lebrun
@ 2025-07-11 14:21 ` Gregory CLEMENT
0 siblings, 0 replies; 14+ messages in thread
From: Gregory CLEMENT @ 2025-07-11 14:21 UTC (permalink / raw)
To: Théo Lebrun, Thomas Bogendoerfer, Vladimir Kondratiev,
Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: Thomas Petazzoni, Tawfik Bayouk, linux-mips, linux-kernel,
devicetree, Théo Lebrun, Linus Walleij, Andi Shyti
Théo Lebrun <theo.lebrun@bootlin.com> writes:
> Add the SoC I2C controller nodes to the platform devicetree. Use a
> default bus frequency of 400kHz. They are AMBA devices that are matched
> on PeriphID.
>
> Set transfer timeout to 10ms instead of Linux's default of 200ms.
>
Acked-by: Gregory CLEMENT <gregory.clement@bootlin.com>
Thanks,
Gregory
> Acked-by: Linus Walleij <linus.walleij@linaro.org>
> Acked-by: Andi Shyti <andi.shyti@kernel.org>
> Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
> ---
> arch/mips/boot/dts/mobileye/eyeq5.dtsi | 75 ++++++++++++++++++++++++++++++++++
> 1 file changed, 75 insertions(+)
>
> diff --git a/arch/mips/boot/dts/mobileye/eyeq5.dtsi b/arch/mips/boot/dts/mobileye/eyeq5.dtsi
> index a84e6e720619ef99e1405ae6296d8bad1aa3fa23..b9b6f2684e675020d0377147a04d7ad5bfc272c1 100644
> --- a/arch/mips/boot/dts/mobileye/eyeq5.dtsi
> +++ b/arch/mips/boot/dts/mobileye/eyeq5.dtsi
> @@ -110,6 +110,81 @@ soc: soc {
> ranges;
> compatible = "simple-bus";
>
> + i2c0: i2c@300000 {
> + compatible = "mobileye,eyeq5-i2c", "arm,primecell";
> + reg = <0 0x300000 0x0 0x1000>;
> + interrupt-parent = <&gic>;
> + interrupts = <GIC_SHARED 1 IRQ_TYPE_LEVEL_HIGH>;
> + clock-frequency = <400000>; /* Fast mode */
> + #address-cells = <1>;
> + #size-cells = <0>;
> + clocks = <&olb 35>, <&olb EQ5C_PER_I2C>;
> + clock-names = "i2cclk", "apb_pclk";
> + resets = <&olb 0 13>;
> + i2c-transfer-timeout-us = <10000>;
> + mobileye,olb = <&olb 0>;
> + };
> +
> + i2c1: i2c@400000 {
> + compatible = "mobileye,eyeq5-i2c", "arm,primecell";
> + reg = <0 0x400000 0x0 0x1000>;
> + interrupt-parent = <&gic>;
> + interrupts = <GIC_SHARED 2 IRQ_TYPE_LEVEL_HIGH>;
> + clock-frequency = <400000>; /* Fast mode */
> + #address-cells = <1>;
> + #size-cells = <0>;
> + clocks = <&olb 35>, <&olb EQ5C_PER_I2C>;
> + clock-names = "i2cclk", "apb_pclk";
> + resets = <&olb 0 14>;
> + i2c-transfer-timeout-us = <10000>;
> + mobileye,olb = <&olb 1>;
> + };
> +
> + i2c2: i2c@500000 {
> + compatible = "mobileye,eyeq5-i2c", "arm,primecell";
> + reg = <0 0x500000 0x0 0x1000>;
> + interrupt-parent = <&gic>;
> + interrupts = <GIC_SHARED 3 IRQ_TYPE_LEVEL_HIGH>;
> + clock-frequency = <400000>; /* Fast mode */
> + #address-cells = <1>;
> + #size-cells = <0>;
> + clocks = <&olb 35>, <&olb EQ5C_PER_I2C>;
> + clock-names = "i2cclk", "apb_pclk";
> + resets = <&olb 0 15>;
> + i2c-transfer-timeout-us = <10000>;
> + mobileye,olb = <&olb 2>;
> + };
> +
> + i2c3: i2c@600000 {
> + compatible = "mobileye,eyeq5-i2c", "arm,primecell";
> + reg = <0 0x600000 0x0 0x1000>;
> + interrupt-parent = <&gic>;
> + interrupts = <GIC_SHARED 4 IRQ_TYPE_LEVEL_HIGH>;
> + clock-frequency = <400000>; /* Fast mode */
> + #address-cells = <1>;
> + #size-cells = <0>;
> + clocks = <&olb 35>, <&olb EQ5C_PER_I2C>;
> + clock-names = "i2cclk", "apb_pclk";
> + resets = <&olb 0 16>;
> + i2c-transfer-timeout-us = <10000>;
> + mobileye,olb = <&olb 3>;
> + };
> +
> + i2c4: i2c@700000 {
> + compatible = "mobileye,eyeq5-i2c", "arm,primecell";
> + reg = <0 0x700000 0x0 0x1000>;
> + interrupt-parent = <&gic>;
> + interrupts = <GIC_SHARED 5 IRQ_TYPE_LEVEL_HIGH>;
> + clock-frequency = <400000>; /* Fast mode */
> + #address-cells = <1>;
> + #size-cells = <0>;
> + clocks = <&olb 35>, <&olb EQ5C_PER_I2C>;
> + clock-names = "i2cclk", "apb_pclk";
> + resets = <&olb 0 17>;
> + i2c-transfer-timeout-us = <10000>;
> + mobileye,olb = <&olb 4>;
> + };
> +
> uart0: serial@800000 {
> compatible = "arm,pl011", "arm,primecell";
> reg = <0 0x800000 0x0 0x1000>;
>
> --
> 2.50.0
>
--
Grégory CLEMENT, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 3/6] MIPS: mobileye: eyeq5: add evaluation board I2C temp sensor
2025-07-04 11:47 ` [PATCH 3/6] MIPS: mobileye: eyeq5: add evaluation board I2C temp sensor Théo Lebrun
@ 2025-07-11 14:21 ` Gregory CLEMENT
0 siblings, 0 replies; 14+ messages in thread
From: Gregory CLEMENT @ 2025-07-11 14:21 UTC (permalink / raw)
To: Théo Lebrun, Thomas Bogendoerfer, Vladimir Kondratiev,
Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: Thomas Petazzoni, Tawfik Bayouk, linux-mips, linux-kernel,
devicetree, Théo Lebrun, Linus Walleij, Andi Shyti
Théo Lebrun <theo.lebrun@bootlin.com> writes:
> Declare the temperature sensor on I2C bus 2. Its label is the schematics
> identifier.
>
Acked-by: Gregory CLEMENT <gregory.clement@bootlin.com>
Thanks,
Gregory
> Acked-by: Linus Walleij <linus.walleij@linaro.org>
> Acked-by: Andi Shyti <andi.shyti@kernel.org>
> Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
> ---
> arch/mips/boot/dts/mobileye/eyeq5-epm5.dts | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/arch/mips/boot/dts/mobileye/eyeq5-epm5.dts b/arch/mips/boot/dts/mobileye/eyeq5-epm5.dts
> index 6898b2d8267dfadeea511a84d1df3f70744f17bb..9fc1a1b0a81bec5ec52db17231104c86020d7e3b 100644
> --- a/arch/mips/boot/dts/mobileye/eyeq5-epm5.dts
> +++ b/arch/mips/boot/dts/mobileye/eyeq5-epm5.dts
> @@ -21,3 +21,11 @@ memory@0 {
> <0x8 0x02000000 0x0 0x7E000000>;
> };
> };
> +
> +&i2c2 {
> + temperature-sensor@48 {
> + compatible = "ti,tmp112";
> + reg = <0x48>;
> + label = "U60";
> + };
> +};
>
> --
> 2.50.0
>
--
Grégory CLEMENT, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 4/6] MIPS: mobileye: eyeq5: add two GPIO bank nodes
2025-07-04 11:47 ` [PATCH 4/6] MIPS: mobileye: eyeq5: add two GPIO bank nodes Théo Lebrun
@ 2025-07-11 14:22 ` Gregory CLEMENT
0 siblings, 0 replies; 14+ messages in thread
From: Gregory CLEMENT @ 2025-07-11 14:22 UTC (permalink / raw)
To: Théo Lebrun, Thomas Bogendoerfer, Vladimir Kondratiev,
Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: Thomas Petazzoni, Tawfik Bayouk, linux-mips, linux-kernel,
devicetree, Théo Lebrun
Théo Lebrun <theo.lebrun@bootlin.com> writes:
> This platform uses the same GPIO controller as Nomadik. It however has
> its own pinconf & pinmux controller. EyeQ5 is the first platform to use
> gpio-nomadik independently from pinctrl-nomadik.
>
Acked-by: Gregory CLEMENT <gregory.clement@bootlin.com>
Thanks,
Gregory
> Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
> ---
> arch/mips/boot/dts/mobileye/eyeq5.dtsi | 30 ++++++++++++++++++++++++++++++
> 1 file changed, 30 insertions(+)
>
> diff --git a/arch/mips/boot/dts/mobileye/eyeq5.dtsi b/arch/mips/boot/dts/mobileye/eyeq5.dtsi
> index b9b6f2684e675020d0377147a04d7ad5bfc272c1..b8df7906231d065032b12d0ffdc93a75c8f3e822 100644
> --- a/arch/mips/boot/dts/mobileye/eyeq5.dtsi
> +++ b/arch/mips/boot/dts/mobileye/eyeq5.dtsi
> @@ -253,6 +253,36 @@ timer {
> clocks = <&olb EQ5C_CPU_CORE0>;
> };
> };
> +
> + gpio0: gpio@1400000 {
> + compatible = "mobileye,eyeq5-gpio";
> + reg = <0x0 0x1400000 0x0 0x1000>;
> + gpio-bank = <0>;
> + ngpios = <29>;
> + interrupt-parent = <&gic>;
> + interrupts = <GIC_SHARED 14 IRQ_TYPE_LEVEL_HIGH>;
> + gpio-controller;
> + #gpio-cells = <2>;
> + gpio-ranges = <&olb 0 0 29>;
> + interrupt-controller;
> + #interrupt-cells = <2>;
> + resets = <&olb 0 26>;
> + };
> +
> + gpio1: gpio@1500000 {
> + compatible = "mobileye,eyeq5-gpio";
> + reg = <0x0 0x1500000 0x0 0x1000>;
> + gpio-bank = <1>;
> + ngpios = <23>;
> + interrupt-parent = <&gic>;
> + interrupts = <GIC_SHARED 14 IRQ_TYPE_LEVEL_HIGH>;
> + gpio-controller;
> + #gpio-cells = <2>;
> + gpio-ranges = <&olb 0 29 23>;
> + interrupt-controller;
> + #interrupt-cells = <2>;
> + resets = <&olb 0 26>;
> + };
> };
> };
>
>
> --
> 2.50.0
>
--
Grégory CLEMENT, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 5/6] MIPS: eyeq5_defconfig: add GPIO subsystem & driver
2025-07-04 11:47 ` [PATCH 5/6] MIPS: eyeq5_defconfig: add GPIO subsystem & driver Théo Lebrun
@ 2025-07-11 14:24 ` Gregory CLEMENT
0 siblings, 0 replies; 14+ messages in thread
From: Gregory CLEMENT @ 2025-07-11 14:24 UTC (permalink / raw)
To: Théo Lebrun, Thomas Bogendoerfer, Vladimir Kondratiev,
Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: Thomas Petazzoni, Tawfik Bayouk, linux-mips, linux-kernel,
devicetree, Théo Lebrun
Théo Lebrun <theo.lebrun@bootlin.com> writes:
> 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>
Thanks,
Gregory
> ---
> arch/mips/configs/eyeq5_defconfig | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/arch/mips/configs/eyeq5_defconfig b/arch/mips/configs/eyeq5_defconfig
> index e2d6ad7c3006b037ae370a68c09e7aacab61d083..05a579e21970eed203d96bd4b8103d030e39f262 100644
> --- a/arch/mips/configs/eyeq5_defconfig
> +++ b/arch/mips/configs/eyeq5_defconfig
> @@ -64,6 +64,8 @@ CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
> CONFIG_HW_RANDOM=y
> # CONFIG_PTP_1588_CLOCK is not set
> CONFIG_PINCTRL=y
> +CONFIG_GPIOLIB=y
> +CONFIG_GPIO_NOMADIK=y
> CONFIG_MFD_SYSCON=y
> CONFIG_HID_A4TECH=y
> CONFIG_HID_BELKIN=y
>
> --
> 2.50.0
>
--
Grégory CLEMENT, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 6/6] MIPS: eyeq5_defconfig: add I2C subsystem, driver and temp sensor driver
2025-07-04 11:47 ` [PATCH 6/6] MIPS: eyeq5_defconfig: add I2C subsystem, driver and temp sensor driver Théo Lebrun
@ 2025-07-11 14:24 ` Gregory CLEMENT
0 siblings, 0 replies; 14+ messages in thread
From: Gregory CLEMENT @ 2025-07-11 14:24 UTC (permalink / raw)
To: Théo Lebrun, Thomas Bogendoerfer, Vladimir Kondratiev,
Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: Thomas Petazzoni, Tawfik Bayouk, linux-mips, linux-kernel,
devicetree, Théo Lebrun
Théo Lebrun <theo.lebrun@bootlin.com> writes:
> 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>
Thanks,
Gregory
> ---
> arch/mips/configs/eyeq5_defconfig | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/arch/mips/configs/eyeq5_defconfig b/arch/mips/configs/eyeq5_defconfig
> index 05a579e21970eed203d96bd4b8103d030e39f262..2064b79b59b6d94bf003f0c2c95e61948c77b1b0 100644
> --- a/arch/mips/configs/eyeq5_defconfig
> +++ b/arch/mips/configs/eyeq5_defconfig
> @@ -62,10 +62,14 @@ CONFIG_CAN_M_CAN=y
> CONFIG_SERIAL_AMBA_PL011=y
> CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
> CONFIG_HW_RANDOM=y
> +CONFIG_I2C=y
> +CONFIG_I2C_CHARDEV=y
> +CONFIG_I2C_NOMADIK=y
> # CONFIG_PTP_1588_CLOCK is not set
> CONFIG_PINCTRL=y
> CONFIG_GPIOLIB=y
> CONFIG_GPIO_NOMADIK=y
> +CONFIG_SENSORS_LM75=y
> CONFIG_MFD_SYSCON=y
> CONFIG_HID_A4TECH=y
> CONFIG_HID_BELKIN=y
>
> --
> 2.50.0
>
--
Grégory CLEMENT, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 0/6] MIPS: Mobileye: EyeQ5: add GPIO/I2C devicetrees/defconfigs
2025-07-04 11:47 [PATCH 0/6] MIPS: Mobileye: EyeQ5: add GPIO/I2C devicetrees/defconfigs Théo Lebrun
` (5 preceding siblings ...)
2025-07-04 11:47 ` [PATCH 6/6] MIPS: eyeq5_defconfig: add I2C subsystem, driver and temp sensor driver Théo Lebrun
@ 2025-07-16 18:05 ` Thomas Bogendoerfer
6 siblings, 0 replies; 14+ messages in thread
From: Thomas Bogendoerfer @ 2025-07-16 18:05 UTC (permalink / raw)
To: Théo Lebrun
Cc: Vladimir Kondratiev, Gregory CLEMENT, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Thomas Petazzoni,
Tawfik Bayouk, linux-mips, linux-kernel, devicetree,
Linus Walleij, Andi Shyti
On Fri, Jul 04, 2025 at 01:47:05PM +0200, Théo Lebrun wrote:
> Here we push changes to have GPIO and I2C support by default in EyeQ5
> defconfigs and devicetrees.
>
> Linux driver work has been pushed in the past. Devicetree patches
> accompanied those series but didn't get merged at that time. Acked-by
> on I2C DTS patches come from there.
>
> We start by a small new defconfig patch that a clean working tree after:
>
> ⟩ make eyeq5_defconfig && \
> make savedefconfig && \
> mv defconfig arch/mips/configs/eyeq5_defconfig
>
> I2C DTS patches:
> https://lore.kernel.org/lkml/20240306-mbly-i2c-v3-0-605f866aa4ec@bootlin.com/
>
> GPIO DTS patch:
> https://lore.kernel.org/lkml/20240228-mbly-gpio-v2-28-3ba757474006@bootlin.com/
>
> Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
> ---
> Théo Lebrun (6):
> MIPS: eyeq5_defconfig: Update for v6.16-rc1
> MIPS: mobileye: eyeq5: add 5 I2C controller nodes
> MIPS: mobileye: eyeq5: add evaluation board I2C temp sensor
> MIPS: mobileye: eyeq5: add two GPIO bank nodes
> MIPS: eyeq5_defconfig: add GPIO subsystem & driver
> MIPS: eyeq5_defconfig: add I2C subsystem, driver and temp sensor driver
>
> arch/mips/boot/dts/mobileye/eyeq5-epm5.dts | 8 +++
> arch/mips/boot/dts/mobileye/eyeq5.dtsi | 105 +++++++++++++++++++++++++++++
> arch/mips/configs/eyeq5_defconfig | 10 ++-
> 3 files changed, 120 insertions(+), 3 deletions(-)
> ---
> base-commit: b4674c5af605321f2ec0c8ac5a884c4ecfad7214
> change-id: 20250704-of-commits-d76e6d76a6f1
series applied to mips-next.
Thomas.
--
Crap can work. Given enough thrust pigs will fly, but it's not necessarily a
good idea. [ RFC1925, 2.3 ]
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2025-07-16 18:21 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-04 11:47 [PATCH 0/6] MIPS: Mobileye: EyeQ5: add GPIO/I2C devicetrees/defconfigs Théo Lebrun
2025-07-04 11:47 ` [PATCH 1/6] MIPS: eyeq5_defconfig: Update for v6.16-rc1 Théo Lebrun
2025-07-11 14:19 ` Gregory CLEMENT
2025-07-04 11:47 ` [PATCH 2/6] MIPS: mobileye: eyeq5: add 5 I2C controller nodes Théo Lebrun
2025-07-11 14:21 ` Gregory CLEMENT
2025-07-04 11:47 ` [PATCH 3/6] MIPS: mobileye: eyeq5: add evaluation board I2C temp sensor Théo Lebrun
2025-07-11 14:21 ` Gregory CLEMENT
2025-07-04 11:47 ` [PATCH 4/6] MIPS: mobileye: eyeq5: add two GPIO bank nodes Théo Lebrun
2025-07-11 14:22 ` Gregory CLEMENT
2025-07-04 11:47 ` [PATCH 5/6] MIPS: eyeq5_defconfig: add GPIO subsystem & driver Théo Lebrun
2025-07-11 14:24 ` Gregory CLEMENT
2025-07-04 11:47 ` [PATCH 6/6] MIPS: eyeq5_defconfig: add I2C subsystem, driver and temp sensor driver Théo Lebrun
2025-07-11 14:24 ` Gregory CLEMENT
2025-07-16 18:05 ` [PATCH 0/6] MIPS: Mobileye: EyeQ5: add GPIO/I2C devicetrees/defconfigs Thomas Bogendoerfer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).