summaryrefslogtreecommitdiff
path: root/arch/arm64/boot/dts/marvell/armada-8040-mcbin.dts
blob: 2bf538d7aec61290834dd6dab0c5a82b289f5526 (plain)
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
82
83
84
85
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Copyright (C) 2016 Marvell Technology Group Ltd.
 *
 * Device Tree file for MACCHIATOBin Armada 8040 community board platform
 */

#include "armada-8040-mcbin.dtsi"

/ {
	model = "Marvell 8040 MACCHIATOBin Double-shot";
	compatible = "marvell,armada8040-mcbin-doubleshot",
			"marvell,armada8040-mcbin", "marvell,armada8040",
			"marvell,armada-ap806-quad", "marvell,armada-ap806";
};

&cp0_pinctrl {
	cp0_xg_mdio_pins: xg-mdio-pins {
		marvell,pins = "mpp42", "mpp43";
		marvell,function = "xg";
	};
	cp0_phy1_pins: phy1-pins { /* phy interrupt */
		marvell,pins = "mpp49";
		marvell,function = "gpio";
	};
	cp0_phy0_pins: phy0-pins { /* phy interrupt */
		marvell,pins = "mpp50";
		marvell,function = "gpio";
	};
};

&cp0_xmdio {
	pinctrl-names = "default";
	pinctrl-0 = <&cp0_xg_mdio_pins>;
	status = "okay";

	phy0: ethernet-phy@0 {
		compatible = "ethernet-phy-ieee802.3-c45";
		pinctrl-names = "default";
		pinctrl-0 = <&cp0_phy0_pins &cp1_phy0_pins>;
		/* should use in-band negotiation */
		reg = <0>;
		sfp = <&sfp_eth0>;
		interrupt-parent = <&cp0_gpio2>;
		interrupts = <18 IRQ_TYPE_LEVEL_LOW>;
		marvell,led-mode = /bits/ 16 <0x0129 0x095d 0x0855>;
	};

	phy8: ethernet-phy@8 {
		compatible = "ethernet-phy-ieee802.3-c45";
		pinctrl-names = "default";
		pinctrl-0 = <&cp0_phy1_pins &cp1_phy1_pins>;
		/* should use in-band negotiation */
		reg = <8>;
		sfp = <&sfp_eth1>;
		interrupt-parent = <&cp0_gpio2>;
		interrupts = <17 IRQ_TYPE_LEVEL_LOW>;
		marvell,led-mode = /bits/ 16 <0x0129 0x095d 0x0855>;
	};
};

&cp0_eth0 {
	status = "okay";
	/* Network PHY */
	phy = <&phy0>;
	phy-mode = "10gbase-r";
};

&cp1_eth0 {
	status = "okay";
	/* Network PHY */
	phy = <&phy8>;
	phy-mode = "10gbase-r";
};

&cp1_pinctrl {
	cp1_phy1_pins: phy1-pins { /* phy reset */
		marvell,pins = "mpp9";
		marvell,function = "gpio";
	};
	cp1_phy0_pins: phy0-pins { /* phy reset */
		marvell,pins = "mpp31";
		marvell,function = "gpio";
	};
};