EA8500 has pcie2 slot unequipped.
By EA8500 hw design default pcie2 reset gpio (gpio63) is used to
reset the switch. That's why enabling pcie2 brings the switch into
a working state.
So let's just control the gpio63 without enabling the pcie2 slot.
We have to remove the pcie2_pins node so the gpio63 is not defined
twice. Because pcie2 node has a reference to pcie2_pins we have to
remove it as well.
Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
[slh: rebase for kernel v4.14 as well]
Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
(cherry picked from commit
7f694ef3d9f1121c03935c330093c594b8437098)
soc {
pinmux@800000 {
+
+ pinctrl-0 = <&switch_reset>;
+ pinctrl-names = "default";
+
button_pins: button_pins {
mux {
pins = "gpio65", "gpio67", "gpio68";
};
};
+ switch_reset: switch_reset_pins {
+ mux {
+ pins = "gpio63";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ output-low;
+ };
+ };
+
mdio0_pins: mdio0_pins {
mux {
pins = "gpio0", "gpio1";
status = "ok";
};
- pcie2: pci@1b900000 {
- status = "ok";
- };
-
nand@1ac00000 {
status = "ok";
};
};
};
+
+/delete-node/ &pcie2_pins;
+/delete-node/ &pcie2;
+
soc {
pinmux@800000 {
+
+ pinctrl-0 = <&switch_reset>;
+ pinctrl-names = "default";
+
button_pins: button_pins {
mux {
pins = "gpio65", "gpio67", "gpio68";
};
};
+ switch_reset: switch_reset_pins {
+ mux {
+ pins = "gpio63";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ output-low;
+ };
+ };
+
mdio0_pins: mdio0_pins {
mux {
pins = "gpio0", "gpio1";
status = "ok";
};
- pcie2: pci@1b900000 {
- status = "ok";
- };
-
nand@1ac00000 {
status = "ok";
};
};
};
+
+/delete-node/ &pcie2_pins;
+/delete-node/ &pcie2;
+