Commit d024ca27 authored by Chanh Nguyen's avatar Chanh Nguyen Committed by Joel Stanley
Browse files

ARM: dts: aspeed: mtmitchell: Add I2C NVMe alias port



Adds the I2C alias ports to each NVMe drive via the
backplane card.

Besides that, it also adds the eeprom and temperature sensor
on the backplane card.

Signed-off-by: default avatarChanh Nguyen <chanh@os.amperecomputing.com>
Reviewed-by: default avatarJoel Stanley <joel@jms.id.au>
Link: https://lore.kernel.org/r/20231005035525.19036-8-chanh@os.amperecomputing.com


Signed-off-by: default avatarJoel Stanley <joel@jms.id.au>
parent 8098d06a
Loading
Loading
Loading
Loading
+267 −0
Original line number Diff line number Diff line
@@ -14,6 +14,42 @@ / {
	aliases {
		serial7 = &uart8;
		serial8 = &uart9;

		/*
		 *  I2C NVMe alias port
		 */
		i2c100 = &backplane_0;
		i2c48 = &nvmeslot_0;
		i2c49 = &nvmeslot_1;
		i2c50 = &nvmeslot_2;
		i2c51 = &nvmeslot_3;
		i2c52 = &nvmeslot_4;
		i2c53 = &nvmeslot_5;
		i2c54 = &nvmeslot_6;
		i2c55 = &nvmeslot_7;

		i2c101 = &backplane_1;
		i2c56 = &nvmeslot_8;
		i2c57 = &nvmeslot_9;
		i2c58 = &nvmeslot_10;
		i2c59 = &nvmeslot_11;
		i2c60 = &nvmeslot_12;
		i2c61 = &nvmeslot_13;
		i2c62 = &nvmeslot_14;
		i2c63 = &nvmeslot_15;

		i2c102 = &backplane_2;
		i2c64 = &nvmeslot_16;
		i2c65 = &nvmeslot_17;
		i2c66 = &nvmeslot_18;
		i2c67 = &nvmeslot_19;
		i2c68 = &nvmeslot_20;
		i2c69 = &nvmeslot_21;
		i2c70 = &nvmeslot_22;
		i2c71 = &nvmeslot_23;

		i2c80 = &nvme_m2_0;
		i2c81 = &nvme_m2_1;
	};

	chosen {
@@ -521,6 +557,237 @@ bmc-ocp0-en-hog {

&i2c9 {
	status = "okay";
	i2c-mux@70 {
		compatible = "nxp,pca9548";
		#address-cells = <1>;
		#size-cells = <0>;
		reg = <0x70>;
		i2c-mux-idle-disconnect;

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

			eeprom@50 {
				compatible = "atmel,24c64";
				reg = <0x50>;
				pagesize = <32>;
			};

			i2c-mux@71 {
				compatible = "nxp,pca9548";
				#address-cells = <1>;
				#size-cells = <0>;
				reg = <0x71>;
				i2c-mux-idle-disconnect;

				nvmeslot_8: i2c@0 {
					#address-cells = <1>;
					#size-cells = <0>;
					reg = <0x0>;
				};
				nvmeslot_9: i2c@1 {
					#address-cells = <1>;
					#size-cells = <0>;
					reg = <0x1>;
				};
				nvmeslot_10: i2c@2 {
					#address-cells = <1>;
					#size-cells = <0>;
					reg = <0x2>;
				};
				nvmeslot_11: i2c@3 {
					#address-cells = <1>;
					#size-cells = <0>;
					reg = <0x3>;
				};
				nvmeslot_12: i2c@4 {
					#address-cells = <1>;
					#size-cells = <0>;
					reg = <0x4>;
				};
				nvmeslot_13: i2c@5 {
					#address-cells = <1>;
					#size-cells = <0>;
					reg = <0x5>;
				};
				nvmeslot_14: i2c@6 {
					#address-cells = <1>;
					#size-cells = <0>;
					reg = <0x6>;
				};
				nvmeslot_15: i2c@7 {
					#address-cells = <1>;
					#size-cells = <0>;
					reg = <0x7>;
				};
			};

			tmp432@4c {
				compatible = "ti,tmp75";
				reg = <0x4c>;
			};
		};

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

			eeprom@50 {
				compatible = "atmel,24c64";
				reg = <0x50>;
				pagesize = <32>;
			};

			i2c-mux@71 {
				compatible = "nxp,pca9548";
				#address-cells = <1>;
				#size-cells = <0>;
				reg = <0x71>;
				i2c-mux-idle-disconnect;

				nvmeslot_16: i2c@0 {
					#address-cells = <1>;
					#size-cells = <0>;
					reg = <0x0>;
				};
				nvmeslot_17: i2c@1 {
					#address-cells = <1>;
					#size-cells = <0>;
					reg = <0x1>;
				};
				nvmeslot_18: i2c@2 {
					#address-cells = <1>;
					#size-cells = <0>;
					reg = <0x2>;
				};
				nvmeslot_19: i2c@3 {
					#address-cells = <1>;
					#size-cells = <0>;
					reg = <0x3>;
				};
				nvmeslot_20: i2c@4 {
					#address-cells = <1>;
					#size-cells = <0>;
					reg = <0x4>;
				};
				nvmeslot_21: i2c@5 {
					#address-cells = <1>;
					#size-cells = <0>;
					reg = <0x5>;
				};
				nvmeslot_22: i2c@6 {
					#address-cells = <1>;
					#size-cells = <0>;
					reg = <0x6>;
				};
				nvmeslot_23: i2c@7 {
					#address-cells = <1>;
					#size-cells = <0>;
					reg = <0x7>;
				};
			};

			tmp432@4c {
				compatible = "ti,tmp75";
				reg = <0x4c>;
			};
		};

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

			eeprom@50 {
				compatible = "atmel,24c64";
				reg = <0x50>;
				pagesize = <32>;
			};

			i2c-mux@71 {
				compatible = "nxp,pca9548";
				#address-cells = <1>;
				#size-cells = <0>;
				reg = <0x71>;
				i2c-mux-idle-disconnect;

				nvmeslot_0: i2c@0 {
					#address-cells = <1>;
					#size-cells = <0>;
					reg = <0x0>;
				};
				nvmeslot_1: i2c@1 {
					#address-cells = <1>;
					#size-cells = <0>;
					reg = <0x1>;
				};
				nvmeslot_2: i2c@2 {
					#address-cells = <1>;
					#size-cells = <0>;
					reg = <0x2>;
				};
				nvmeslot_3: i2c@3 {
					#address-cells = <1>;
					#size-cells = <0>;
					reg = <0x3>;
				};
				nvmeslot_4: i2c@4 {
					#address-cells = <1>;
					#size-cells = <0>;
					reg = <0x4>;
				};
				nvmeslot_5: i2c@5 {
					#address-cells = <1>;
					#size-cells = <0>;
					reg = <0x5>;
				};
				nvmeslot_6: i2c@6 {
					#address-cells = <1>;
					#size-cells = <0>;
					reg = <0x6>;
				};
				nvmeslot_7: i2c@7 {
					#address-cells = <1>;
					#size-cells = <0>;
					reg = <0x7>;
				};
			};

			tmp432@4c {
				compatible = "ti,tmp75";
				reg = <0x4c>;
			};
		};

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

			i2c-mux@71 {
				compatible = "nxp,pca9546";
				#address-cells = <1>;
				#size-cells = <0>;
				reg = <0x71>;
				i2c-mux-idle-disconnect;

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

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

&i2c11 {