realtek: rtl838x: Instantiate auxiliary MDIO bus
Add a disabled node for the auxiliary MDIO bus, used to manage the RTL8231 expanders. A simple-mfd parent node is added, at the same (implied) address as the switch@1b000000 node, as the switch drivers should anyway transistion to MFD subdivices at some point. Additionally, two pinctrl-single node are added to allow the MDX pins to be muxed correctly, in case the bootloader leaves these unconfigured. Signed-off-by: Sander Vanheule <sander@svanheule.net>
This commit is contained in:
parent
ae833c01b3
commit
92ae8cb16c
2 changed files with 57 additions and 1 deletions
|
@ -232,6 +232,42 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
switchcore@1b000000 {
|
||||||
|
compatible = "syscon", "simple-mfd";
|
||||||
|
reg = <0x1b000000 0x20000>;
|
||||||
|
|
||||||
|
mdio_aux: mdio-aux {
|
||||||
|
compatible = "realtek,rtl8380-aux-mdio";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
status = "disabled";
|
||||||
|
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&mdio_aux_mdx>, <&aux_mode_mdio>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
pinmux@1b000144 {
|
||||||
|
compatible = "pinctrl-single";
|
||||||
|
reg = <0x1b000144 0x4>;
|
||||||
|
|
||||||
|
pinctrl-single,bit-per-mux;
|
||||||
|
pinctrl-single,register-width = <32>;
|
||||||
|
pinctrl-single,function-mask = <0x1>;
|
||||||
|
#pinctrl-cells = <2>;
|
||||||
|
|
||||||
|
/* I2C mode */
|
||||||
|
aux_mode_i2c: i2c-pins {
|
||||||
|
pinctrl-single,bits = <0x0 0x0 0x1>;
|
||||||
|
};
|
||||||
|
|
||||||
|
/* MDIO mode */
|
||||||
|
aux_mode_mdio: mdx-pins {
|
||||||
|
pinctrl-single,bits = <0x0 0x1 0x1>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
pinmux: pinmux@1b001000 {
|
pinmux: pinmux@1b001000 {
|
||||||
compatible = "pinctrl-single";
|
compatible = "pinctrl-single";
|
||||||
reg = <0x1b001000 0x4>;
|
reg = <0x1b001000 0x4>;
|
||||||
|
@ -262,6 +298,26 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
pinmux@1b00a0e0 {
|
||||||
|
compatible = "pinctrl-single";
|
||||||
|
reg = <0x1b00a0e0 0x4>;
|
||||||
|
|
||||||
|
pinctrl-single,bit-per-mux;
|
||||||
|
pinctrl-single,register-width = <32>;
|
||||||
|
pinctrl-single,function-mask = <0x1>;
|
||||||
|
#pinctrl-cells = <2>;
|
||||||
|
|
||||||
|
/* Use SoC GPIO 2/3 as GPIO */
|
||||||
|
mdio_aux_gpio: gpio-pins {
|
||||||
|
pinctrl-single,bits = <0x0 0x0 0x1>;
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Use SoC GPIO 2/3 as MDC/MDIO */
|
||||||
|
mdio_aux_mdx: mdx-pins {
|
||||||
|
pinctrl-single,bits = <0x0 0x1 0x1>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
ethernet0: ethernet@1b00a300 {
|
ethernet0: ethernet@1b00a300 {
|
||||||
compatible = "realtek,rtl838x-eth";
|
compatible = "realtek,rtl838x-eth";
|
||||||
reg = <0x1b00a300 0x100>;
|
reg = <0x1b00a300 0x100>;
|
||||||
|
|
|
@ -130,7 +130,7 @@ CONFIG_MDIO_BUS=y
|
||||||
CONFIG_MDIO_DEVICE=y
|
CONFIG_MDIO_DEVICE=y
|
||||||
CONFIG_MDIO_DEVRES=y
|
CONFIG_MDIO_DEVRES=y
|
||||||
CONFIG_MDIO_I2C=y
|
CONFIG_MDIO_I2C=y
|
||||||
# CONFIG_MDIO_REALTEK_OTTO_AUX is not set
|
CONFIG_MDIO_REALTEK_OTTO_AUX=y
|
||||||
CONFIG_MDIO_SMBUS=y
|
CONFIG_MDIO_SMBUS=y
|
||||||
CONFIG_MFD_SYSCON=y
|
CONFIG_MFD_SYSCON=y
|
||||||
CONFIG_MIGRATION=y
|
CONFIG_MIGRATION=y
|
||||||
|
|
Loading…
Reference in a new issue