101950c46SEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause */ 201950c46SEmmanuel Vadot/* 301950c46SEmmanuel Vadot* Copyright 2023 Mobileye Vision Technologies Ltd. 401950c46SEmmanuel Vadot*/ 501950c46SEmmanuel Vadot 601950c46SEmmanuel Vadot#include <dt-bindings/interrupt-controller/mips-gic.h> 701950c46SEmmanuel Vadot 8*0e8011faSEmmanuel Vadot#include "eyeq5-clocks.dtsi" 901950c46SEmmanuel Vadot 1001950c46SEmmanuel Vadot/ { 1101950c46SEmmanuel Vadot #address-cells = <2>; 1201950c46SEmmanuel Vadot #size-cells = <2>; 1301950c46SEmmanuel Vadot cpus { 1401950c46SEmmanuel Vadot #address-cells = <1>; 1501950c46SEmmanuel Vadot #size-cells = <0>; 1601950c46SEmmanuel Vadot cpu@0 { 1701950c46SEmmanuel Vadot device_type = "cpu"; 1801950c46SEmmanuel Vadot compatible = "img,i6500"; 1901950c46SEmmanuel Vadot reg = <0>; 2001950c46SEmmanuel Vadot clocks = <&core0_clk>; 2101950c46SEmmanuel Vadot }; 2201950c46SEmmanuel Vadot }; 2301950c46SEmmanuel Vadot 2401950c46SEmmanuel Vadot reserved-memory { 2501950c46SEmmanuel Vadot #address-cells = <2>; 2601950c46SEmmanuel Vadot #size-cells = <2>; 2701950c46SEmmanuel Vadot ranges; 2801950c46SEmmanuel Vadot 2901950c46SEmmanuel Vadot /* These reserved memory regions are also defined in bootmanager 3001950c46SEmmanuel Vadot * for configuring inbound translation for BARS, don't change 3101950c46SEmmanuel Vadot * these without syncing with bootmanager 3201950c46SEmmanuel Vadot */ 3301950c46SEmmanuel Vadot shmem0_reserved: shmem@804000000 { 3401950c46SEmmanuel Vadot reg = <0x8 0x04000000 0x0 0x1000000>; 3501950c46SEmmanuel Vadot }; 3601950c46SEmmanuel Vadot shmem1_reserved: shmem@805000000 { 3701950c46SEmmanuel Vadot reg = <0x8 0x05000000 0x0 0x1000000>; 3801950c46SEmmanuel Vadot }; 3901950c46SEmmanuel Vadot pci0_msi_reserved: pci0-msi@806000000 { 4001950c46SEmmanuel Vadot reg = <0x8 0x06000000 0x0 0x100000>; 4101950c46SEmmanuel Vadot }; 4201950c46SEmmanuel Vadot pci1_msi_reserved: pci1-msi@806100000 { 4301950c46SEmmanuel Vadot reg = <0x8 0x06100000 0x0 0x100000>; 4401950c46SEmmanuel Vadot }; 4501950c46SEmmanuel Vadot 4601950c46SEmmanuel Vadot mini_coredump0_reserved: mini-coredump0@806200000 { 4701950c46SEmmanuel Vadot reg = <0x8 0x06200000 0x0 0x100000>; 4801950c46SEmmanuel Vadot }; 4901950c46SEmmanuel Vadot mhm_reserved_0: the-mhm-reserved-0@0 { 5001950c46SEmmanuel Vadot reg = <0x8 0x00000000 0x0 0x0000800>; 5101950c46SEmmanuel Vadot }; 5201950c46SEmmanuel Vadot }; 5301950c46SEmmanuel Vadot 5401950c46SEmmanuel Vadot aliases { 5501950c46SEmmanuel Vadot serial0 = &uart0; 5601950c46SEmmanuel Vadot serial1 = &uart1; 5701950c46SEmmanuel Vadot serial2 = &uart2; 5801950c46SEmmanuel Vadot }; 5901950c46SEmmanuel Vadot 6001950c46SEmmanuel Vadot cpu_intc: interrupt-controller { 6101950c46SEmmanuel Vadot compatible = "mti,cpu-interrupt-controller"; 6201950c46SEmmanuel Vadot interrupt-controller; 6301950c46SEmmanuel Vadot #address-cells = <0>; 6401950c46SEmmanuel Vadot #interrupt-cells = <1>; 6501950c46SEmmanuel Vadot }; 6601950c46SEmmanuel Vadot 6701950c46SEmmanuel Vadot soc: soc { 6801950c46SEmmanuel Vadot #address-cells = <2>; 6901950c46SEmmanuel Vadot #size-cells = <2>; 7001950c46SEmmanuel Vadot ranges; 7101950c46SEmmanuel Vadot compatible = "simple-bus"; 7201950c46SEmmanuel Vadot 7301950c46SEmmanuel Vadot uart0: serial@800000 { 7401950c46SEmmanuel Vadot compatible = "arm,pl011", "arm,primecell"; 7501950c46SEmmanuel Vadot reg = <0 0x800000 0x0 0x1000>; 7601950c46SEmmanuel Vadot reg-io-width = <4>; 7701950c46SEmmanuel Vadot interrupt-parent = <&gic>; 7801950c46SEmmanuel Vadot interrupts = <GIC_SHARED 6 IRQ_TYPE_LEVEL_HIGH>; 7901950c46SEmmanuel Vadot clocks = <&uart_clk>, <&occ_periph>; 8001950c46SEmmanuel Vadot clock-names = "uartclk", "apb_pclk"; 81*0e8011faSEmmanuel Vadot resets = <&olb 0 10>; 82*0e8011faSEmmanuel Vadot pinctrl-names = "default"; 83*0e8011faSEmmanuel Vadot pinctrl-0 = <&uart0_pins>; 8401950c46SEmmanuel Vadot }; 8501950c46SEmmanuel Vadot 8601950c46SEmmanuel Vadot uart1: serial@900000 { 8701950c46SEmmanuel Vadot compatible = "arm,pl011", "arm,primecell"; 8801950c46SEmmanuel Vadot reg = <0 0x900000 0x0 0x1000>; 8901950c46SEmmanuel Vadot reg-io-width = <4>; 9001950c46SEmmanuel Vadot interrupt-parent = <&gic>; 9101950c46SEmmanuel Vadot interrupts = <GIC_SHARED 6 IRQ_TYPE_LEVEL_HIGH>; 9201950c46SEmmanuel Vadot clocks = <&uart_clk>, <&occ_periph>; 9301950c46SEmmanuel Vadot clock-names = "uartclk", "apb_pclk"; 94*0e8011faSEmmanuel Vadot resets = <&olb 0 11>; 95*0e8011faSEmmanuel Vadot pinctrl-names = "default"; 96*0e8011faSEmmanuel Vadot pinctrl-0 = <&uart1_pins>; 9701950c46SEmmanuel Vadot }; 9801950c46SEmmanuel Vadot 9901950c46SEmmanuel Vadot uart2: serial@a00000 { 10001950c46SEmmanuel Vadot compatible = "arm,pl011", "arm,primecell"; 10101950c46SEmmanuel Vadot reg = <0 0xa00000 0x0 0x1000>; 10201950c46SEmmanuel Vadot reg-io-width = <4>; 10301950c46SEmmanuel Vadot interrupt-parent = <&gic>; 10401950c46SEmmanuel Vadot interrupts = <GIC_SHARED 6 IRQ_TYPE_LEVEL_HIGH>; 10501950c46SEmmanuel Vadot clocks = <&uart_clk>, <&occ_periph>; 10601950c46SEmmanuel Vadot clock-names = "uartclk", "apb_pclk"; 107*0e8011faSEmmanuel Vadot resets = <&olb 0 12>; 108*0e8011faSEmmanuel Vadot pinctrl-names = "default"; 109*0e8011faSEmmanuel Vadot pinctrl-0 = <&uart2_pins>; 110*0e8011faSEmmanuel Vadot }; 111*0e8011faSEmmanuel Vadot 112*0e8011faSEmmanuel Vadot olb: system-controller@e00000 { 113*0e8011faSEmmanuel Vadot compatible = "mobileye,eyeq5-olb", "syscon"; 114*0e8011faSEmmanuel Vadot reg = <0 0xe00000 0x0 0x400>; 115*0e8011faSEmmanuel Vadot #reset-cells = <2>; 116*0e8011faSEmmanuel Vadot #clock-cells = <1>; 117*0e8011faSEmmanuel Vadot clocks = <&xtal>; 118*0e8011faSEmmanuel Vadot clock-names = "ref"; 11901950c46SEmmanuel Vadot }; 12001950c46SEmmanuel Vadot 12101950c46SEmmanuel Vadot gic: interrupt-controller@140000 { 12201950c46SEmmanuel Vadot compatible = "mti,gic"; 12301950c46SEmmanuel Vadot reg = <0x0 0x140000 0x0 0x20000>; 12401950c46SEmmanuel Vadot interrupt-controller; 12501950c46SEmmanuel Vadot #interrupt-cells = <3>; 12601950c46SEmmanuel Vadot 12701950c46SEmmanuel Vadot /* 12801950c46SEmmanuel Vadot * Declare the interrupt-parent even though the mti,gic 12901950c46SEmmanuel Vadot * binding doesn't require it, such that the kernel can 13001950c46SEmmanuel Vadot * figure out that cpu_intc is the root interrupt 13101950c46SEmmanuel Vadot * controller & should be probed first. 13201950c46SEmmanuel Vadot */ 13301950c46SEmmanuel Vadot interrupt-parent = <&cpu_intc>; 13401950c46SEmmanuel Vadot 13501950c46SEmmanuel Vadot timer { 13601950c46SEmmanuel Vadot compatible = "mti,gic-timer"; 13701950c46SEmmanuel Vadot interrupts = <GIC_LOCAL 1 IRQ_TYPE_NONE>; 13801950c46SEmmanuel Vadot clocks = <&core0_clk>; 13901950c46SEmmanuel Vadot }; 14001950c46SEmmanuel Vadot }; 14101950c46SEmmanuel Vadot }; 14201950c46SEmmanuel Vadot}; 143*0e8011faSEmmanuel Vadot 144*0e8011faSEmmanuel Vadot#include "eyeq5-pins.dtsi" 145