| /* | 
 |  * Copyright (c) 2018 Linaro Limited | 
 |  * | 
 |  * SPDX-License-Identifier: Apache-2.0 | 
 |  */ | 
 |  | 
 | #include <skeleton.dtsi> | 
 | #include <zephyr/dt-bindings/gpio/gpio.h> | 
 |  | 
 | / { | 
 | 	#address-cells = <1>; | 
 | 	#size-cells = <1>; | 
 |  | 
 | 	cpus { | 
 | 		#address-cells = <1>; | 
 | 		#size-cells = <0>; | 
 | 		cpu@0 { | 
 | 			clock-frequency = <0>; | 
 | 			compatible = "sifive,e51", "riscv"; | 
 | 			device_type = "cpu"; | 
 | 			reg = < 0x0 >; | 
 | 			riscv,isa = "rv64imac_zicsr_zifencei"; | 
 | 			hlic0: interrupt-controller { | 
 | 				compatible = "riscv,cpu-intc"; | 
 | 				#address-cells = <0>; | 
 | 				#interrupt-cells = <1>; | 
 | 				interrupt-controller; | 
 | 			}; | 
 | 		}; | 
 |  | 
 | 		cpu@1 { | 
 | 			clock-frequency = <0>; | 
 | 			compatible = "sifive,u54", "riscv"; | 
 | 			device_type = "cpu"; | 
 | 			reg = < 0x1 >; | 
 | 			riscv,isa = "rv64gc"; | 
 | 			hlic1: interrupt-controller { | 
 | 				compatible = "riscv,cpu-intc"; | 
 | 				#address-cells = <0>; | 
 | 				#interrupt-cells = <1>; | 
 | 				interrupt-controller; | 
 | 			}; | 
 | 		}; | 
 |  | 
 | 		cpu@2 { | 
 | 			clock-frequency = <0>; | 
 | 			compatible = "sifive,u54", "riscv"; | 
 | 			device_type = "cpu"; | 
 | 			reg = < 0x2 >; | 
 | 			riscv,isa = "rv64gc"; | 
 | 			hlic2: interrupt-controller { | 
 | 				compatible = "riscv,cpu-intc"; | 
 | 				#address-cells = <0>; | 
 | 				#interrupt-cells = <1>; | 
 | 				interrupt-controller; | 
 | 			}; | 
 | 		}; | 
 |  | 
 | 		cpu@3 { | 
 | 			clock-frequency = <0>; | 
 | 			compatible = "sifive,u54", "riscv"; | 
 | 			device_type = "cpu"; | 
 | 			reg = < 0x3 >; | 
 | 			riscv,isa = "rv64gc"; | 
 | 			hlic3: interrupt-controller { | 
 | 				compatible = "riscv,cpu-intc"; | 
 | 				#address-cells = <0>; | 
 | 				#interrupt-cells = <1>; | 
 | 				interrupt-controller; | 
 | 			}; | 
 | 		}; | 
 |  | 
 | 		cpu@4 { | 
 | 			clock-frequency = <0>; | 
 | 			compatible = "sifive,u54", "riscv"; | 
 | 			device_type = "cpu"; | 
 | 			reg = < 0x4 >; | 
 | 			riscv,isa = "rv64gc"; | 
 | 			hlic4: interrupt-controller { | 
 | 				compatible = "riscv,cpu-intc"; | 
 | 				#address-cells = <0>; | 
 | 				#interrupt-cells = <1>; | 
 | 				interrupt-controller; | 
 | 			}; | 
 | 		}; | 
 | 	}; | 
 |  | 
 | 	soc { | 
 | 		#address-cells = <1>; | 
 | 		#size-cells = <1>; | 
 | 		compatible = "simple-bus"; | 
 | 		ranges; | 
 |  | 
 | 		sram0: memory@8000000 { | 
 | 			compatible = "mmio-sram"; | 
 | 			reg = <0x8000000 0x80000>; | 
 | 		}; | 
 |  | 
 | 		sram1: memory@80000000 { | 
 | 			compatible = "mmio-sram"; | 
 | 			reg = <0x80000000 0x800000>; | 
 | 		}; | 
 |  | 
 | 		clint: clint@2000000 { | 
 | 			compatible = "sifive,clint0"; | 
 | 			interrupts-extended = <&hlic0 3 &hlic0 7 | 
 | 							&hlic1 3 &hlic1 7 | 
 | 							&hlic2 3 &hlic2 7 | 
 | 							&hlic3 3 &hlic3 7 | 
 | 							&hlic4 3 &hlic4 7>; | 
 | 			interrupt-names = "soft0", "timer0", "soft1", "timer1", | 
 | 							"soft2", "timer2", "soft3", "timer3", | 
 | 							"soft4", "timer4"; | 
 | 			reg = <0x2000000 0x10000>; | 
 | 		}; | 
 |  | 
 | 		plic: interrupt-controller@c000000 { | 
 | 			compatible = "sifive,plic-1.0.0"; | 
 | 			#interrupt-cells = <2>; | 
 | 			#address-cells = <1>; | 
 | 			interrupt-controller; | 
 | 			interrupts-extended = <&hlic0 11 | 
 | 							&hlic1 11 &hlic1 9 | 
 | 							&hlic2 11 &hlic2 9 | 
 | 							&hlic3 11 &hlic3 9 | 
 | 							&hlic4 11 &hlic4 9>; | 
 | 			reg = <0x0c000000 0x04000000>; | 
 | 			riscv,max-priority = <7>; | 
 | 			riscv,ndev = <186>; | 
 | 		}; | 
 |  | 
 | 		mbox: mailbox@37020000 { | 
 | 			compatible = "microchip,mpfs-mailbox"; | 
 | 			reg = <0x37020000 0x58>, <0x2000318C 0x40>, | 
 | 				<0x37020800 0x100>; | 
 | 			interrupt-parent = <&plic>; | 
 | 			interrupts = <96 1>; | 
 | 			#mbox-cells = <1>; | 
 | 			status = "disabled"; | 
 | 		}; | 
 |  | 
 | 		uart0: uart@20000000 { | 
 | 			compatible = "ns16550"; | 
 | 			reg = <0x20000000 0x1000>; | 
 | 			clock-frequency = <150000000>; | 
 | 			current-speed = <115200>; | 
 | 			interrupt-parent = <&plic>; | 
 | 			interrupts = <90 1>; | 
 | 			reg-shift = <2>; | 
 | 			status = "disabled"; | 
 | 		}; | 
 |  | 
 | 		uart1: uart@20100000 { | 
 | 			compatible = "ns16550"; | 
 | 			reg = <0x20100000 0x1000>; | 
 | 			clock-frequency = <150000000>; | 
 | 			current-speed = <115200>; | 
 | 			interrupt-parent = <&plic>; | 
 | 			interrupts = <91 1>; | 
 | 			reg-shift = <2>; | 
 | 			status = "disabled"; | 
 | 		}; | 
 |  | 
 | 		uart2: uart@20102000 { | 
 | 			compatible = "ns16550"; | 
 | 			reg = <0x20102000 0x1000>; | 
 | 			clock-frequency = <150000000>; | 
 | 			current-speed = <115200>; | 
 | 			interrupt-parent = <&plic>; | 
 | 			interrupts = <92 1>; | 
 | 			reg-shift = <2>; | 
 | 			status = "disabled"; | 
 | 		}; | 
 |  | 
 | 		uart3: uart@20104000 { | 
 | 			compatible = "ns16550"; | 
 | 			reg = <0x20104000 0x1000>; | 
 | 			clock-frequency = <150000000>; | 
 | 			current-speed = <115200>; | 
 | 			interrupt-parent = <&plic>; | 
 | 			interrupts = <93 1>; | 
 | 			reg-shift = <2>; | 
 | 			status = "disabled"; | 
 | 		}; | 
 |  | 
 | 		uart4: uart@20106000 { | 
 | 			compatible = "ns16550"; | 
 | 			reg = <0x20106000 0x1000>; | 
 | 			clock-frequency = <150000000>; | 
 | 			current-speed = <115200>; | 
 | 			interrupt-parent = <&plic>; | 
 | 			interrupts = <94 1>; | 
 | 			reg-shift = <2>; | 
 | 			status = "disabled"; | 
 | 		}; | 
 |  | 
 | 		qspi0: spi@21000000 { | 
 | 			compatible = "microchip,mpfs-qspi"; | 
 | 			#address-cells = <1>; | 
 | 			#size-cells = <0>; | 
 | 			reg = <0x21000000 0x1000>; | 
 | 			interrupt-parent = <&plic>; | 
 | 			interrupts = <85 1>; | 
 | 			status = "disabled"; | 
 | 			clock-frequency = <150000000>; | 
 | 		}; | 
 |  | 
 | 		spi1: spi@20109000 { | 
 | 			compatible = "microchip,mpfs-spi"; | 
 | 			#address-cells = <1>; | 
 | 			#size-cells = <0>; | 
 | 			reg = <0x20109000 0x1000>; | 
 | 			interrupt-parent = <&plic>; | 
 | 			interrupts = <55 1>; | 
 | 			status = "disabled"; | 
 | 			clock-frequency = <150000000>; | 
 | 		}; | 
 |  | 
 | 		syscontroller_qspi: spi@37020100 { | 
 | 			compatible = "microchip,mpfs-qspi"; | 
 | 			#address-cells = <1>; | 
 | 			#size-cells = <0>; | 
 | 			reg = <0x37020100 0x1000>; | 
 | 			interrupt-parent = <&plic>; | 
 | 			interrupts = <110 1>; | 
 | 			status = "disabled"; | 
 | 			clock-frequency = <150000000>; | 
 | 		}; | 
 |  | 
 | 		gpio0: gpio@20120000 { | 
 | 			compatible = "microchip,mpfs-gpio"; | 
 | 			reg = <0x20120000 0x1000>; | 
 | 			interrupt-parent = <&plic>; | 
 | 			interrupts = <51 1>; | 
 | 			interrupt-controller; | 
 | 			#interrupt-cells = <1>; | 
 | 			gpio-controller; | 
 | 			#gpio-cells = <2>; | 
 | 			ngpios = <32>; | 
 | 			status = "disabled"; | 
 | 		}; | 
 |  | 
 | 		gpio1: gpio@20121000 { | 
 | 			compatible = "microchip,mpfs-gpio"; | 
 | 			reg = <0x20121000 0x1000>; | 
 | 			interrupt-parent = <&plic>; | 
 | 			interrupts = <52 1>; | 
 | 			interrupt-controller; | 
 | 			#interrupt-cells = <1>; | 
 | 			gpio-controller; | 
 | 			#gpio-cells = <2>; | 
 | 			ngpios = <32>; | 
 | 			status = "disabled"; | 
 | 		}; | 
 |  | 
 | 		gpio2: gpio@20122000 { | 
 | 			compatible = "microchip,mpfs-gpio"; | 
 | 			reg = <0x20122000 0x1000>; | 
 | 			interrupt-parent = <&plic>; | 
 | 			interrupts = <53 1>; | 
 | 			interrupt-controller; | 
 | 			#interrupt-cells = <1>; | 
 | 			gpio-controller; | 
 | 			#gpio-cells = <2>; | 
 | 			ngpios = <32>; | 
 | 			status = "disabled"; | 
 | 		}; | 
 |  | 
 | 		i2c0: i2c@2010a000 { | 
 | 			compatible = "microchip,mpfs-i2c"; | 
 | 			reg = <0x2010a000 0x1000>; | 
 | 			interrupt-parent = <&plic>; | 
 | 			interrupts = <58 1>; | 
 | 			#address-cells = <1>; | 
 | 			#size-cells = <0>; | 
 | 			clock-frequency = <100000>; | 
 | 			status = "disabled"; | 
 | 		}; | 
 |  | 
 | 		i2c1: i2c@2010b000 { | 
 | 			compatible = "microchip,mpfs-i2c"; | 
 | 			reg = <0x2010b000 0x1000>; | 
 | 			interrupt-parent = <&plic>; | 
 | 			interrupts = <61 1>; | 
 | 			#address-cells = <1>; | 
 | 			#size-cells = <0>; | 
 | 			clock-frequency = <100000>; | 
 | 			status = "disabled"; | 
 | 		}; | 
 | 	}; | 
 | }; |