mirror of
https://github.com/torvalds/linux.git
synced 2024-12-25 12:21:37 +00:00
3272dd9b0f
When the mdio-gpio driver is probed via device trees, the platform device id is set as -1, However the pdev->id is re-used as bus-id for while creating mdio gpio bus. So For device tree case the mdio-gpio bus name appears as "gpio-ffffffff" where as for non-device tree case the bus name appears as "gpio-<bus-num>" Which means the bus_id is fixed in device tree case, so we can't have two mdio gpio buses via device trees. Assigning a logical bus number via device tree solves the problem and the bus name is much consistent with non-device tree bus name. Without this patch 1. we can't support two mdio-gpio buses via device trees. 2. we should always pass gpio-ffffffff as bus name to phy_connect, very different to non-device tree bus name. So, setting up the bus_id via aliases from device tree is the right solution and other drivers do similar thing. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@st.com> Signed-off-by: David S. Miller <davem@davemloft.net>
27 lines
485 B
Plaintext
27 lines
485 B
Plaintext
MDIO on GPIOs
|
|
|
|
Currently defined compatibles:
|
|
- virtual,gpio-mdio
|
|
|
|
MDC and MDIO lines connected to GPIO controllers are listed in the
|
|
gpios property as described in section VIII.1 in the following order:
|
|
|
|
MDC, MDIO.
|
|
|
|
Note: Each gpio-mdio bus should have an alias correctly numbered in "aliases"
|
|
node.
|
|
|
|
Example:
|
|
|
|
aliases {
|
|
mdio-gpio0 = <&mdio0>;
|
|
};
|
|
|
|
mdio0: mdio {
|
|
compatible = "virtual,mdio-gpio";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
gpios = <&qe_pio_a 11
|
|
&qe_pio_c 6>;
|
|
};
|