summaryrefslogtreecommitdiffstats
path: root/arch/arm64/boot/dts/nvidia/t18x/tegra186-soc/tegra186-soc-eqos.dtsi
blob: 774dabb5c829f289a856417f3d078d30313d565e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
/*
 * tegra186-soc-eqos.dtsi: Ethernet QOS DTSI file.
 *
 * Copyright (c) 2014-2016, NVIDIA CORPORATION.  All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; version 2 of the License.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
 * more details.
 *
 * You should have received a copy of the GNU General Public License along
 * with this program; if not, write to the Free Software Foundation, Inc.,
 * 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 *
 */


#define MAKE_EQOS_TRIP(name, temp, hyst) \
	eqos_##name: eqos-##name@temp { \
		temperature = <(temp)>; \
		hysteresis = <hyst>; \
		type = "active"; \
	}

#define MAP_EQOS(name, state) \
	map_eqos_##name { \
		trip = <&eqos_##name>; \
		cooling-device = <&eqos_cool_dev state state>; \
		cdev-type = "tegra-eqos"; \
	}


/ {
        ether_qos@2490000 {
                compatible = "nvidia,eqos";
                reg = <0x0 0x02490000 0x0 0x10000        /* EQOS Base Register */
		       0x0 0x02439000 0x0 0x00000074>;   /* PADS registers */
		reg-names = "eqos_base", "eqos_pads";
		interrupts = 	<0 194 0x4>,	/* common */
				<0 195 0x4>,	/* power */
				<0 190 0x4>,	/* rx0 */
				<0 186 0x4>,	/* tx0 */
				<0 191 0x4>,	/* rx1 */
				<0 187 0x4>,	/* tx1 */
				<0 192 0x4>,	/* rx2 */
				<0 188 0x4>,	/* tx2 */
				<0 193 0x4>,	/* rx3 */
				<0 189 0x4>;	/* tx3 */
		nvidia,csr_clock_speed = <0x19>; /* CSR clock speed 25MHz */
		nvidia,iso_bw = <81920>; /* sum of read and write bw, 80Mb/s */
		/* bootloader should update MAC address */
		nvidia,local-mac-address = <0x00 0x00 0x00 0x00 0x00 0x00>;
		clocks = <&tegra_car TEGRA186_CLK_EQOS_AXI>,
			<&tegra_car TEGRA186_CLK_EQOS_RX>,
			<&tegra_car TEGRA186_CLK_EQOS_PTP_REF>,
			<&tegra_car TEGRA186_CLK_EQOS_TX>,
			<&tegra_car TEGRA186_CLK_AXI_CBB>;
		clock-names = "eqos_axi", "eqos_rx", "eqos_ptp_ref", "eqos_tx", "axi_cbb";
		resets = <&tegra_car TEGRA186_RESET_EQOS>;
		reset-names = "eqos_rst";
		#stream-id-cells = <1>;
		status = "disabled";
		eqos_cool_dev: eqos-cool-dev {
			cooling-min-state = <0>;
			cooling-max-state = <5>;
			#cooling-cells = <2>;
		};
        };

        ether_qos_virt_test@2490000 {
		compatible = "synopsys,dwc_eqos_virt_test";
		reg = <0x0 0x02490000 0x0 0x10000
			0x0 0x024a0000 0x0 0x10000>;
		status = "disabled";
        };

};