162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-or-later
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * DTS file for SPEAr310 SoC
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Copyright 2012 Viresh Kumar <vireshk@kernel.org>
662306a36Sopenharmony_ci */
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci/include/ "spear3xx.dtsi"
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ci/ {
1162306a36Sopenharmony_ci	ahb {
1262306a36Sopenharmony_ci		#address-cells = <1>;
1362306a36Sopenharmony_ci		#size-cells = <1>;
1462306a36Sopenharmony_ci		compatible = "simple-bus";
1562306a36Sopenharmony_ci		ranges = <0x40000000 0x40000000 0x10000000
1662306a36Sopenharmony_ci			  0xb0000000 0xb0000000 0x10000000
1762306a36Sopenharmony_ci			  0xd0000000 0xd0000000 0x30000000>;
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ci		pinmux: pinmux@b4000000 {
2062306a36Sopenharmony_ci			compatible = "st,spear310-pinmux";
2162306a36Sopenharmony_ci			reg = <0xb4000000 0x1000>;
2262306a36Sopenharmony_ci			#gpio-range-cells = <3>;
2362306a36Sopenharmony_ci		};
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci		fsmc: flash@44000000 {
2662306a36Sopenharmony_ci			compatible = "st,spear600-fsmc-nand";
2762306a36Sopenharmony_ci			#address-cells = <1>;
2862306a36Sopenharmony_ci			#size-cells = <1>;
2962306a36Sopenharmony_ci			reg = <0x44000000 0x1000	/* FSMC Register */
3062306a36Sopenharmony_ci			       0x40000000 0x0010	/* NAND Base DATA */
3162306a36Sopenharmony_ci			       0x40020000 0x0010	/* NAND Base ADDR */
3262306a36Sopenharmony_ci			       0x40010000 0x0010>;	/* NAND Base CMD */
3362306a36Sopenharmony_ci			reg-names = "fsmc_regs", "nand_data", "nand_addr", "nand_cmd";
3462306a36Sopenharmony_ci			status = "disabled";
3562306a36Sopenharmony_ci		};
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ci		shirq: interrupt-controller@b4000000 {
3862306a36Sopenharmony_ci			compatible = "st,spear310-shirq";
3962306a36Sopenharmony_ci			reg = <0xb4000000 0x1000>;
4062306a36Sopenharmony_ci			interrupts = <28 29 30 1>;
4162306a36Sopenharmony_ci			#interrupt-cells = <1>;
4262306a36Sopenharmony_ci			interrupt-controller;
4362306a36Sopenharmony_ci		};
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ci		apb {
4662306a36Sopenharmony_ci			#address-cells = <1>;
4762306a36Sopenharmony_ci			#size-cells = <1>;
4862306a36Sopenharmony_ci			compatible = "simple-bus";
4962306a36Sopenharmony_ci			ranges = <0xb0000000 0xb0000000 0x10000000
5062306a36Sopenharmony_ci				  0xd0000000 0xd0000000 0x30000000>;
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_ci			serial@b2000000 {
5362306a36Sopenharmony_ci				compatible = "arm,pl011", "arm,primecell";
5462306a36Sopenharmony_ci				reg = <0xb2000000 0x1000>;
5562306a36Sopenharmony_ci				interrupts = <8>;
5662306a36Sopenharmony_ci				interrupt-parent = <&shirq>;
5762306a36Sopenharmony_ci				status = "disabled";
5862306a36Sopenharmony_ci			};
5962306a36Sopenharmony_ci
6062306a36Sopenharmony_ci			serial@b2080000 {
6162306a36Sopenharmony_ci				compatible = "arm,pl011", "arm,primecell";
6262306a36Sopenharmony_ci				reg = <0xb2080000 0x1000>;
6362306a36Sopenharmony_ci				interrupts = <9>;
6462306a36Sopenharmony_ci				interrupt-parent = <&shirq>;
6562306a36Sopenharmony_ci				status = "disabled";
6662306a36Sopenharmony_ci			};
6762306a36Sopenharmony_ci
6862306a36Sopenharmony_ci			serial@b2100000 {
6962306a36Sopenharmony_ci				compatible = "arm,pl011", "arm,primecell";
7062306a36Sopenharmony_ci				reg = <0xb2100000 0x1000>;
7162306a36Sopenharmony_ci				interrupts = <10>;
7262306a36Sopenharmony_ci				interrupt-parent = <&shirq>;
7362306a36Sopenharmony_ci				status = "disabled";
7462306a36Sopenharmony_ci			};
7562306a36Sopenharmony_ci
7662306a36Sopenharmony_ci			serial@b2180000 {
7762306a36Sopenharmony_ci				compatible = "arm,pl011", "arm,primecell";
7862306a36Sopenharmony_ci				reg = <0xb2180000 0x1000>;
7962306a36Sopenharmony_ci				interrupts = <11>;
8062306a36Sopenharmony_ci				interrupt-parent = <&shirq>;
8162306a36Sopenharmony_ci				status = "disabled";
8262306a36Sopenharmony_ci			};
8362306a36Sopenharmony_ci
8462306a36Sopenharmony_ci			serial@b2200000 {
8562306a36Sopenharmony_ci				compatible = "arm,pl011", "arm,primecell";
8662306a36Sopenharmony_ci				reg = <0xb2200000 0x1000>;
8762306a36Sopenharmony_ci				interrupts = <12>;
8862306a36Sopenharmony_ci				interrupt-parent = <&shirq>;
8962306a36Sopenharmony_ci				status = "disabled";
9062306a36Sopenharmony_ci			};
9162306a36Sopenharmony_ci
9262306a36Sopenharmony_ci			gpiopinctrl: gpio@b4000000 {
9362306a36Sopenharmony_ci				compatible = "st,spear-plgpio";
9462306a36Sopenharmony_ci				reg = <0xb4000000 0x1000>;
9562306a36Sopenharmony_ci				regmap = <&pinmux>;
9662306a36Sopenharmony_ci				#interrupt-cells = <1>;
9762306a36Sopenharmony_ci				interrupt-controller;
9862306a36Sopenharmony_ci				gpio-controller;
9962306a36Sopenharmony_ci				#gpio-cells = <2>;
10062306a36Sopenharmony_ci				gpio-ranges = <&pinmux 0 0 102>;
10162306a36Sopenharmony_ci				status = "disabled";
10262306a36Sopenharmony_ci
10362306a36Sopenharmony_ci				st-plgpio,ngpio = <102>;
10462306a36Sopenharmony_ci				st-plgpio,enb-reg = <0x10>;
10562306a36Sopenharmony_ci				st-plgpio,wdata-reg = <0x20>;
10662306a36Sopenharmony_ci				st-plgpio,dir-reg = <0x30>;
10762306a36Sopenharmony_ci				st-plgpio,ie-reg = <0x50>;
10862306a36Sopenharmony_ci				st-plgpio,rdata-reg = <0x40>;
10962306a36Sopenharmony_ci				st-plgpio,mis-reg = <0x60>;
11062306a36Sopenharmony_ci			};
11162306a36Sopenharmony_ci		};
11262306a36Sopenharmony_ci	};
11362306a36Sopenharmony_ci};
114