mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-09-04 20:03:20 +09:00
83 lines
1.8 KiB
Plaintext
83 lines
1.8 KiB
Plaintext
![]() |
Device tree structures used by register based MDIO muxes is described here.
|
||
|
This binding is based on reg-mux.txt binding in Linux and is currently used by
|
||
|
mdio-mux-i2creg driver in U-Boot.
|
||
|
|
||
|
Required properties:
|
||
|
#mux-control-cells = <1> indicates how many registers are used for mux
|
||
|
selection. mux-reg-mask property described below must
|
||
|
include this number of pairs.
|
||
|
mux-reg-masks = <reg mask> describes pairs of register offset and register mask.
|
||
|
Register bits enabled in mask are set to the selection
|
||
|
value defined in reg property of child MDIOs to control
|
||
|
selection.
|
||
|
Properties described in mdio-mux.txt also apply.
|
||
|
|
||
|
Example structure, used on Freescale LS1028A QDS board:
|
||
|
|
||
|
&i2c0 {
|
||
|
status = "okay";
|
||
|
u-boot,dm-pre-reloc;
|
||
|
|
||
|
fpga@66 {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
compatible = "simple-mfd";
|
||
|
reg = <0x66>;
|
||
|
|
||
|
mux-mdio@54 {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
compatible = "mdio-mux-i2creg";
|
||
|
reg = <0x54>;
|
||
|
#mux-control-cells = <1>;
|
||
|
mux-reg-masks = <0x54 0xf0>;
|
||
|
mdio-parent-bus = <&mdio0>;
|
||
|
|
||
|
/* on-board MDIO with a single RGMII PHY */
|
||
|
mdio@00 {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
reg = <0x00>;
|
||
|
|
||
|
/* on-board 1G RGMII PHY */
|
||
|
qds_phy0: phy@5 {
|
||
|
reg = <5>;
|
||
|
};
|
||
|
};
|
||
|
/* card slot 1 */
|
||
|
mdio@40 {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
reg = <0x40>;
|
||
|
/* VSC8234 1G SGMII card */
|
||
|
sgmii_port0: phy@1c {
|
||
|
reg = <0x1c>;
|
||
|
};
|
||
|
};
|
||
|
/* card slot 2 */
|
||
|
mdio@50 {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
reg = <0x50>;
|
||
|
};
|
||
|
/* card slot 3 */
|
||
|
mdio@60 {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
reg = <0x60>;
|
||
|
};
|
||
|
/* card slot 4 */
|
||
|
mdio@70 {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
reg = <0x70>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
/* Parent MDIO, defined in SoC .dtsi file, just enabled here */
|
||
|
&mdio0 {
|
||
|
status = "okay";
|
||
|
};
|