linux-loongson/arch/mips/boot/dts/mobileye/eyeq5.dtsi
Benoît Monin 707b74c6c2 MIPS: mobileye: dts: eyeq5,eyeq6h: rename the emmc controller
The name should match the pattern defined in the mmc-controller binding.

Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202507220336.JhvVLL7k-lkp@intel.com/
Closes: https://lore.kernel.org/oe-kbuild-all/202507220215.wVoUMK5B-lkp@intel.com/
Signed-off-by: Benoît Monin <benoit.monin@bootlin.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
2025-07-28 09:56:41 +02:00

312 lines
7.8 KiB
Plaintext

// SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause */
/*
* Copyright 2023 Mobileye Vision Technologies Ltd.
*/
#include <dt-bindings/interrupt-controller/mips-gic.h>
#include <dt-bindings/clock/mobileye,eyeq5-clk.h>
/ {
#address-cells = <2>;
#size-cells = <2>;
cpus {
#address-cells = <1>;
#size-cells = <0>;
cpu@0 {
device_type = "cpu";
compatible = "img,i6500";
reg = <0>;
clocks = <&olb EQ5C_CPU_CORE0>;
};
};
reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
ranges;
/* These reserved memory regions are also defined in bootmanager
* for configuring inbound translation for BARS, don't change
* these without syncing with bootmanager
*/
shmem0_reserved: shmem@804000000 {
reg = <0x8 0x04000000 0x0 0x1000000>;
};
shmem1_reserved: shmem@805000000 {
reg = <0x8 0x05000000 0x0 0x1000000>;
};
pci0_msi_reserved: pci0-msi@806000000 {
reg = <0x8 0x06000000 0x0 0x100000>;
};
pci1_msi_reserved: pci1-msi@806100000 {
reg = <0x8 0x06100000 0x0 0x100000>;
};
mini_coredump0_reserved: mini-coredump0@806200000 {
reg = <0x8 0x06200000 0x0 0x100000>;
};
mhm_reserved_0: the-mhm-reserved-0@0 {
reg = <0x8 0x00000000 0x0 0x0000800>;
};
nvram@461fe00 {
compatible = "mobileye,eyeq5-bootloader-config", "nvmem-rmem";
reg = <0x0 0x0461fe00 0x0 0x200>;
#address-cells = <1>;
#size-cells = <1>;
no-map;
nvmem-layout {
compatible = "fixed-layout";
#address-cells = <1>;
#size-cells = <1>;
eth0_mac: mac@7c {
reg = <0x7c 0x6>;
};
eth1_mac: mac@82 {
reg = <0x82 0x6>;
};
};
};
};
aliases {
serial0 = &uart0;
serial1 = &uart1;
serial2 = &uart2;
};
cpu_intc: interrupt-controller {
compatible = "mti,cpu-interrupt-controller";
interrupt-controller;
#address-cells = <0>;
#interrupt-cells = <1>;
};
xtal: xtal {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <30000000>;
};
pclk: pclk {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <250000000>; /* 250MHz */
};
tsu_clk: tsu-clk {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <125000000>; /* 125MHz */
};
soc: soc {
#address-cells = <2>;
#size-cells = <2>;
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>;
reg-io-width = <4>;
interrupt-parent = <&gic>;
interrupts = <GIC_SHARED 6 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&olb EQ5C_PER_UART>, <&olb EQ5C_PER_OCC>;
clock-names = "uartclk", "apb_pclk";
resets = <&olb 0 10>;
pinctrl-names = "default";
pinctrl-0 = <&uart0_pins>;
};
uart1: serial@900000 {
compatible = "arm,pl011", "arm,primecell";
reg = <0 0x900000 0x0 0x1000>;
reg-io-width = <4>;
interrupt-parent = <&gic>;
interrupts = <GIC_SHARED 6 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&olb EQ5C_PER_UART>, <&olb EQ5C_PER_OCC>;
clock-names = "uartclk", "apb_pclk";
resets = <&olb 0 11>;
pinctrl-names = "default";
pinctrl-0 = <&uart1_pins>;
};
uart2: serial@a00000 {
compatible = "arm,pl011", "arm,primecell";
reg = <0 0xa00000 0x0 0x1000>;
reg-io-width = <4>;
interrupt-parent = <&gic>;
interrupts = <GIC_SHARED 6 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&olb EQ5C_PER_UART>, <&olb EQ5C_PER_OCC>;
clock-names = "uartclk", "apb_pclk";
resets = <&olb 0 12>;
pinctrl-names = "default";
pinctrl-0 = <&uart2_pins>;
};
olb: system-controller@e00000 {
compatible = "mobileye,eyeq5-olb", "syscon";
reg = <0 0xe00000 0x0 0x400>;
#reset-cells = <2>;
#clock-cells = <1>;
clocks = <&xtal>;
clock-names = "ref";
};
gic: interrupt-controller@140000 {
compatible = "mti,gic";
reg = <0x0 0x140000 0x0 0x20000>;
interrupt-controller;
#interrupt-cells = <3>;
/*
* Declare the interrupt-parent even though the mti,gic
* binding doesn't require it, such that the kernel can
* figure out that cpu_intc is the root interrupt
* controller & should be probed first.
*/
interrupt-parent = <&cpu_intc>;
timer {
compatible = "mti,gic-timer";
interrupts = <GIC_LOCAL 1 IRQ_TYPE_NONE>;
clocks = <&olb EQ5C_CPU_CORE0>;
};
};
emmc: mmc@2200000 {
compatible = "mobileye,eyeq-sd4hc", "cdns,sd4hc";
reg = <0 0x2200000 0x0 0x1000>;
interrupt-parent = <&gic>;
interrupts = <GIC_SHARED 10 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&olb EQ5C_PER_EMMC>;
bus-width = <8>;
max-frequency = <200000000>;
mmc-ddr-1_8v;
sd-uhs-ddr50;
mmc-hs200-1_8v;
mmc-hs400-1_8v;
mmc-hs400-enhanced-strobe;
cdns,phy-input-delay-legacy = <4>;
cdns,phy-input-delay-mmc-highspeed = <2>;
cdns,phy-input-delay-mmc-ddr = <3>;
cdns,phy-dll-delay-sdclk = <32>;
cdns,phy-dll-delay-sdclk-hsmmc = <32>;
cdns,phy-dll-delay-strobe = <32>;
};
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>;
};
};
};
#include "eyeq5-pins.dtsi"