[PATCH] Adding architectural support for HPE's GXP BMC. This is the first of a series of patches to support HPE's BMC with Linux Kernel.

Andrew Lunn andrew at lunn.ch
Tue Jan 25 14:30:59 PST 2022


> +		mdio0: mdio at c0004080 {
> +			compatible = "hpe,gxp-umac-mdio";
> +			reg = <0xc0004080 0x10>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			ext_phy0: ethernt-phy at 0 {
> +				compatible = "ethernet-phy-ieee802.3-c22";

c22 is the default, so you don't strictly need this.

> +				phy-mode = "sgmii";
> +				reg = <0>;
> +			};
> +		};
> +
> +		mdio1: mdio at c0005080 {
> +			compatible = "hpe,gxp-umac-mdio";
> +			reg = <0xc0005080 0x10>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			int_phy0: ethernt-phy at 0 {
> +				compatible = "ethernet-phy-ieee802.3-c22";
> +				phy-mode = "gmii";
> +				reg = <0>;
> +			};
> +			int_phy1: ethernt-phy at 1 {
> +				compatible = "ethernet-phy-ieee802.3-c22";
> +				phy-mode = "gmii";
> +				reg = <1>;
> +			};
> +		};
> +
> +		umac0: umac at c0004000 {
> +			compatible = "hpe, gxp-umac";

A space in a compatible? 

> +			reg = <0xc0004000 0x80>;
> +			interrupts = <10>;
> +			interrupt-parent = <&vic0>;
> +			mac-address = [94 18 82 16 04 d8];

That is pretty unusual. Normally you leave the bootloader to fill this
in with a per board MAC address. The danger with listing it here is
that you have multiple boards in the same network using this MAC
address, and then bad things happen.

> +			phy-handle = <&ext_phy0>;
> +			int-phy-handle = <&int_phy0>;

Two phy-handles? Some very odd going on here!

> +		xreg_kyes: xreg_keys {
> +			compatible = "gpio-keys-polled";
> +			poll-interval = <100>;
> +
> +			IdButton {
> +				label = "ID Button";
> +				linux,code = <200>;

include/dt-bindings/input/linux-event-codes.h 

However

#define KEY_PLAYCD              200

A BMC has a CD player? Maybe i have this wrong?

> +			PortOwner at 0 {
> +				label = "Port Owner";
> +				linux,code = <200>;
> +				gpios = <&gpio 250 1>;

Two CD players?

> +			};
> +
> +			PortOwner at 1 {
> +				label = "Port Owner";
> +				linux,code = <201>;

#define KEY_PAUSECD             201

And you can pause the second player?

    Andrew



More information about the linux-arm-kernel mailing list