162306a36Sopenharmony_ci/*
262306a36Sopenharmony_ci * Device Tree Source for the Axis ARTPEC-6 SoC
362306a36Sopenharmony_ci *
462306a36Sopenharmony_ci * This file is dual-licensed: you can use it either under the terms
562306a36Sopenharmony_ci * of the GPL or the X11 license, at your option. Note that this dual
662306a36Sopenharmony_ci * licensing only applies to this file, and not this project as a
762306a36Sopenharmony_ci * whole.
862306a36Sopenharmony_ci *
962306a36Sopenharmony_ci *  a) This file is free software; you can redistribute it and/or
1062306a36Sopenharmony_ci *     modify it under the terms of the GNU General Public License as
1162306a36Sopenharmony_ci *     published by the Free Software Foundation; either version 2 of the
1262306a36Sopenharmony_ci *     License, or (at your option) any later version.
1362306a36Sopenharmony_ci *
1462306a36Sopenharmony_ci *     This file is distributed in the hope that it will be useful,
1562306a36Sopenharmony_ci *     but WITHOUT ANY WARRANTY; without even the implied warranty of
1662306a36Sopenharmony_ci *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1762306a36Sopenharmony_ci *     GNU General Public License for more details.
1862306a36Sopenharmony_ci *
1962306a36Sopenharmony_ci * Or, alternatively,
2062306a36Sopenharmony_ci *
2162306a36Sopenharmony_ci *  b) Permission is hereby granted, free of charge, to any person
2262306a36Sopenharmony_ci *     obtaining a copy of this software and associated documentation
2362306a36Sopenharmony_ci *     files (the "Software"), to deal in the Software without
2462306a36Sopenharmony_ci *     restriction, including without limitation the rights to use,
2562306a36Sopenharmony_ci *     copy, modify, merge, publish, distribute, sublicense, and/or
2662306a36Sopenharmony_ci *     sell copies of the Software, and to permit persons to whom the
2762306a36Sopenharmony_ci *     Software is furnished to do so, subject to the following
2862306a36Sopenharmony_ci *     conditions:
2962306a36Sopenharmony_ci *
3062306a36Sopenharmony_ci *     The above copyright notice and this permission notice shall be
3162306a36Sopenharmony_ci *     included in all copies or substantial portions of the Software.
3262306a36Sopenharmony_ci *
3362306a36Sopenharmony_ci *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
3462306a36Sopenharmony_ci *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
3562306a36Sopenharmony_ci *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
3662306a36Sopenharmony_ci *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
3762306a36Sopenharmony_ci *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
3862306a36Sopenharmony_ci *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
3962306a36Sopenharmony_ci *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
4062306a36Sopenharmony_ci *     OTHER DEALINGS IN THE SOFTWARE.
4162306a36Sopenharmony_ci */
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ci#include <dt-bindings/interrupt-controller/arm-gic.h>
4462306a36Sopenharmony_ci#include <dt-bindings/dma/nbpfaxi.h>
4562306a36Sopenharmony_ci#include <dt-bindings/clock/axis,artpec6-clkctrl.h>
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ci/ {
4862306a36Sopenharmony_ci	#address-cells = <1>;
4962306a36Sopenharmony_ci	#size-cells = <1>;
5062306a36Sopenharmony_ci	compatible = "axis,artpec6";
5162306a36Sopenharmony_ci	interrupt-parent = <&intc>;
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_ci	cpus {
5462306a36Sopenharmony_ci		#address-cells = <1>;
5562306a36Sopenharmony_ci		#size-cells = <0>;
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_ci		cpu0: cpu@0 {
5862306a36Sopenharmony_ci			device_type = "cpu";
5962306a36Sopenharmony_ci			compatible = "arm,cortex-a9";
6062306a36Sopenharmony_ci			reg = <0>;
6162306a36Sopenharmony_ci			next-level-cache = <&pl310>;
6262306a36Sopenharmony_ci		};
6362306a36Sopenharmony_ci
6462306a36Sopenharmony_ci		cpu1: cpu@1 {
6562306a36Sopenharmony_ci			device_type = "cpu";
6662306a36Sopenharmony_ci			compatible = "arm,cortex-a9";
6762306a36Sopenharmony_ci			reg = <1>;
6862306a36Sopenharmony_ci			next-level-cache = <&pl310>;
6962306a36Sopenharmony_ci		};
7062306a36Sopenharmony_ci	};
7162306a36Sopenharmony_ci
7262306a36Sopenharmony_ci	syscon: syscon@f8000000 {
7362306a36Sopenharmony_ci		compatible = "axis,artpec6-syscon", "syscon";
7462306a36Sopenharmony_ci		reg = <0xf8000000 0x48>;
7562306a36Sopenharmony_ci	};
7662306a36Sopenharmony_ci
7762306a36Sopenharmony_ci	psci {
7862306a36Sopenharmony_ci		compatible = "arm,psci-0.2", "arm,psci";
7962306a36Sopenharmony_ci		method = "smc";
8062306a36Sopenharmony_ci		psci_version = <0x84000000>;
8162306a36Sopenharmony_ci		cpu_on = <0x84000003>;
8262306a36Sopenharmony_ci		system_reset = <0x84000009>;
8362306a36Sopenharmony_ci	};
8462306a36Sopenharmony_ci
8562306a36Sopenharmony_ci	scu@faf00000 {
8662306a36Sopenharmony_ci		compatible = "arm,cortex-a9-scu";
8762306a36Sopenharmony_ci		reg = <0xfaf00000 0x58>;
8862306a36Sopenharmony_ci	};
8962306a36Sopenharmony_ci
9062306a36Sopenharmony_ci	/* Main external clock driving CPU and peripherals */
9162306a36Sopenharmony_ci	ext_clk: ext_clk {
9262306a36Sopenharmony_ci		#clock-cells = <0>;
9362306a36Sopenharmony_ci		compatible = "fixed-clock";
9462306a36Sopenharmony_ci		clock-frequency = <50000000>;
9562306a36Sopenharmony_ci	};
9662306a36Sopenharmony_ci
9762306a36Sopenharmony_ci	eth_phy_ref_clk: eth_phy_ref_clk {
9862306a36Sopenharmony_ci		#clock-cells = <0>;
9962306a36Sopenharmony_ci		compatible = "fixed-clock";
10062306a36Sopenharmony_ci		clock-frequency = <125000000>;
10162306a36Sopenharmony_ci	};
10262306a36Sopenharmony_ci
10362306a36Sopenharmony_ci	clkctrl: clkctrl@f8000000 {
10462306a36Sopenharmony_ci		#clock-cells = <1>;
10562306a36Sopenharmony_ci		compatible = "axis,artpec6-clkctrl";
10662306a36Sopenharmony_ci		reg = <0xf8000000 0x48>;
10762306a36Sopenharmony_ci		clocks = <&ext_clk>;
10862306a36Sopenharmony_ci		clock-names = "sys_refclk";
10962306a36Sopenharmony_ci	};
11062306a36Sopenharmony_ci
11162306a36Sopenharmony_ci	gtimer@faf00200 {
11262306a36Sopenharmony_ci		compatible = "arm,cortex-a9-global-timer";
11362306a36Sopenharmony_ci		reg = <0xfaf00200 0x20>;
11462306a36Sopenharmony_ci		interrupts = <GIC_PPI 11 0xf01>;
11562306a36Sopenharmony_ci		clocks = <&clkctrl ARTPEC6_CLK_CPU_PERIPH>;
11662306a36Sopenharmony_ci	};
11762306a36Sopenharmony_ci
11862306a36Sopenharmony_ci	timer@faf00600 {
11962306a36Sopenharmony_ci		compatible = "arm,cortex-a9-twd-timer";
12062306a36Sopenharmony_ci		reg = <0xfaf00600 0x20>;
12162306a36Sopenharmony_ci		interrupts = <GIC_PPI 13 0xf04>;
12262306a36Sopenharmony_ci		clocks = <&clkctrl ARTPEC6_CLK_CPU_PERIPH>;
12362306a36Sopenharmony_ci		status = "disabled";
12462306a36Sopenharmony_ci	};
12562306a36Sopenharmony_ci
12662306a36Sopenharmony_ci	intc: interrupt-controller@faf01000 {
12762306a36Sopenharmony_ci		interrupt-controller;
12862306a36Sopenharmony_ci		compatible = "arm,cortex-a9-gic";
12962306a36Sopenharmony_ci		#interrupt-cells = <3>;
13062306a36Sopenharmony_ci		reg = < 0xfaf01000 0x1000 >, < 0xfaf00100 0x0100 >;
13162306a36Sopenharmony_ci	};
13262306a36Sopenharmony_ci
13362306a36Sopenharmony_ci	pl310: cache-controller@faf10000 {
13462306a36Sopenharmony_ci		compatible = "arm,pl310-cache";
13562306a36Sopenharmony_ci		cache-unified;
13662306a36Sopenharmony_ci		cache-level = <2>;
13762306a36Sopenharmony_ci		reg = <0xfaf10000 0x1000>;
13862306a36Sopenharmony_ci		interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
13962306a36Sopenharmony_ci		arm,data-latency = <1 1 1>;
14062306a36Sopenharmony_ci		arm,tag-latency = <1 1 1>;
14162306a36Sopenharmony_ci		arm,filter-ranges = <0x0 0x80000000>;
14262306a36Sopenharmony_ci		arm,double-linefill = <1>;
14362306a36Sopenharmony_ci		arm,double-linefill-incr = <0>;
14462306a36Sopenharmony_ci		arm,double-linefill-wrap = <0>;
14562306a36Sopenharmony_ci		prefetch-data = <1>;
14662306a36Sopenharmony_ci		prefetch-instr = <1>;
14762306a36Sopenharmony_ci		arm,prefetch-offset = <0>;
14862306a36Sopenharmony_ci		arm,prefetch-drop = <1>;
14962306a36Sopenharmony_ci	};
15062306a36Sopenharmony_ci
15162306a36Sopenharmony_ci	pmu {
15262306a36Sopenharmony_ci		compatible = "arm,cortex-a9-pmu";
15362306a36Sopenharmony_ci		interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
15462306a36Sopenharmony_ci			<GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
15562306a36Sopenharmony_ci		interrupt-affinity = <&cpu0>, <&cpu1>;
15662306a36Sopenharmony_ci	};
15762306a36Sopenharmony_ci
15862306a36Sopenharmony_ci	/*
15962306a36Sopenharmony_ci	 * Both pci nodes cannot be enabled at the same time,
16062306a36Sopenharmony_ci	 * leave the unwanted node as disabled.
16162306a36Sopenharmony_ci	 */
16262306a36Sopenharmony_ci	pcie: pcie@f8050000 {
16362306a36Sopenharmony_ci		compatible = "axis,artpec6-pcie", "snps,dw-pcie";
16462306a36Sopenharmony_ci		reg = <0xf8050000 0x2000
16562306a36Sopenharmony_ci		       0xf8040000 0x1000
16662306a36Sopenharmony_ci		       0xc0000000 0x2000>;
16762306a36Sopenharmony_ci		reg-names = "dbi", "phy", "config";
16862306a36Sopenharmony_ci		#address-cells = <3>;
16962306a36Sopenharmony_ci		#size-cells = <2>;
17062306a36Sopenharmony_ci		device_type = "pci";
17162306a36Sopenharmony_ci			  /* downstream I/O */
17262306a36Sopenharmony_ci		ranges = <0x81000000 0 0 0xc0002000 0 0x00010000
17362306a36Sopenharmony_ci			  /* non-prefetchable memory */
17462306a36Sopenharmony_ci			  0x82000000 0 0xc0012000 0xc0012000 0 0x1ffee000>;
17562306a36Sopenharmony_ci		num-lanes = <2>;
17662306a36Sopenharmony_ci		bus-range = <0x00 0xff>;
17762306a36Sopenharmony_ci		interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
17862306a36Sopenharmony_ci		interrupt-names = "msi";
17962306a36Sopenharmony_ci		#interrupt-cells = <1>;
18062306a36Sopenharmony_ci		interrupt-map-mask = <0 0 0 0x7>;
18162306a36Sopenharmony_ci		interrupt-map = <0 0 0 1 &intc GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>,
18262306a36Sopenharmony_ci				<0 0 0 2 &intc GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
18362306a36Sopenharmony_ci				<0 0 0 3 &intc GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>,
18462306a36Sopenharmony_ci				<0 0 0 4 &intc GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>;
18562306a36Sopenharmony_ci		axis,syscon-pcie = <&syscon>;
18662306a36Sopenharmony_ci		status = "disabled";
18762306a36Sopenharmony_ci	};
18862306a36Sopenharmony_ci
18962306a36Sopenharmony_ci	pcie_ep: pcie_ep@f8050000 {
19062306a36Sopenharmony_ci		compatible = "axis,artpec6-pcie-ep", "snps,dw-pcie";
19162306a36Sopenharmony_ci		reg = <0xf8050000 0x2000
19262306a36Sopenharmony_ci		       0xf8051000 0x2000
19362306a36Sopenharmony_ci		       0xf8040000 0x1000
19462306a36Sopenharmony_ci		       0xc0000000 0x20000000>;
19562306a36Sopenharmony_ci		reg-names = "dbi", "dbi2", "phy", "addr_space";
19662306a36Sopenharmony_ci		num-ib-windows = <6>;
19762306a36Sopenharmony_ci		num-ob-windows = <2>;
19862306a36Sopenharmony_ci		num-lanes = <2>;
19962306a36Sopenharmony_ci		axis,syscon-pcie = <&syscon>;
20062306a36Sopenharmony_ci		status = "disabled";
20162306a36Sopenharmony_ci	};
20262306a36Sopenharmony_ci
20362306a36Sopenharmony_ci	pinctrl: pinctrl@f801d000 {
20462306a36Sopenharmony_ci		compatible = "axis,artpec6-pinctrl";
20562306a36Sopenharmony_ci		reg = <0xf801d000 0x400>;
20662306a36Sopenharmony_ci
20762306a36Sopenharmony_ci		pinctrl_uart0: uart0grp {
20862306a36Sopenharmony_ci			function = "uart0";
20962306a36Sopenharmony_ci			groups = "uart0grp2";
21062306a36Sopenharmony_ci			bias-pull-up;
21162306a36Sopenharmony_ci		};
21262306a36Sopenharmony_ci		pinctrl_uart1: uart1grp {
21362306a36Sopenharmony_ci			function = "uart1";
21462306a36Sopenharmony_ci			groups = "uart1grp0";
21562306a36Sopenharmony_ci			bias-pull-up;
21662306a36Sopenharmony_ci		};
21762306a36Sopenharmony_ci		pinctrl_uart2: uart2grp {
21862306a36Sopenharmony_ci			function = "uart2";
21962306a36Sopenharmony_ci			groups = "uart2grp1";
22062306a36Sopenharmony_ci			bias-pull-up;
22162306a36Sopenharmony_ci		};
22262306a36Sopenharmony_ci		pinctrl_uart3: uart3grp {
22362306a36Sopenharmony_ci			function = "uart3";
22462306a36Sopenharmony_ci			groups = "uart3grp0";
22562306a36Sopenharmony_ci			bias-pull-up;
22662306a36Sopenharmony_ci		};
22762306a36Sopenharmony_ci	};
22862306a36Sopenharmony_ci
22962306a36Sopenharmony_ci	amba@0 {
23062306a36Sopenharmony_ci		compatible = "simple-bus";
23162306a36Sopenharmony_ci		#address-cells = <0x1>;
23262306a36Sopenharmony_ci		#size-cells = <0x1>;
23362306a36Sopenharmony_ci		ranges;
23462306a36Sopenharmony_ci		dma-ranges;
23562306a36Sopenharmony_ci
23662306a36Sopenharmony_ci		crypto@f4264000 {
23762306a36Sopenharmony_ci			compatible = "axis,artpec6-crypto";
23862306a36Sopenharmony_ci			reg = <0xf4264000 0x4000>;
23962306a36Sopenharmony_ci			interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
24062306a36Sopenharmony_ci		};
24162306a36Sopenharmony_ci
24262306a36Sopenharmony_ci		dma0: dma@f8019000 {
24362306a36Sopenharmony_ci			compatible = "renesas,nbpfaxi64dmac8b16";
24462306a36Sopenharmony_ci			reg = <0xf8019000 0x400>;
24562306a36Sopenharmony_ci			interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>, /* error */
24662306a36Sopenharmony_ci				     <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>,
24762306a36Sopenharmony_ci				     <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>,
24862306a36Sopenharmony_ci				     <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>,
24962306a36Sopenharmony_ci				     <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>,
25062306a36Sopenharmony_ci				     <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>,
25162306a36Sopenharmony_ci				     <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>,
25262306a36Sopenharmony_ci				     <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>,
25362306a36Sopenharmony_ci				     <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
25462306a36Sopenharmony_ci			interrupt-names = "error",
25562306a36Sopenharmony_ci					  "ch0", "ch1", "ch2", "ch3",
25662306a36Sopenharmony_ci					  "ch4", "ch5", "ch6", "ch7",
25762306a36Sopenharmony_ci					  "ch8", "ch9", "ch10", "ch12",
25862306a36Sopenharmony_ci					  "ch12", "ch13", "ch14", "ch15";
25962306a36Sopenharmony_ci			clocks = <&clkctrl ARTPEC6_CLK_DMA_ACLK>;
26062306a36Sopenharmony_ci			#dma-cells = <2>;
26162306a36Sopenharmony_ci			dma-channels = <8>;
26262306a36Sopenharmony_ci			dma-requests = <8>;
26362306a36Sopenharmony_ci		};
26462306a36Sopenharmony_ci		dma1: dma@f8019400 {
26562306a36Sopenharmony_ci			compatible = "renesas,nbpfaxi64dmac8b16";
26662306a36Sopenharmony_ci			reg = <0xf8019400 0x400>;
26762306a36Sopenharmony_ci			interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>, /* error */
26862306a36Sopenharmony_ci				     <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
26962306a36Sopenharmony_ci				     <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>,
27062306a36Sopenharmony_ci				     <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>,
27162306a36Sopenharmony_ci				     <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>,
27262306a36Sopenharmony_ci				     <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>,
27362306a36Sopenharmony_ci				     <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>,
27462306a36Sopenharmony_ci				     <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>,
27562306a36Sopenharmony_ci				     <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
27662306a36Sopenharmony_ci			interrupt-names = "error",
27762306a36Sopenharmony_ci					  "ch0", "ch1", "ch2", "ch3",
27862306a36Sopenharmony_ci					  "ch4", "ch5", "ch6", "ch7",
27962306a36Sopenharmony_ci					  "ch8", "ch9", "ch10", "ch12",
28062306a36Sopenharmony_ci					  "ch12", "ch13", "ch14", "ch15";
28162306a36Sopenharmony_ci			clocks = <&clkctrl ARTPEC6_CLK_DMA_ACLK>;
28262306a36Sopenharmony_ci			#dma-cells = <2>;
28362306a36Sopenharmony_ci			dma-channels = <8>;
28462306a36Sopenharmony_ci			dma-requests = <8>;
28562306a36Sopenharmony_ci		};
28662306a36Sopenharmony_ci
28762306a36Sopenharmony_ci		ethernet: ethernet@f8010000 {
28862306a36Sopenharmony_ci			clock-names = "stmmaceth", "ptp_ref";
28962306a36Sopenharmony_ci			clocks = <&clkctrl ARTPEC6_CLK_ETH_ACLK>,
29062306a36Sopenharmony_ci				<&clkctrl ARTPEC6_CLK_PTP_REF>;
29162306a36Sopenharmony_ci			compatible = "snps,dwmac-4.10a", "snps,dwmac";
29262306a36Sopenharmony_ci			interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
29362306a36Sopenharmony_ci				     <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
29462306a36Sopenharmony_ci			interrupt-names = "macirq", "eth_lpi";
29562306a36Sopenharmony_ci			reg = <0xf8010000 0x4000>;
29662306a36Sopenharmony_ci
29762306a36Sopenharmony_ci			snps,axi-config = <&stmmac_axi_setup>;
29862306a36Sopenharmony_ci			snps,mtl-rx-config = <&mtl_rx_setup>;
29962306a36Sopenharmony_ci			snps,mtl-tx-config = <&mtl_tx_setup>;
30062306a36Sopenharmony_ci
30162306a36Sopenharmony_ci			snps,txpbl = <8>;
30262306a36Sopenharmony_ci			snps,rxpbl = <2>;
30362306a36Sopenharmony_ci			snps,aal;
30462306a36Sopenharmony_ci			snps,tso;
30562306a36Sopenharmony_ci
30662306a36Sopenharmony_ci			status = "disabled";
30762306a36Sopenharmony_ci
30862306a36Sopenharmony_ci			stmmac_axi_setup: stmmac-axi-config {
30962306a36Sopenharmony_ci				snps,wr_osr_lmt = <1>;
31062306a36Sopenharmony_ci				snps,rd_osr_lmt = <15>;
31162306a36Sopenharmony_ci				/* If FB is disabled, the AXI master chooses
31262306a36Sopenharmony_ci				 * a burst length of any value less than the
31362306a36Sopenharmony_ci				 * maximum enabled burst length
31462306a36Sopenharmony_ci				 * (all lesser burst length enables are redundant).
31562306a36Sopenharmony_ci				 */
31662306a36Sopenharmony_ci				snps,blen = <0 0 0 0 16 0 0>;
31762306a36Sopenharmony_ci			};
31862306a36Sopenharmony_ci
31962306a36Sopenharmony_ci			mtl_rx_setup: rx-queues-config {
32062306a36Sopenharmony_ci				snps,rx-queues-to-use = <1>;
32162306a36Sopenharmony_ci				queue0 {};
32262306a36Sopenharmony_ci			};
32362306a36Sopenharmony_ci
32462306a36Sopenharmony_ci			mtl_tx_setup: tx-queues-config {
32562306a36Sopenharmony_ci				snps,tx-queues-to-use = <2>;
32662306a36Sopenharmony_ci				queue0 {};
32762306a36Sopenharmony_ci				queue1 {};
32862306a36Sopenharmony_ci			};
32962306a36Sopenharmony_ci		};
33062306a36Sopenharmony_ci
33162306a36Sopenharmony_ci		uart0: serial@f8036000 {
33262306a36Sopenharmony_ci			compatible = "arm,pl011", "arm,primecell";
33362306a36Sopenharmony_ci			reg = <0xf8036000 0x1000>;
33462306a36Sopenharmony_ci			interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
33562306a36Sopenharmony_ci			clocks = <&clkctrl ARTPEC6_CLK_UART_REFCLK>,
33662306a36Sopenharmony_ci				<&clkctrl ARTPEC6_CLK_UART_PCLK>;
33762306a36Sopenharmony_ci			clock-names = "uart_clk", "apb_pclk";
33862306a36Sopenharmony_ci			pinctrl-names = "default";
33962306a36Sopenharmony_ci			pinctrl-0 = <&pinctrl_uart0>;
34062306a36Sopenharmony_ci			dmas = <&dma0 4 (NBPF_SLAVE_RQ_HIGH | NBPF_SLAVE_RQ_LEVEL)>,
34162306a36Sopenharmony_ci			       <&dma0 5 (NBPF_SLAVE_RQ_HIGH | NBPF_SLAVE_RQ_LEVEL)>;
34262306a36Sopenharmony_ci			dma-names = "rx", "tx";
34362306a36Sopenharmony_ci			status = "disabled";
34462306a36Sopenharmony_ci		};
34562306a36Sopenharmony_ci		uart1: serial@f8037000 {
34662306a36Sopenharmony_ci			compatible = "arm,pl011", "arm,primecell";
34762306a36Sopenharmony_ci			reg = <0xf8037000 0x1000>;
34862306a36Sopenharmony_ci			interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
34962306a36Sopenharmony_ci			clocks = <&clkctrl ARTPEC6_CLK_UART_REFCLK>,
35062306a36Sopenharmony_ci				<&clkctrl ARTPEC6_CLK_UART_PCLK>;
35162306a36Sopenharmony_ci			clock-names = "uart_clk", "apb_pclk";
35262306a36Sopenharmony_ci			pinctrl-names = "default";
35362306a36Sopenharmony_ci			pinctrl-0 = <&pinctrl_uart1>;
35462306a36Sopenharmony_ci			dmas = <&dma0 6 (NBPF_SLAVE_RQ_HIGH | NBPF_SLAVE_RQ_LEVEL)>,
35562306a36Sopenharmony_ci			       <&dma0 7 (NBPF_SLAVE_RQ_HIGH | NBPF_SLAVE_RQ_LEVEL)>;
35662306a36Sopenharmony_ci			dma-names = "rx", "tx";
35762306a36Sopenharmony_ci			status = "disabled";
35862306a36Sopenharmony_ci		};
35962306a36Sopenharmony_ci		uart2: serial@f8038000 {
36062306a36Sopenharmony_ci			compatible = "arm,pl011", "arm,primecell";
36162306a36Sopenharmony_ci			reg = <0xf8038000 0x1000>;
36262306a36Sopenharmony_ci			interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
36362306a36Sopenharmony_ci			clocks = <&clkctrl ARTPEC6_CLK_UART_REFCLK>,
36462306a36Sopenharmony_ci				<&clkctrl ARTPEC6_CLK_UART_PCLK>;
36562306a36Sopenharmony_ci			clock-names = "uart_clk", "apb_pclk";
36662306a36Sopenharmony_ci			pinctrl-names = "default";
36762306a36Sopenharmony_ci			pinctrl-0 = <&pinctrl_uart2>;
36862306a36Sopenharmony_ci			dmas = <&dma1 0 (NBPF_SLAVE_RQ_HIGH | NBPF_SLAVE_RQ_LEVEL)>,
36962306a36Sopenharmony_ci			       <&dma1 1 (NBPF_SLAVE_RQ_HIGH | NBPF_SLAVE_RQ_LEVEL)>;
37062306a36Sopenharmony_ci			dma-names = "rx", "tx";
37162306a36Sopenharmony_ci			status = "disabled";
37262306a36Sopenharmony_ci		};
37362306a36Sopenharmony_ci		uart3: serial@f8039000 {
37462306a36Sopenharmony_ci			compatible = "arm,pl011", "arm,primecell";
37562306a36Sopenharmony_ci			reg = <0xf8039000 0x1000>;
37662306a36Sopenharmony_ci			interrupts = <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>;
37762306a36Sopenharmony_ci			clocks = <&clkctrl ARTPEC6_CLK_UART_REFCLK>,
37862306a36Sopenharmony_ci				<&clkctrl ARTPEC6_CLK_UART_PCLK>;
37962306a36Sopenharmony_ci			clock-names = "uart_clk", "apb_pclk";
38062306a36Sopenharmony_ci			pinctrl-names = "default";
38162306a36Sopenharmony_ci			pinctrl-0 = <&pinctrl_uart3>;
38262306a36Sopenharmony_ci			dmas = <&dma1 2 (NBPF_SLAVE_RQ_HIGH | NBPF_SLAVE_RQ_LEVEL)>,
38362306a36Sopenharmony_ci			       <&dma1 3 (NBPF_SLAVE_RQ_HIGH | NBPF_SLAVE_RQ_LEVEL)>;
38462306a36Sopenharmony_ci			dma-names = "rx", "tx";
38562306a36Sopenharmony_ci			status = "disabled";
38662306a36Sopenharmony_ci		};
38762306a36Sopenharmony_ci	};
38862306a36Sopenharmony_ci};
389