xref: /linux/scripts/dtc/include-prefixes/arm/aspeed/aspeed-bmc-facebook-minerva.dts (revision bb4d30382468705c4084348149ae06af0cc124cc)
16ee9b939SYang Chen// SPDX-License-Identifier: GPL-2.0+
26ee9b939SYang Chen// Copyright (c) 2023 Facebook Inc.
36ee9b939SYang Chen/dts-v1/;
46ee9b939SYang Chen
56ee9b939SYang Chen#include "aspeed-g6.dtsi"
66ee9b939SYang Chen#include <dt-bindings/gpio/aspeed-gpio.h>
76ee9b939SYang Chen#include <dt-bindings/i2c/i2c.h>
86ee9b939SYang Chen
96ee9b939SYang Chen/ {
106ee9b939SYang Chen	model = "Facebook Minerva CMM";
116ee9b939SYang Chen	compatible = "facebook,minerva-cmc", "aspeed,ast2600";
126ee9b939SYang Chen
136ee9b939SYang Chen	aliases {
146ee9b939SYang Chen		serial5 = &uart5;
15b2daa191SYang Chen		/*
16b2daa191SYang Chen		 * PCA9548 (2-0077) provides 8 channels connecting to
17b2daa191SYang Chen		 * 6 pcs of FCB (Fan Controller Board).
18b2daa191SYang Chen		 */
19b2daa191SYang Chen		i2c16 = &imux16;
20b2daa191SYang Chen		i2c17 = &imux17;
21b2daa191SYang Chen		i2c18 = &imux18;
22b2daa191SYang Chen		i2c19 = &imux19;
23b2daa191SYang Chen		i2c20 = &imux20;
24b2daa191SYang Chen		i2c21 = &imux21;
256ee9b939SYang Chen	};
266ee9b939SYang Chen
276ee9b939SYang Chen	chosen {
286ee9b939SYang Chen		stdout-path = "serial5:57600n8";
296ee9b939SYang Chen	};
306ee9b939SYang Chen
316ee9b939SYang Chen	memory@80000000 {
326ee9b939SYang Chen		device_type = "memory";
336ee9b939SYang Chen		reg = <0x80000000 0x80000000>;
346ee9b939SYang Chen	};
356ee9b939SYang Chen
366ee9b939SYang Chen	iio-hwmon {
376ee9b939SYang Chen		compatible = "iio-hwmon";
386ee9b939SYang Chen		io-channels = <&adc0 0>, <&adc0 1>, <&adc0 2>, <&adc0 3>,
396ee9b939SYang Chen			<&adc0 4>, <&adc0 5>, <&adc0 6>, <&adc0 7>,
406ee9b939SYang Chen			<&adc1 2>;
416ee9b939SYang Chen	};
42*bb4d3038SYang Chen
43*bb4d3038SYang Chen	leds {
44*bb4d3038SYang Chen		compatible = "gpio-leds";
45*bb4d3038SYang Chen
46*bb4d3038SYang Chen		led-fan-fault {
47*bb4d3038SYang Chen			label = "led-fan-fault";
48*bb4d3038SYang Chen			gpios = <&leds_gpio 9 GPIO_ACTIVE_HIGH>;
49*bb4d3038SYang Chen			default-state = "off";
50*bb4d3038SYang Chen		};
51*bb4d3038SYang Chen	};
526ee9b939SYang Chen};
536ee9b939SYang Chen
546ee9b939SYang Chen&uart6 {
556ee9b939SYang Chen	status = "okay";
566ee9b939SYang Chen};
576ee9b939SYang Chen
586ee9b939SYang Chen&wdt1 {
596ee9b939SYang Chen	status = "okay";
606ee9b939SYang Chen	pinctrl-names = "default";
616ee9b939SYang Chen	pinctrl-0 = <&pinctrl_wdtrst1_default>;
626ee9b939SYang Chen	aspeed,reset-type = "soc";
636ee9b939SYang Chen	aspeed,external-signal;
646ee9b939SYang Chen	aspeed,ext-push-pull;
656ee9b939SYang Chen	aspeed,ext-active-high;
666ee9b939SYang Chen	aspeed,ext-pulse-duration = <256>;
676ee9b939SYang Chen};
686ee9b939SYang Chen
696ee9b939SYang Chen&mac3 {
706ee9b939SYang Chen	status = "okay";
71cb188e3fSYang Chen	phy-mode = "rmii";
726ee9b939SYang Chen	pinctrl-names = "default";
736ee9b939SYang Chen	pinctrl-0 = <&pinctrl_rmii4_default>;
74cb188e3fSYang Chen	fixed-link {
75cb188e3fSYang Chen		speed = <100>;
76cb188e3fSYang Chen		full-duplex;
77cb188e3fSYang Chen	};
786ee9b939SYang Chen};
796ee9b939SYang Chen
806ee9b939SYang Chen&fmc {
816ee9b939SYang Chen	status = "okay";
826ee9b939SYang Chen	flash@0 {
836ee9b939SYang Chen		status = "okay";
846ee9b939SYang Chen		m25p,fast-read;
856ee9b939SYang Chen		label = "bmc";
866ee9b939SYang Chen		spi-max-frequency = <50000000>;
876ee9b939SYang Chen#include "openbmc-flash-layout-128.dtsi"
886ee9b939SYang Chen	};
896ee9b939SYang Chen	flash@1 {
906ee9b939SYang Chen		status = "okay";
916ee9b939SYang Chen		m25p,fast-read;
926ee9b939SYang Chen		label = "alt-bmc";
936ee9b939SYang Chen		spi-max-frequency = <50000000>;
946ee9b939SYang Chen	};
956ee9b939SYang Chen};
966ee9b939SYang Chen
976ee9b939SYang Chen&rtc {
986ee9b939SYang Chen	status = "okay";
996ee9b939SYang Chen};
1006ee9b939SYang Chen
1018061d80dSYang Chen&sgpiom0 {
1026ee9b939SYang Chen	status = "okay";
1036ee9b939SYang Chen	ngpios = <128>;
1046ee9b939SYang Chen	bus-frequency = <2000000>;
1056ee9b939SYang Chen};
1066ee9b939SYang Chen
1076ee9b939SYang Chen&i2c0 {
1086ee9b939SYang Chen	status = "okay";
109331dfa00SYang Chen
110331dfa00SYang Chen	power-monitor@40 {
111331dfa00SYang Chen		compatible = "ti,ina230";
112331dfa00SYang Chen		reg = <0x40>;
113331dfa00SYang Chen		shunt-resistor = <1000>;
114331dfa00SYang Chen	};
115331dfa00SYang Chen
116331dfa00SYang Chen	power-monitor@41 {
117331dfa00SYang Chen		compatible = "ti,ina230";
118331dfa00SYang Chen		reg = <0x41>;
119331dfa00SYang Chen		shunt-resistor = <1000>;
120331dfa00SYang Chen	};
121331dfa00SYang Chen
122331dfa00SYang Chen	power-monitor@67 {
123331dfa00SYang Chen		compatible = "adi,ltc2945";
124331dfa00SYang Chen		reg = <0x67>;
125331dfa00SYang Chen	};
126331dfa00SYang Chen
127331dfa00SYang Chen	power-monitor@68 {
128331dfa00SYang Chen		compatible = "adi,ltc2945";
129331dfa00SYang Chen		reg = <0x68>;
130331dfa00SYang Chen	};
131*bb4d3038SYang Chen
132*bb4d3038SYang Chen	leds_gpio: gpio@19 {
133*bb4d3038SYang Chen		compatible = "nxp,pca9555";
134*bb4d3038SYang Chen		reg = <0x19>;
135*bb4d3038SYang Chen		gpio-controller;
136*bb4d3038SYang Chen		#gpio-cells = <2>;
137*bb4d3038SYang Chen	};
1386ee9b939SYang Chen};
1396ee9b939SYang Chen
1406ee9b939SYang Chen&i2c1 {
1416ee9b939SYang Chen	status = "okay";
1426ee9b939SYang Chen
1436ee9b939SYang Chen	temperature-sensor@4b {
1446ee9b939SYang Chen		compatible = "ti,tmp75";
145feab10dfSYang Chen		reg = <0x4b>;
146feab10dfSYang Chen	};
147feab10dfSYang Chen
148feab10dfSYang Chen	temperature-sensor@48 {
149feab10dfSYang Chen		compatible = "ti,tmp75";
150feab10dfSYang Chen		reg = <0x48>;
1516ee9b939SYang Chen	};
1526ee9b939SYang Chen
15337f295a2SYang Chen	eeprom@54 {
1546ee9b939SYang Chen		compatible = "atmel,24c128";
15537f295a2SYang Chen		reg = <0x54>;
1566ee9b939SYang Chen	};
1576ee9b939SYang Chen};
1586ee9b939SYang Chen
1596ee9b939SYang Chen&i2c2 {
1606ee9b939SYang Chen	status = "okay";
1616ee9b939SYang Chen
1626ee9b939SYang Chen	i2c-mux@77 {
1636ee9b939SYang Chen		compatible = "nxp,pca9548";
1646ee9b939SYang Chen		reg = <0x77>;
1656ee9b939SYang Chen		#address-cells = <1>;
1666ee9b939SYang Chen		#size-cells = <0>;
1676ee9b939SYang Chen		i2c-mux-idle-disconnect;
1686ee9b939SYang Chen
169b2daa191SYang Chen		imux16: i2c@0 {
1706ee9b939SYang Chen			#address-cells = <1>;
1716ee9b939SYang Chen			#size-cells = <0>;
1726ee9b939SYang Chen			reg = <0>;
1736ee9b939SYang Chen
1746ee9b939SYang Chen			eeprom@50 {
1756ee9b939SYang Chen				compatible = "atmel,24c128";
1766ee9b939SYang Chen				reg = <0x50>;
1776ee9b939SYang Chen			};
1782dcb5ca7SYang Chen
1792dcb5ca7SYang Chen			pwm@5e{
1802dcb5ca7SYang Chen				compatible = "max31790";
1812dcb5ca7SYang Chen				reg = <0x5e>;
1822dcb5ca7SYang Chen				#address-cells = <1>;
1832dcb5ca7SYang Chen				#size-cells = <0>;
1842dcb5ca7SYang Chen			};
1856ee9b939SYang Chen		};
1866ee9b939SYang Chen
187b2daa191SYang Chen		imux17: i2c@1 {
1886ee9b939SYang Chen			#address-cells = <1>;
1896ee9b939SYang Chen			#size-cells = <0>;
1906ee9b939SYang Chen			reg = <1>;
1916ee9b939SYang Chen
1926ee9b939SYang Chen			eeprom@50 {
1936ee9b939SYang Chen				compatible = "atmel,24c128";
1946ee9b939SYang Chen				reg = <0x50>;
1956ee9b939SYang Chen			};
1962dcb5ca7SYang Chen
1972dcb5ca7SYang Chen			pwm@5e{
1982dcb5ca7SYang Chen				compatible = "max31790";
1992dcb5ca7SYang Chen				reg = <0x5e>;
2002dcb5ca7SYang Chen				#address-cells = <1>;
2012dcb5ca7SYang Chen				#size-cells = <0>;
2022dcb5ca7SYang Chen			};
2036ee9b939SYang Chen		};
2046ee9b939SYang Chen
205b2daa191SYang Chen		imux18: i2c@2 {
2066ee9b939SYang Chen			#address-cells = <1>;
2076ee9b939SYang Chen			#size-cells = <0>;
2086ee9b939SYang Chen			reg = <2>;
2096ee9b939SYang Chen
2106ee9b939SYang Chen			eeprom@50 {
2116ee9b939SYang Chen				compatible = "atmel,24c128";
2126ee9b939SYang Chen				reg = <0x50>;
2136ee9b939SYang Chen			};
2142dcb5ca7SYang Chen
2152dcb5ca7SYang Chen			pwm@5e{
2162dcb5ca7SYang Chen				compatible = "max31790";
2172dcb5ca7SYang Chen				reg = <0x5e>;
2182dcb5ca7SYang Chen				#address-cells = <1>;
2192dcb5ca7SYang Chen				#size-cells = <0>;
2202dcb5ca7SYang Chen			};
2216ee9b939SYang Chen		};
2226ee9b939SYang Chen
223b2daa191SYang Chen		imux19: i2c@3 {
2246ee9b939SYang Chen			#address-cells = <1>;
2256ee9b939SYang Chen			#size-cells = <0>;
2266ee9b939SYang Chen			reg = <3>;
2276ee9b939SYang Chen
2286ee9b939SYang Chen			eeprom@50 {
2296ee9b939SYang Chen				compatible = "atmel,24c128";
2306ee9b939SYang Chen				reg = <0x50>;
2316ee9b939SYang Chen			};
2322dcb5ca7SYang Chen
2332dcb5ca7SYang Chen			pwm@5e{
2342dcb5ca7SYang Chen				compatible = "max31790";
2352dcb5ca7SYang Chen				reg = <0x5e>;
2362dcb5ca7SYang Chen				#address-cells = <1>;
2372dcb5ca7SYang Chen				#size-cells = <0>;
2382dcb5ca7SYang Chen			};
2396ee9b939SYang Chen		};
2406ee9b939SYang Chen
241b2daa191SYang Chen		imux20: i2c@4 {
2426ee9b939SYang Chen			#address-cells = <1>;
2436ee9b939SYang Chen			#size-cells = <0>;
2446ee9b939SYang Chen			reg = <4>;
2456ee9b939SYang Chen
2466ee9b939SYang Chen			eeprom@50 {
2476ee9b939SYang Chen				compatible = "atmel,24c128";
2486ee9b939SYang Chen				reg = <0x50>;
2496ee9b939SYang Chen			};
2502dcb5ca7SYang Chen
2512dcb5ca7SYang Chen			pwm@5e{
2522dcb5ca7SYang Chen				compatible = "max31790";
2532dcb5ca7SYang Chen				reg = <0x5e>;
2542dcb5ca7SYang Chen				#address-cells = <1>;
2552dcb5ca7SYang Chen				#size-cells = <0>;
2562dcb5ca7SYang Chen			};
2576ee9b939SYang Chen		};
2586ee9b939SYang Chen
259b2daa191SYang Chen		imux21: i2c@5 {
2606ee9b939SYang Chen			#address-cells = <1>;
2616ee9b939SYang Chen			#size-cells = <0>;
2626ee9b939SYang Chen			reg = <5>;
2636ee9b939SYang Chen
2646ee9b939SYang Chen			eeprom@50 {
2656ee9b939SYang Chen				compatible = "atmel,24c128";
2666ee9b939SYang Chen				reg = <0x50>;
2676ee9b939SYang Chen			};
2682dcb5ca7SYang Chen
2692dcb5ca7SYang Chen			pwm@5e{
2702dcb5ca7SYang Chen				compatible = "max31790";
2712dcb5ca7SYang Chen				reg = <0x5e>;
2722dcb5ca7SYang Chen				#address-cells = <1>;
2732dcb5ca7SYang Chen				#size-cells = <0>;
2742dcb5ca7SYang Chen			};
2756ee9b939SYang Chen		};
2766ee9b939SYang Chen	};
2776ee9b939SYang Chen};
2786ee9b939SYang Chen
2796ee9b939SYang Chen&i2c3 {
2806ee9b939SYang Chen	status = "okay";
2816ee9b939SYang Chen};
2826ee9b939SYang Chen
2836ee9b939SYang Chen&i2c4 {
2846ee9b939SYang Chen	status = "okay";
2856ee9b939SYang Chen};
2866ee9b939SYang Chen
2876ee9b939SYang Chen&i2c5 {
2886ee9b939SYang Chen	status = "okay";
2896ee9b939SYang Chen};
2906ee9b939SYang Chen
2916ee9b939SYang Chen&i2c6 {
2926ee9b939SYang Chen	status = "okay";
2936ee9b939SYang Chen};
2946ee9b939SYang Chen
2956ee9b939SYang Chen&i2c7 {
2966ee9b939SYang Chen	status = "okay";
2976ee9b939SYang Chen};
2986ee9b939SYang Chen
2996ee9b939SYang Chen&i2c8 {
3006ee9b939SYang Chen	status = "okay";
3016ee9b939SYang Chen};
3026ee9b939SYang Chen
3036ee9b939SYang Chen&i2c9 {
3046ee9b939SYang Chen	status = "okay";
3056ee9b939SYang Chen};
3066ee9b939SYang Chen
3076ee9b939SYang Chen&i2c10 {
3086ee9b939SYang Chen	status = "okay";
3096ee9b939SYang Chen};
3106ee9b939SYang Chen
3116ee9b939SYang Chen&i2c11 {
3126ee9b939SYang Chen	status = "okay";
3136ee9b939SYang Chen};
3146ee9b939SYang Chen
3156ee9b939SYang Chen&i2c12 {
3166ee9b939SYang Chen	status = "okay";
3176ee9b939SYang Chen};
3186ee9b939SYang Chen
3196ee9b939SYang Chen&i2c13 {
3206ee9b939SYang Chen	status = "okay";
3216ee9b939SYang Chen};
3226ee9b939SYang Chen
3236ee9b939SYang Chen&i2c14 {
3246ee9b939SYang Chen	status = "okay";
3256ee9b939SYang Chen	multi-master;
3266ee9b939SYang Chen
3276ee9b939SYang Chen	ipmb@10 {
3286ee9b939SYang Chen		compatible = "ipmb-dev";
3296ee9b939SYang Chen		reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
3306ee9b939SYang Chen		i2c-protocol;
3316ee9b939SYang Chen	};
3326ee9b939SYang Chen};
3336ee9b939SYang Chen
3346ee9b939SYang Chen&i2c15 {
3356ee9b939SYang Chen	status = "okay";
3366ee9b939SYang Chen
3376ee9b939SYang Chen	eeprom@50 {
3386ee9b939SYang Chen		compatible = "atmel,24c128";
3396ee9b939SYang Chen		reg = <0x50>;
3406ee9b939SYang Chen	};
3416ee9b939SYang Chen};
3426ee9b939SYang Chen
3436ee9b939SYang Chen&adc0 {
3446ee9b939SYang Chen	aspeed,int-vref-microvolt = <2500000>;
3456ee9b939SYang Chen	status = "okay";
3466ee9b939SYang Chen	pinctrl-0 = <&pinctrl_adc0_default &pinctrl_adc1_default
3476ee9b939SYang Chen		&pinctrl_adc2_default &pinctrl_adc3_default
3486ee9b939SYang Chen		&pinctrl_adc4_default &pinctrl_adc5_default
3496ee9b939SYang Chen		&pinctrl_adc6_default &pinctrl_adc7_default>;
3506ee9b939SYang Chen};
3516ee9b939SYang Chen
3526ee9b939SYang Chen&adc1 {
3536ee9b939SYang Chen	aspeed,int-vref-microvolt = <2500000>;
3546ee9b939SYang Chen	status = "okay";
3556ee9b939SYang Chen	pinctrl-0 = <&pinctrl_adc10_default>;
3566ee9b939SYang Chen};
3576ee9b939SYang Chen
3586ee9b939SYang Chen&ehci1 {
3596ee9b939SYang Chen	status = "okay";
3606ee9b939SYang Chen};
3616ee9b939SYang Chen
3626ee9b939SYang Chen&uhci {
3636ee9b939SYang Chen	status = "okay";
3646ee9b939SYang Chen};
365