Commit 0ccdd60e authored by Tao Ren's avatar Tao Ren Committed by Joel Stanley
Browse files

ARM: dts: aspeed: Add Facebook Cloudripper (AST2600) BMC



Add initial version of device tree for Facebook Cloudripper (AST2600) BMC.

Cloudripper is Facebook's next generation switch platform with an AST2600
BMC integrated for health monitoring purpose.

Signed-off-by: default avatarTao Ren <rentao.bupt@gmail.com>
Signed-off-by: default avatarJoel Stanley <joel@jms.id.au>
Link: https://lore.kernel.org/r/20210805222818.8391-5-rentao.bupt@gmail.com


Signed-off-by: default avatarJoel Stanley <joel@jms.id.au>
parent 0c6881e8
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -1433,6 +1433,7 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
	aspeed-bmc-arm-stardragon4800-rep2.dtb \
	aspeed-bmc-asrock-e3c246d4i.dtb \
	aspeed-bmc-bytedance-g220a.dtb \
	aspeed-bmc-facebook-cloudripper.dtb \
	aspeed-bmc-facebook-cmm.dtb \
	aspeed-bmc-facebook-galaxy100.dtb \
	aspeed-bmc-facebook-minipack.dtb \
+539 −0
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0+
// Copyright (c) 2020 Facebook Inc.

/dts-v1/;

#include <dt-bindings/leds/common.h>
#include "ast2600-facebook-netbmc-common.dtsi"

/ {
	model = "Facebook Cloudripper BMC";
	compatible = "facebook,cloudripper-bmc", "aspeed,ast2600";

	aliases {
		/*
		 * PCA9548 (1-0070) provides 8 channels connecting to
		 * SMB (Switch Main Board).
		 */
		i2c16 = &imux16;
		i2c17 = &imux17;
		i2c18 = &imux18;
		i2c19 = &imux19;
		i2c20 = &imux20;
		i2c21 = &imux21;
		i2c22 = &imux22;
		i2c23 = &imux23;

		/*
		 * PCA9548 (2-0070) provides 8 channels connecting to
		 * SCM (System Controller Module).
		 */
		i2c24 = &imux24;
		i2c25 = &imux25;
		i2c26 = &imux26;
		i2c27 = &imux27;
		i2c28 = &imux28;
		i2c29 = &imux29;
		i2c30 = &imux30;
		i2c31 = &imux31;

		/*
		 * PCA9548 (3-0070) provides 8 channels connecting to
		 * SMB (Switch Main Board).
		 */
		i2c32 = &imux32;
		i2c33 = &imux33;
		i2c34 = &imux34;
		i2c35 = &imux35;
		i2c36 = &imux36;
		i2c37 = &imux37;
		i2c38 = &imux38;
		i2c39 = &imux39;

		/*
		 * PCA9548 (8-0070) provides 8 channels connecting to
		 * PDB (Power Delivery Board).
		 */
		i2c40 = &imux40;
		i2c41 = &imux41;
		i2c42 = &imux42;
		i2c43 = &imux43;
		i2c44 = &imux44;
		i2c45 = &imux45;
		i2c46 = &imux46;
		i2c47 = &imux47;

		/*
		 * PCA9548 (15-0076) provides 8 channels connecting to
		 * FCM (Fan Controller Module).
		 */
		i2c48 = &imux48;
		i2c49 = &imux49;
		i2c50 = &imux50;
		i2c51 = &imux51;
		i2c52 = &imux52;
		i2c53 = &imux53;
		i2c54 = &imux54;
		i2c55 = &imux55;
	};

	spi_gpio: spi-gpio {
		num-chipselects = <2>;
		cs-gpios = <&gpio0 ASPEED_GPIO(X, 0) GPIO_ACTIVE_LOW>,
			   <&gpio0 ASPEED_GPIO(X, 1) GPIO_ACTIVE_HIGH>;

		eeprom@1 {
			compatible = "atmel,at93c46d";
			spi-max-frequency = <250000>;
			data-size = <16>;
			spi-cs-high;
			reg = <1>;
		};
	};
};

&ehci1 {
	status = "okay";
};

&mdio1 {
	status = "okay";
};

&mdio3 {
	status = "okay";

	ethphy1: ethernet-phy@13 {
		compatible = "ethernet-phy-ieee802.3-c22";
		reg = <0x0d>;
	};
};

&mac3 {
	status = "okay";
	phy-mode = "rgmii";
	phy-handle = <&ethphy1>;
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_rgmii4_default>;
};

&i2c0 {
	multi-master;
	bus-frequency = <1000000>;
};

&i2c1 {
	/*
	 * PCA9548 (1-0070) provides 8 channels connecting to SMB (Switch
	 * Main Board).
	 */
	i2c-switch@70 {
		compatible = "nxp,pca9548";
		#address-cells = <1>;
		#size-cells = <0>;
		reg = <0x70>;
		i2c-mux-idle-disconnect;

		imux16: i2c@0 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0>;
		};

		imux17: i2c@1 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <1>;
		};

		imux18: i2c@2 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <2>;
		};

		imux19: i2c@3 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <3>;
		};

		imux20: i2c@4 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <4>;
		};

		imux21: i2c@5 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <5>;
		};

		imux22: i2c@6 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <6>;
		};

		imux23: i2c@7 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <7>;
		};
	};
};

&i2c2 {
	/*
	 * PCA9548 (2-0070) provides 8 channels connecting to SCM (System
	 * Controller Module).
	 */
	i2c-switch@70 {
		compatible = "nxp,pca9548";
		#address-cells = <1>;
		#size-cells = <0>;
		reg = <0x70>;
		i2c-mux-idle-disconnect;

		imux24: i2c@0 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0>;
		};

		imux25: i2c@1 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <1>;
		};

		imux26: i2c@2 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <2>;
		};

		imux27: i2c@3 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <3>;
		};

		imux28: i2c@4 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <4>;
		};

		imux29: i2c@5 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <5>;
		};

		imux30: i2c@6 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <6>;
		};

		imux31: i2c@7 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <7>;
		};
	};
};

&i2c3 {
	/*
	 * PCA9548 (3-0070) provides 8 channels connecting to SMB (Switch
	 * Main Board).
	 */
	i2c-switch@70 {
		compatible = "nxp,pca9548";
		#address-cells = <1>;
		#size-cells = <0>;
		reg = <0x70>;
		i2c-mux-idle-disconnect;

		imux32: i2c@0 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0>;
		};

		imux33: i2c@1 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <1>;
		};

		imux34: i2c@2 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <2>;
		};

		imux35: i2c@3 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <3>;
		};

		imux36: i2c@4 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <4>;
		};

		imux37: i2c@5 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <5>;
		};

		imux38: i2c@6 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <6>;
		};

		imux39: i2c@7 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <7>;
		};
	};
};

&i2c6 {
	lp5012@14 {
		compatible = "ti,lp5012";
		reg = <0x14>;
		#address-cells = <1>;
		#size-cells = <0>;

		multi-led@0 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0>;
			color = <LED_COLOR_ID_MULTI>;
			function = LED_FUNCTION_ACTIVITY;
			label = "sys";

			led@0 {
				reg = <0>;
				color = <LED_COLOR_ID_RED>;
			};

			led@1 {
				reg = <1>;
				color = <LED_COLOR_ID_BLUE>;
			};

			led@2 {
				reg = <2>;
				color = <LED_COLOR_ID_GREEN>;
			};
		};

		multi-led@1 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <1>;
			color = <LED_COLOR_ID_MULTI>;
			function = LED_FUNCTION_ACTIVITY;
			label = "fan";

			led@0 {
				reg = <0>;
				color = <LED_COLOR_ID_RED>;
			};

			led@1 {
				reg = <1>;
				color = <LED_COLOR_ID_BLUE>;
			};

			led@2 {
				reg = <2>;
				color = <LED_COLOR_ID_GREEN>;
			};
		};

		multi-led@2 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <2>;
			color = <LED_COLOR_ID_MULTI>;
			function = LED_FUNCTION_ACTIVITY;
			label = "psu";

			led@0 {
				reg = <0>;
				color = <LED_COLOR_ID_RED>;
			};

			led@1 {
				reg = <1>;
				color = <LED_COLOR_ID_BLUE>;
			};

			led@2 {
				reg = <2>;
				color = <LED_COLOR_ID_GREEN>;
			};
		};

		multi-led@3 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <3>;
			color = <LED_COLOR_ID_MULTI>;
			function = LED_FUNCTION_ACTIVITY;
			label = "scm";

			led@0 {
				reg = <0>;
				color = <LED_COLOR_ID_RED>;
			};

			led@1 {
				reg = <1>;
				color = <LED_COLOR_ID_BLUE>;
			};

			led@2 {
				reg = <2>;
				color = <LED_COLOR_ID_GREEN>;
			};
		};
	};
};

&i2c8 {
	/*
	 * PCA9548 (8-0070) provides 8 channels connecting to PDB (Power
	 * Delivery Board).
	 */
	i2c-switch@70 {
		compatible = "nxp,pca9548";
		#address-cells = <1>;
		#size-cells = <0>;
		reg = <0x70>;
		i2c-mux-idle-disconnect;

		imux40: i2c@0 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0>;
		};

		imux41: i2c@1 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <1>;
		};

		imux42: i2c@2 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <2>;
		};

		imux43: i2c@3 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <3>;
		};

		imux44: i2c@4 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <4>;
		};

		imux45: i2c@5 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <5>;
		};

		imux46: i2c@6 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <6>;
		};

		imux47: i2c@7 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <7>;
		};

	};
};

&i2c15 {
	/*
	 * PCA9548 (15-0076) provides 8 channels connecting to FCM (Fan
	 * Controller Module).
	 */
	i2c-switch@76 {
		compatible = "nxp,pca9548";
		#address-cells = <1>;
		#size-cells = <0>;
		reg = <0x76>;
		i2c-mux-idle-disconnect;

		imux48: i2c@0 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0>;
		};

		imux49: i2c@1 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <1>;
		};

		imux50: i2c@2 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <2>;
		};

		imux51: i2c@3 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <3>;
		};

		imux52: i2c@4 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <4>;
		};

		imux53: i2c@5 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <5>;
		};

		imux54: i2c@6 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <6>;
		};

		imux55: i2c@7 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <7>;
		};
	};
};