1*361600d1SBenoît Monin// SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2*361600d1SBenoît Monin/* 3*361600d1SBenoît Monin * Copyright 2025 Mobileye Vision Technologies Ltd. 4*361600d1SBenoît Monin */ 5*361600d1SBenoît Monin 6*361600d1SBenoît Monin#include <dt-bindings/interrupt-controller/mips-gic.h> 7*361600d1SBenoît Monin 8*361600d1SBenoît Monin#include <dt-bindings/clock/mobileye,eyeq6lplus-clk.h> 9*361600d1SBenoît Monin 10*361600d1SBenoît Monin/ { 11*361600d1SBenoît Monin #address-cells = <2>; 12*361600d1SBenoît Monin #size-cells = <2>; 13*361600d1SBenoît Monin cpus { 14*361600d1SBenoît Monin #address-cells = <1>; 15*361600d1SBenoît Monin #size-cells = <0>; 16*361600d1SBenoît Monin cpu@0 { 17*361600d1SBenoît Monin device_type = "cpu"; 18*361600d1SBenoît Monin compatible = "img,i6500"; 19*361600d1SBenoît Monin reg = <0>; 20*361600d1SBenoît Monin clocks = <&olb EQ6LPC_CPU_OCC>; 21*361600d1SBenoît Monin }; 22*361600d1SBenoît Monin }; 23*361600d1SBenoît Monin 24*361600d1SBenoît Monin cpu_intc: interrupt-controller { 25*361600d1SBenoît Monin compatible = "mti,cpu-interrupt-controller"; 26*361600d1SBenoît Monin interrupt-controller; 27*361600d1SBenoît Monin #address-cells = <0>; 28*361600d1SBenoît Monin #interrupt-cells = <1>; 29*361600d1SBenoît Monin }; 30*361600d1SBenoît Monin 31*361600d1SBenoît Monin coherency-manager { 32*361600d1SBenoît Monin compatible = "mobileye,eyeq6-cm"; 33*361600d1SBenoît Monin }; 34*361600d1SBenoît Monin 35*361600d1SBenoît Monin xtal: clock-30000000 { 36*361600d1SBenoît Monin compatible = "fixed-clock"; 37*361600d1SBenoît Monin #clock-cells = <0>; 38*361600d1SBenoît Monin clock-frequency = <30000000>; 39*361600d1SBenoît Monin }; 40*361600d1SBenoît Monin 41*361600d1SBenoît Monin soc: soc { 42*361600d1SBenoît Monin compatible = "simple-bus"; 43*361600d1SBenoît Monin #address-cells = <2>; 44*361600d1SBenoît Monin #size-cells = <2>; 45*361600d1SBenoît Monin ranges; 46*361600d1SBenoît Monin 47*361600d1SBenoît Monin olb: system-controller@e8400000 { 48*361600d1SBenoît Monin compatible = "mobileye,eyeq6lplus-olb", "syscon"; 49*361600d1SBenoît Monin reg = <0 0xe8400000 0x0 0x80000>; 50*361600d1SBenoît Monin #reset-cells = <2>; 51*361600d1SBenoît Monin #clock-cells = <1>; 52*361600d1SBenoît Monin clocks = <&xtal>; 53*361600d1SBenoît Monin clock-names = "ref"; 54*361600d1SBenoît Monin }; 55*361600d1SBenoît Monin 56*361600d1SBenoît Monin ospi: spi@e8800000 { 57*361600d1SBenoît Monin compatible = "mobileye,eyeq5-ospi", "cdns,qspi-nor"; 58*361600d1SBenoît Monin #address-cells = <1>; 59*361600d1SBenoît Monin #size-cells = <0>; 60*361600d1SBenoît Monin reg = <0 0xe8800000 0x0 0x100000>, 61*361600d1SBenoît Monin <0 0xb0000000 0x0 0x30000000>; 62*361600d1SBenoît Monin interrupt-parent = <&gic>; 63*361600d1SBenoît Monin interrupts = <GIC_SHARED 10 IRQ_TYPE_LEVEL_HIGH>; 64*361600d1SBenoît Monin cdns,fifo-depth = <128>; 65*361600d1SBenoît Monin cdns,fifo-width = <4>; 66*361600d1SBenoît Monin cdns,trigger-address = <0x00000000>; 67*361600d1SBenoît Monin clocks = <&olb EQ6LPC_PER_OSPI>; 68*361600d1SBenoît Monin status = "disabled"; 69*361600d1SBenoît Monin }; 70*361600d1SBenoît Monin 71*361600d1SBenoît Monin spi0: spi@eac0d000 { 72*361600d1SBenoît Monin compatible = "snps,dw-apb-ssi"; 73*361600d1SBenoît Monin reg = <0 0xeac0d000 0x0 0x1000>; 74*361600d1SBenoît Monin clocks = <&olb EQ6LPC_PER_SPI>; 75*361600d1SBenoît Monin interrupt-parent = <&gic>; 76*361600d1SBenoît Monin interrupts = <GIC_SHARED 11 IRQ_TYPE_LEVEL_HIGH>; 77*361600d1SBenoît Monin resets = <&olb 0 0>; 78*361600d1SBenoît Monin reset-names = "spi"; 79*361600d1SBenoît Monin #address-cells = <1>; 80*361600d1SBenoît Monin #size-cells = <0>; 81*361600d1SBenoît Monin status = "disabled"; 82*361600d1SBenoît Monin }; 83*361600d1SBenoît Monin 84*361600d1SBenoît Monin spi1: spi@eac0e000 { 85*361600d1SBenoît Monin compatible = "snps,dw-apb-ssi"; 86*361600d1SBenoît Monin reg = <0 0xeac0e000 0x0 0x1000>; 87*361600d1SBenoît Monin spi-slave; 88*361600d1SBenoît Monin clocks = <&olb EQ6LPC_PER_SPI>; 89*361600d1SBenoît Monin interrupt-parent = <&gic>; 90*361600d1SBenoît Monin interrupts = <GIC_SHARED 12 IRQ_TYPE_LEVEL_HIGH>; 91*361600d1SBenoît Monin resets = <&olb 0 1>; 92*361600d1SBenoît Monin reset-names = "spi"; 93*361600d1SBenoît Monin #address-cells = <0>; 94*361600d1SBenoît Monin #size-cells = <0>; 95*361600d1SBenoît Monin status = "disabled"; 96*361600d1SBenoît Monin }; 97*361600d1SBenoît Monin 98*361600d1SBenoît Monin uart0: serial@eac10000 { 99*361600d1SBenoît Monin compatible = "snps,dw-apb-uart"; 100*361600d1SBenoît Monin reg-shift = <2>; 101*361600d1SBenoît Monin reg-io-width = <4>; 102*361600d1SBenoît Monin clocks = <&olb EQ6LPC_PER_UART>; 103*361600d1SBenoît Monin clock-frequency = <15625000>; 104*361600d1SBenoît Monin reg = <0 0xeac10000 0x0 0x1000>; 105*361600d1SBenoît Monin interrupt-parent = <&gic>; 106*361600d1SBenoît Monin interrupts = <GIC_SHARED 8 IRQ_TYPE_LEVEL_HIGH>; 107*361600d1SBenoît Monin resets = <&olb 0 2>; 108*361600d1SBenoît Monin status = "disabled"; 109*361600d1SBenoît Monin }; 110*361600d1SBenoît Monin 111*361600d1SBenoît Monin i2c0: i2c@eac11000 { 112*361600d1SBenoît Monin compatible = "mobileye,eyeq6lplus-i2c", "snps,designware-i2c"; 113*361600d1SBenoît Monin reg = <0 0xeac11000 0x0 0x1000>; 114*361600d1SBenoît Monin interrupt-parent = <&gic>; 115*361600d1SBenoît Monin interrupts = <GIC_SHARED 6 IRQ_TYPE_LEVEL_HIGH>; 116*361600d1SBenoît Monin clock-frequency = <400000>; 117*361600d1SBenoît Monin clocks = <&olb EQ6LPC_PER_I2C_SER>; 118*361600d1SBenoît Monin resets = <&olb 0 3>; 119*361600d1SBenoît Monin i2c-sda-hold-time-ns = <50>; 120*361600d1SBenoît Monin status = "disabled"; 121*361600d1SBenoît Monin }; 122*361600d1SBenoît Monin 123*361600d1SBenoît Monin i2c1: i2c@eac12000 { 124*361600d1SBenoît Monin compatible = "mobileye,eyeq6lplus-i2c", "snps,designware-i2c"; 125*361600d1SBenoît Monin reg = <0 0xeac12000 0x0 0x1000>; 126*361600d1SBenoît Monin interrupt-parent = <&gic>; 127*361600d1SBenoît Monin interrupts = <GIC_SHARED 7 IRQ_TYPE_LEVEL_HIGH>; 128*361600d1SBenoît Monin clock-frequency = <400000>; 129*361600d1SBenoît Monin clocks = <&olb EQ6LPC_PER_I2C_SER>; 130*361600d1SBenoît Monin resets = <&olb 0 4>; 131*361600d1SBenoît Monin i2c-sda-hold-time-ns = <50>; 132*361600d1SBenoît Monin status = "disabled"; 133*361600d1SBenoît Monin }; 134*361600d1SBenoît Monin 135*361600d1SBenoît Monin gpio: gpio@eac14000 { 136*361600d1SBenoît Monin compatible = "snps,dw-apb-gpio"; 137*361600d1SBenoît Monin reg = <0x0 0xeac14000 0x0 0x1000>; 138*361600d1SBenoît Monin #address-cells = <1>; 139*361600d1SBenoît Monin #size-cells = <0>; 140*361600d1SBenoît Monin resets = <&olb 0 13>; 141*361600d1SBenoît Monin porta: gpio-port@0 { 142*361600d1SBenoît Monin compatible = "snps,dw-apb-gpio-port"; 143*361600d1SBenoît Monin gpio-controller; 144*361600d1SBenoît Monin #gpio-cells = <2>; 145*361600d1SBenoît Monin snps,nr-gpios = <32>; 146*361600d1SBenoît Monin gpio-ranges = <&olb 0 0 32>; 147*361600d1SBenoît Monin reg = <0>; 148*361600d1SBenoît Monin interrupt-controller; 149*361600d1SBenoît Monin #interrupt-cells = <2>; 150*361600d1SBenoît Monin interrupt-parent = <&gic>; 151*361600d1SBenoît Monin interrupts = <GIC_SHARED 13 IRQ_TYPE_LEVEL_HIGH>; 152*361600d1SBenoît Monin }; 153*361600d1SBenoît Monin }; 154*361600d1SBenoît Monin 155*361600d1SBenoît Monin gic: interrupt-controller@f0920000 { 156*361600d1SBenoît Monin compatible = "mti,gic"; 157*361600d1SBenoît Monin reg = <0x0 0xf0920000 0x0 0x20000>; 158*361600d1SBenoît Monin interrupt-controller; 159*361600d1SBenoît Monin #interrupt-cells = <3>; 160*361600d1SBenoît Monin interrupt-parent = <&cpu_intc>; 161*361600d1SBenoît Monin timer { 162*361600d1SBenoît Monin compatible = "mti,gic-timer"; 163*361600d1SBenoît Monin interrupts = <GIC_LOCAL 1 IRQ_TYPE_NONE>; 164*361600d1SBenoît Monin clocks = <&olb EQ6LPC_CPU_OCC>; 165*361600d1SBenoît Monin }; 166*361600d1SBenoît Monin }; 167*361600d1SBenoît Monin }; 168*361600d1SBenoît Monin}; 169*361600d1SBenoît Monin 170*361600d1SBenoît Monin#include "eyeq6lplus-pins.dtsi" 171