[PATCH v4 02/12] ARM: dts: aspeed: anacapa: Add EVT1 devicetree and point wrapper to it

Tan Siewert tan.siewert at 9elements.com
Sat Aug 8 03:58:12 PDT 2026


Hi Colin,

> This change introduces a development-phase devicetree for the
> Facebook Anacapa BMC EVT1 hardware revision and updates the Anacapa
> wrapper DTS to reference it.


> 
> A dedicated EVT1 DTS is added for revision-specific hardware while
> keeping a single, Anacapa entrypoint used by the build and deployment
> flow. The top-level aspeed-bmc-facebook-anacapa.dts
> 
> Signed-off-by: Colin Huang <u8813345 at gmail.com>




>
> diff --git a/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-anacapa-evt1.dts b/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-anacapa-evt1.dts
> new file mode 100644
> index 000000000000..a095be48a3fe
> --- /dev/null
> +++ b/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-anacapa-evt1.dts

`scripts/dtc/dt-check-style --mode strict` reports multiple errors:

    aspeed-bmc-facebook-anacapa-evt1.dts:10: [property-order] property 'compatible' out of canonical order (should sort before 'model')
    aspeed-bmc-facebook-anacapa-evt1.dts:18: [property-order] property 'i2c16' out of canonical order (should sort before 'serial4')
    aspeed-bmc-facebook-anacapa-evt1.dts:71: [continuation-alignment] continuation should align to column 31 (under "<" or \")
    aspeed-bmc-facebook-anacapa-evt1.dts:72: [continuation-alignment] continuation should align to column 31 (under "<" or \")
    aspeed-bmc-facebook-anacapa-evt1.dts:80: [property-order] property 'gpios' out of canonical order (should sort before 'label')
    aspeed-bmc-facebook-anacapa-evt1.dts:86: [property-order] property 'default-state' out of canonical order (should sort before 'label')
    aspeed-bmc-facebook-anacapa-evt1.dts:93: [property-order] property 'reg' out of canonical order (should sort before 'device_type')
    aspeed-bmc-facebook-anacapa-evt1.dts:99: [property-order] property 'ranges' out of canonical order (should sort before '#size-cells')
    aspeed-bmc-facebook-anacapa-evt1.dts:103: [property-order] property 'alignment' out of canonical order (should sort before 'size')
    aspeed-bmc-facebook-anacapa-evt1.dts:104: [property-order] property 'compatible' out of canonical order (should sort before 'alignment')
    aspeed-bmc-facebook-anacapa-evt1.dts:108: [child-name-order] child node 'framebuffer' out of name order
    aspeed-bmc-facebook-anacapa-evt1.dts:110: [property-order] property 'alignment' out of canonical order (should sort before 'size')
    aspeed-bmc-facebook-anacapa-evt1.dts:111: [property-order] property 'compatible' out of canonical order (should sort before 'alignment')
    aspeed-bmc-facebook-anacapa-evt1.dts:116: [child-name-order] child node 'regulator-p3v3-bmc-aux' out of name order
    aspeed-bmc-facebook-anacapa-evt1.dts:116: [unused-labels] label 'p3v3_bmc_aux' defined but never &-referenced
    aspeed-bmc-facebook-anacapa-evt1.dts:119: [property-order] property 'regulator-min-microvolt' out of canonical order (should sort before 'regulator-name')
    aspeed-bmc-facebook-anacapa-evt1.dts:120: [property-order] property 'regulator-max-microvolt' out of canonical order (should sort before 'regulator-min-microvolt')
    aspeed-bmc-facebook-anacapa-evt1.dts:121: [property-order] property 'regulator-always-on' out of canonical order (should sort before 'regulator-max-microvolt')
    aspeed-bmc-facebook-anacapa-evt1.dts:124: [unused-labels] label 'spi_gpio' defined but never &-referenced
    aspeed-bmc-facebook-anacapa-evt1.dts:129: [property-order] property 'sck-gpios' out of canonical order (should sort before '#size-cells')
    aspeed-bmc-facebook-anacapa-evt1.dts:130: [property-order] property 'mosi-gpios' out of canonical order (should sort before 'sck-gpios')
    aspeed-bmc-facebook-anacapa-evt1.dts:131: [property-order] property 'miso-gpios' out of canonical order (should sort before 'mosi-gpios')
    aspeed-bmc-facebook-anacapa-evt1.dts:132: [property-order] property 'cs-gpios' out of canonical order (should sort before 'miso-gpios')
    aspeed-bmc-facebook-anacapa-evt1.dts:134: [required-blank-lines] "status" must be preceded by a blank line
    aspeed-bmc-facebook-anacapa-evt1.dts:139: [property-order] property 'reg' out of canonical order (should sort before 'spi-max-frequency')
    aspeed-bmc-facebook-anacapa-evt1.dts:146: [property-order] property 'pinctrl-names' out of canonical order (should sort before 'aspeed,int-vref-microvolt')
    aspeed-bmc-facebook-anacapa-evt1.dts:147: [property-order] property 'pinctrl-0' out of canonical order (should sort before 'pinctrl-names')
    aspeed-bmc-facebook-anacapa-evt1.dts:148: [continuation-alignment] continuation should align to column 21 (under "<" or \")
    aspeed-bmc-facebook-anacapa-evt1.dts:149: [continuation-alignment] continuation should align to column 21 (under "<" or \")
    aspeed-bmc-facebook-anacapa-evt1.dts:150: [continuation-alignment] continuation should align to column 21 (under "<" or \")
    aspeed-bmc-facebook-anacapa-evt1.dts:151: [required-blank-lines] "status" must be preceded by a blank line
    aspeed-bmc-facebook-anacapa-evt1.dts:156: [property-order] property 'pinctrl-names' out of canonical order (should sort before 'aspeed,int-vref-microvolt')
    aspeed-bmc-facebook-anacapa-evt1.dts:157: [property-order] property 'pinctrl-0' out of canonical order (should sort before 'pinctrl-names')
    aspeed-bmc-facebook-anacapa-evt1.dts:158: [required-blank-lines] "status" must be preceded by a blank line
    aspeed-bmc-facebook-anacapa-evt1.dts:170: [property-order] property 'm25p,fast-read' out of canonical order (should sort before 'status')
    aspeed-bmc-facebook-anacapa-evt1.dts:171: [property-order] property 'label' out of canonical order (should sort before 'm25p,fast-read')
    aspeed-bmc-facebook-anacapa-evt1.dts:178: [property-order] property 'm25p,fast-read' out of canonical order (should sort before 'status')
    aspeed-bmc-facebook-anacapa-evt1.dts:179: [property-order] property 'label' out of canonical order (should sort before 'm25p,fast-read')
    aspeed-bmc-facebook-anacapa-evt1.dts:186: [property-order] property 'memory-region' out of canonical order (should sort before 'status')
    aspeed-bmc-facebook-anacapa-evt1.dts:314: [property-order] property 'i2c-mux-idle-disconnect' out of canonical order (should sort before '#size-cells')
    aspeed-bmc-facebook-anacapa-evt1.dts:321: [required-blank-lines] child node must be preceded by a blank line
    aspeed-bmc-facebook-anacapa-evt1.dts:326: [required-blank-lines] child node must be preceded by a blank line
    aspeed-bmc-facebook-anacapa-evt1.dts:331: [required-blank-lines] child node must be preceded by a blank line
    aspeed-bmc-facebook-anacapa-evt1.dts:354: [property-order] property 'i2c-mux-idle-disconnect' out of canonical order (should sort before '#size-cells')
    aspeed-bmc-facebook-anacapa-evt1.dts:361: [required-blank-lines] child node must be preceded by a blank line
    aspeed-bmc-facebook-anacapa-evt1.dts:366: [required-blank-lines] child node must be preceded by a blank line
    aspeed-bmc-facebook-anacapa-evt1.dts:371: [required-blank-lines] child node must be preceded by a blank line
    aspeed-bmc-facebook-anacapa-evt1.dts:388: [property-order] property 'i2c-mux-idle-disconnect' out of canonical order (should sort before '#size-cells')
    aspeed-bmc-facebook-anacapa-evt1.dts:395: [required-blank-lines] child node must be preceded by a blank line
    aspeed-bmc-facebook-anacapa-evt1.dts:400: [required-blank-lines] child node must be preceded by a blank line
    aspeed-bmc-facebook-anacapa-evt1.dts:405: [required-blank-lines] child node must be preceded by a blank line
    aspeed-bmc-facebook-anacapa-evt1.dts:410: [required-blank-lines] child node must be preceded by a blank line
    aspeed-bmc-facebook-anacapa-evt1.dts:415: [required-blank-lines] child node must be preceded by a blank line
    aspeed-bmc-facebook-anacapa-evt1.dts:420: [required-blank-lines] child node must be preceded by a blank line
    aspeed-bmc-facebook-anacapa-evt1.dts:425: [required-blank-lines] child node must be preceded by a blank line
    aspeed-bmc-facebook-anacapa-evt1.dts:453: [blank-lines] consecutive blank lines
    aspeed-bmc-facebook-anacapa-evt1.dts:453: [blank-lines] blank line at end of node body
    aspeed-bmc-facebook-anacapa-evt1.dts:465: [property-order] property 'i2c-mux-idle-disconnect' out of canonical order (should sort before '#size-cells')
    aspeed-bmc-facebook-anacapa-evt1.dts:482: [property-order] property '#gpio-cells' out of canonical order (should sort before 'gpio-controller')
    aspeed-bmc-facebook-anacapa-evt1.dts:487: [property-order] property 'gpio-line-names' out of canonical order (should sort before 'interrupts')
    aspeed-bmc-facebook-anacapa-evt1.dts:504: [property-order] property '#gpio-cells' out of canonical order (should sort before 'gpio-controller')
    aspeed-bmc-facebook-anacapa-evt1.dts:509: [property-order] property 'gpio-line-names' out of canonical order (should sort before 'interrupts')
    aspeed-bmc-facebook-anacapa-evt1.dts:527: [required-blank-lines] child node must be preceded by a blank line
    aspeed-bmc-facebook-anacapa-evt1.dts:536: [property-order] property '#gpio-cells' out of canonical order (should sort before 'gpio-controller')
    aspeed-bmc-facebook-anacapa-evt1.dts:541: [property-order] property 'gpio-line-names' out of canonical order (should sort before 'interrupts')
    aspeed-bmc-facebook-anacapa-evt1.dts:556: [property-order] property '#gpio-cells' out of canonical order (should sort before 'gpio-controller')
    aspeed-bmc-facebook-anacapa-evt1.dts:561: [property-order] property 'gpio-line-names' out of canonical order (should sort before 'interrupts')
    aspeed-bmc-facebook-anacapa-evt1.dts:578: [required-blank-lines] child node must be preceded by a blank line
    aspeed-bmc-facebook-anacapa-evt1.dts:583: [required-blank-lines] child node must be preceded by a blank line
    aspeed-bmc-facebook-anacapa-evt1.dts:617: [property-order] property 'i2c-mux-idle-disconnect' out of canonical order (should sort before '#size-cells')
    aspeed-bmc-facebook-anacapa-evt1.dts:624: [required-blank-lines] child node must be preceded by a blank line
    aspeed-bmc-facebook-anacapa-evt1.dts:629: [required-blank-lines] child node must be preceded by a blank line
    aspeed-bmc-facebook-anacapa-evt1.dts:634: [required-blank-lines] child node must be preceded by a blank line
    aspeed-bmc-facebook-anacapa-evt1.dts:639: [required-blank-lines] child node must be preceded by a blank line
    aspeed-bmc-facebook-anacapa-evt1.dts:644: [required-blank-lines] child node must be preceded by a blank line
    aspeed-bmc-facebook-anacapa-evt1.dts:653: [property-order] property '#gpio-cells' out of canonical order (should sort before 'gpio-controller')
    aspeed-bmc-facebook-anacapa-evt1.dts:672: [required-blank-lines] child node must be preceded by a blank line
    aspeed-bmc-facebook-anacapa-evt1.dts:677: [required-blank-lines] child node must be preceded by a blank line
    aspeed-bmc-facebook-anacapa-evt1.dts:694: [property-order] property 'i2c-mux-idle-disconnect' out of canonical order (should sort before '#size-cells')
    aspeed-bmc-facebook-anacapa-evt1.dts:701: [required-blank-lines] child node must be preceded by a blank line
    aspeed-bmc-facebook-anacapa-evt1.dts:706: [required-blank-lines] child node must be preceded by a blank line
    aspeed-bmc-facebook-anacapa-evt1.dts:711: [required-blank-lines] child node must be preceded by a blank line
    aspeed-bmc-facebook-anacapa-evt1.dts:716: [required-blank-lines] child node must be preceded by a blank line
    aspeed-bmc-facebook-anacapa-evt1.dts:721: [required-blank-lines] child node must be preceded by a blank line
    aspeed-bmc-facebook-anacapa-evt1.dts:730: [property-order] property '#gpio-cells' out of canonical order (should sort before 'gpio-controller')
    aspeed-bmc-facebook-anacapa-evt1.dts:749: [required-blank-lines] child node must be preceded by a blank line
    aspeed-bmc-facebook-anacapa-evt1.dts:754: [required-blank-lines] child node must be preceded by a blank line
    aspeed-bmc-facebook-anacapa-evt1.dts:776: [property-order] property 'i2c-mux-idle-disconnect' out of canonical order (should sort before '#size-cells')
    aspeed-bmc-facebook-anacapa-evt1.dts:783: [required-blank-lines] child node must be preceded by a blank line
    aspeed-bmc-facebook-anacapa-evt1.dts:788: [required-blank-lines] child node must be preceded by a blank line
    aspeed-bmc-facebook-anacapa-evt1.dts:793: [required-blank-lines] child node must be preceded by a blank line
    aspeed-bmc-facebook-anacapa-evt1.dts:804: [required-blank-lines] child node must be preceded by a blank line
    aspeed-bmc-facebook-anacapa-evt1.dts:815: [required-blank-lines] child node must be preceded by a blank line
    aspeed-bmc-facebook-anacapa-evt1.dts:820: [required-blank-lines] child node must be preceded by a blank line
    aspeed-bmc-facebook-anacapa-evt1.dts:825: [required-blank-lines] child node must be preceded by a blank line
    aspeed-bmc-facebook-anacapa-evt1.dts:837: [property-order] property 'enable-gpios' out of canonical order (should sort before 'interrupts')
    aspeed-bmc-facebook-anacapa-evt1.dts:854: [required-blank-lines] "status" must be preceded by a blank line
    aspeed-bmc-facebook-anacapa-evt1.dts:859: [required-blank-lines] "status" must be preceded by a blank line
    aspeed-bmc-facebook-anacapa-evt1.dts:868: [property-order] property 'pinctrl-names' out of canonical order (should sort before 'status')
    aspeed-bmc-facebook-anacapa-evt1.dts:869: [property-order] property 'pinctrl-0' out of canonical order (should sort before 'pinctrl-names')
    aspeed-bmc-facebook-anacapa-evt1.dts:875: [property-order] property 'bus-frequency' out of canonical order (should sort before 'ngpios')
    aspeed-bmc-facebook-anacapa-evt1.dts:1020: [property-order] property 'pinctrl-0' out of canonical order (should sort before 'pinctrl-names')
    aspeed-bmc-facebook-anacapa-evt1.dts:1021: [required-blank-lines] "status" must be preceded by a blank line
    aspeed-bmc-facebook-anacapa-evt1.dts:1022: [property-order] property 'reg' out of canonical order (should sort before 'status')
    aspeed-bmc-facebook-anacapa-evt1.dts:1029: [property-order] property 'spi-rx-bus-width' out of canonical order (should sort before 'spi-tx-bus-width')
    aspeed-bmc-facebook-anacapa-evt1.dts:1030: [required-blank-lines] "status" must be preceded by a blank line
    aspeed-bmc-facebook-anacapa-evt1.dts:1062: [property-order] property 'pinctrl-names' out of canonical order (should sort before 'status')
    aspeed-bmc-facebook-anacapa-evt1.dts:1067: [property-order] property 'memory-region' out of canonical order (should sort before 'status')
    aspeed-bmc-facebook-anacapa-evt1.dts:1072: [property-order] property 'pinctrl-0' out of canonical order (should sort before 'pinctrl-names')
    aspeed-bmc-facebook-anacapa-evt1.dts:1074: [property-order] property 'aspeed,external-signal' out of canonical order (should sort before 'aspeed,reset-type')
    aspeed-bmc-facebook-anacapa-evt1.dts:1075: [property-order] property 'aspeed,ext-push-pull' out of canonical order (should sort before 'aspeed,external-signal')
    aspeed-bmc-facebook-anacapa-evt1.dts:1076: [property-order] property 'aspeed,ext-active-high' out of canonical order (should sort before 'aspeed,ext-push-pull')
    aspeed-bmc-facebook-anacapa-evt1.dts:1078: [required-blank-lines] "status" must be preceded by a blank line

> @@ -0,0 +1,1079 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later
> +
> +/dts-v1/;
> +#include "aspeed-g6.dtsi"
> +#include <dt-bindings/gpio/aspeed-gpio.h>
> +#include <dt-bindings/i2c/i2c.h>
> +
> +/ {
> +	model = "Facebook Anacapa BMC";
> +	compatible = "facebook,anacapa-bmc-evt1", "aspeed,ast2600";
> +
> +	aliases {
> +		serial0 = &uart1;
> +		serial1 = &uart2;
> +		serial2 = &uart3;
> +		serial3 = &uart4;
> +		serial4 = &uart5;
> +		i2c16 = &i2c0mux0ch0;
> +		i2c17 = &i2c0mux0ch1;
> +		i2c18 = &i2c0mux0ch2;
> +		i2c19 = &i2c0mux0ch3;
> +		i2c20 = &i2c1mux0ch0;
> +		i2c21 = &i2c1mux0ch1;
> +		i2c22 = &i2c1mux0ch2;
> +		i2c23 = &i2c1mux0ch3;
> +		i2c24 = &i2c4mux0ch0;
> +		i2c25 = &i2c4mux0ch1;
> +		i2c26 = &i2c4mux0ch2;
> +		i2c27 = &i2c4mux0ch3;
> +		i2c28 = &i2c4mux0ch4;
> +		i2c29 = &i2c4mux0ch5;
> +		i2c30 = &i2c4mux0ch6;
> +		i2c31 = &i2c4mux0ch7;
> +		i2c32 = &i2c8mux0ch0;
> +		i2c33 = &i2c8mux0ch1;
> +		i2c34 = &i2c8mux0ch2;
> +		i2c35 = &i2c8mux0ch3;
> +		i2c36 = &i2c10mux0ch0;
> +		i2c37 = &i2c10mux0ch1;
> +		i2c38 = &i2c10mux0ch2;
> +		i2c39 = &i2c10mux0ch3;
> +		i2c40 = &i2c10mux0ch4;
> +		i2c41 = &i2c10mux0ch5;
> +		i2c42 = &i2c10mux0ch6;
> +		i2c43 = &i2c10mux0ch7;
> +		i2c44 = &i2c11mux0ch0;
> +		i2c45 = &i2c11mux0ch1;
> +		i2c46 = &i2c11mux0ch2;
> +		i2c47 = &i2c11mux0ch3;
> +		i2c48 = &i2c11mux0ch4;
> +		i2c49 = &i2c11mux0ch5;
> +		i2c50 = &i2c11mux0ch6;
> +		i2c51 = &i2c11mux0ch7;
> +		i2c52 = &i2c13mux0ch0;
> +		i2c53 = &i2c13mux0ch1;
> +		i2c54 = &i2c13mux0ch2;
> +		i2c55 = &i2c13mux0ch3;
> +		i2c56 = &i2c13mux0ch4;
> +		i2c57 = &i2c13mux0ch5;
> +		i2c58 = &i2c13mux0ch6;
> +		i2c59 = &i2c13mux0ch7;
> +	};
> +
> +	chosen {
> +		stdout-path = "serial4:57600n8";
> +	};
> +
> +	iio-hwmon {
> +		compatible = "iio-hwmon";
> +		io-channels = <&adc0 0>, <&adc0 1>, <&adc0 2>, <&adc0 3>,
> +				  <&adc0 4>, <&adc0 5>, <&adc0 6>, <&adc0 7>,
> +				  <&adc1 2>;
> +	};
> +
> +	leds {
> +		compatible = "gpio-leds";
> +
> +		led-0 {
> +			label = "bmc_heartbeat_amber";
> +			gpios = <&gpio0 ASPEED_GPIO(P, 7) GPIO_ACTIVE_LOW>;
> +			linux,default-trigger = "heartbeat";
> +		};
> +
> +		led-1 {
> +			label = "fp_id_amber";
> +			default-state = "off";
> +			gpios = <&gpio0 ASPEED_GPIO(B, 5) GPIO_ACTIVE_HIGH>;
> +		};
> +	};
> +
> +	memory at 80000000 {
> +		device_type = "memory";
> +		reg = <0x80000000 0x80000000>;
> +	};
> +
> +	reserved-memory {
> +		#address-cells = <1>;
> +		#size-cells = <1>;
> +		ranges;
> +
> +		video_engine_memory: video {
> +			size = <0x02c00000>;
> +			alignment = <0x00100000>;
> +			compatible = "shared-dma-pool";
> +			reusable;
> +		};
> +
> +		gfx_memory: framebuffer {
> +			size = <0x01000000>;
> +			alignment = <0x01000000>;
> +			compatible = "shared-dma-pool";
> +			reusable;
> +		};
> +	};
> +
> +	p3v3_bmc_aux: regulator-p3v3-bmc-aux {
> +		compatible = "regulator-fixed";
> +		regulator-name = "p3v3_bmc_aux";
> +		regulator-min-microvolt = <3300000>;
> +		regulator-max-microvolt = <3300000>;
> +		regulator-always-on;
> +	};
> +
> +	spi_gpio: spi {
> +		compatible = "spi-gpio";
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +
> +		sck-gpios = <&gpio0 ASPEED_GPIO(Z, 3) GPIO_ACTIVE_HIGH>;
> +		mosi-gpios = <&gpio0 ASPEED_GPIO(Z, 4) GPIO_ACTIVE_HIGH>;
> +		miso-gpios = <&gpio0 ASPEED_GPIO(Z, 5) GPIO_ACTIVE_HIGH>;
> +		cs-gpios = <&gpio0 ASPEED_GPIO(Z, 0) GPIO_ACTIVE_LOW>;
> +		num-chipselects = <1>;
> +		status = "okay";
> +
> +		tpm at 0 {
> +			compatible = "infineon,slb9670", "tcg,tpm_tis-spi";
> +			spi-max-frequency = <33000000>;
> +			reg = <0>;
> +		};
> +	};
> +};

*snip*

> +// AMC
> +&i2c5 {
> +	status = "okay";
> +};
> +
> +// MB
> +&i2c6 {
> +	status = "okay";
> +
> +	// HPM FRU
> +	eeprom at 50 {
> +		compatible = "atmel,24c256";
> +		reg = <0x50>;
> +	};
> +};
> +
> +// SCM
> +&i2c7 {
> +	status = "okay";
> +
> +

Unnecessary newlines.

> +};
> +
> +// MB - PDB
> +&i2c8 {
> +	status = "okay";
> +
> +	i2c-mux at 72 {
> +		compatible = "nxp,pca9546";
> +		reg = <0x72>;
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		i2c-mux-idle-disconnect;
> +
> +		i2c8mux0ch0: i2c at 0 {
> +			reg = <0>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +
> +			adc at 1f {
> +				compatible = "ti,adc128d818";
> +				reg = <0x1f>;
> +				ti,mode = /bits/ 8 <1>;
> +			};
> +
> +			gpio at 22 {
> +				compatible = "nxp,pca9555";
> +				reg = <0x22>;
> +				gpio-controller;
> +				#gpio-cells = <2>;
> +
> +				interrupt-parent = <&sgpiom0>;
> +				interrupts = <174 IRQ_TYPE_LEVEL_LOW>;
> +
> +				gpio-line-names =
> +					"RPDB_FAN_FULL_SPEED_R_N", "RPDB_I2C_TEMP75_U8_ALERT_R_N",
> +					"RPDB_I2C_TMP432_U29_ALERT_R_N", "RPDB_GLOBAL_WP",
> +					"RPDB_FAN_CT_FAN_FAIL_R_N", "",
> +					"", "",
> +					"RPDB_ALERT_P50V_HSC2_R_N", "RPDB_ALERT_P50V_HSC3_R_N",
> +					"RPDB_ALERT_P50V_HSC4_R_N", "RPDB_ALERT_P50V_STBY_R_N",
> +					"RPDB_I2C_P12V_MB_VRM_ALERT_R_N",
> +					"RPDB_I2C_P12V_STBY_VRM_ALERT_R_N",
> +					"RPDB_PGD_P3V3_STBY_PWRGD_R",
> +					"RPDB_P12V_STBY_VRM_PWRGD_BUF_R";
> +			};
> +
> +			gpio at 24 {
> +				compatible = "nxp,pca9555";
> +				reg = <0x24>;
> +				gpio-controller;
> +				#gpio-cells = <2>;
> +
> +				interrupt-parent = <&sgpiom0>;
> +				interrupts = <174 IRQ_TYPE_LEVEL_LOW>;
> +
> +				gpio-line-names =
> +					"RPDB_EAM2_PRSNT_MOS_N_R", "RPDB_EAM3_PRSNT_MOS_N_R",
> +					"RPDB_PWRGD_P50V_HSC4_SYS_R",
> +					"RPDB_PWRGD_P50V_STBY_SYS_BUF_R",
> +					"RPDB_P50V_FAN1_R2_PG", "RPDB_P50V_FAN2_R2_PG",
> +					"RPDB_P50V_FAN3_R2_PG", "RPDB_P50V_FAN4_R2_PG",
> +					"", "RPDB_FAN1_PRSNT_N_R",
> +					"", "RPDB_FAN2_PRSNT_N_R",
> +					"RPDB_FAN3_PRSNT_N_R", "RPDB_FAN4_PRSNT_N_R",
> +					"", "";
> +			};
> +
> +			// R-PDB FRU
> +			eeprom at 50 {
> +				compatible = "atmel,24c128";
> +				reg = <0x50>;
> +			};
> +		};
> +		i2c8mux0ch1: i2c at 1 {
> +			reg = <1>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +
> +			gpio at 22 {
> +				compatible = "nxp,pca9555";
> +				reg = <0x22>;
> +				gpio-controller;
> +				#gpio-cells = <2>;
> +
> +				interrupt-parent = <&sgpiom0>;
> +				interrupts = <174 IRQ_TYPE_LEVEL_LOW>;
> +
> +				gpio-line-names =
> +					"LPDB_FAN_FULL_SPEED_R_N","LPDB_I2C_TEMP75_U8_ALERT_R_N",
> +					"LPDB_I2C_TMP432_U29_ALERT_R_N","LPDB_GLOBAL_WP",
> +					"LPDB_FAN_CT_FAN_FAIL_R_N","",
> +					"","",
> +					"LPDB_ALERT_P50V_HSC0_R_N","LPDB_ALERT_P50V_HSC1_R_N",
> +					"LPDB_ALERT_P50V_HSC5_R_N","LPDB_I2C_P12V_SW_VRM_ALERT_R_N",
> +					"LPDB_EAM0_PRSNT_MOS_N_R","LPDB_EAM1_PRSNT_MOS_N_R",
> +					"LPDB_PWRGD_P50V_HSC5_SYS_R","";
> +			};
> +
> +			gpio at 24 {
> +				compatible = "nxp,pca9555";
> +				reg = <0x24>;
> +				gpio-controller;
> +				#gpio-cells = <2>;
> +
> +				interrupt-parent = <&sgpiom0>;
> +				interrupts = <174 IRQ_TYPE_LEVEL_LOW>;
> +
> +				gpio-line-names =
> +					"LPDB_P50V_FAN1_R2_PG","LPDB_P50V_FAN2_R2_PG",
> +					"LPDB_P50V_FAN3_R2_PG","LPDB_P50V_FAN4_R2_PG",
> +					"LPDB_P50V_FAN5_R2_PG","LPDB_FAN1_PRSNT_N_R",
> +					"LPDB_FAN2_PRSNT_N_R","LPDB_FAN3_PRSNT_N_R",
> +					"LPDB_FAN4_PRSNT_N_R","LPDB_FAN5_PRSNT_N_R",
> +					"","",
> +					"","",
> +					"","";
> +			};
> +
> +			// L-PDB FRU
> +			eeprom at 50 {
> +				compatible = "atmel,24c128";
> +				reg = <0x50>;
> +			};
> +		};
> +		i2c8mux0ch2: i2c at 2 {
> +			reg = <2>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +		};
> +		i2c8mux0ch3: i2c at 3 {
> +			reg = <3>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +		};
> +	};
> +};
> +
> +// SCM
> +&i2c9 {
> +	status = "okay";
> +
> +	// SCM FRU
> +	eeprom at 50 {
> +		compatible = "atmel,24c128";
> +		reg = <0x50>;
> +	};
> +
> +	// BSM FRU
> +	eeprom at 56 {
> +		compatible = "atmel,24c64";
> +		reg = <0x56>;
> +	};
> +};
> +
> +// R Bridge Board
> +&i2c10 {
> +	status = "okay";
> +
> +	i2c-mux at 71 {
> +		compatible = "nxp,pca9548";
> +		reg = <0x71>;
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		i2c-mux-idle-disconnect;
> +
> +		i2c10mux0ch0: i2c at 0 {
> +			reg = <0>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +		};
> +		i2c10mux0ch1: i2c at 1 {
> +			reg = <1>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +		};
> +		i2c10mux0ch2: i2c at 2 {
> +			reg = <2>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +		};
> +		i2c10mux0ch3: i2c at 3 {
> +			reg = <3>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +		};
> +		i2c10mux0ch4: i2c at 4 {
> +			reg = <4>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +		};
> +		i2c10mux0ch5: i2c at 5 {
> +			reg = <5>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +
> +			gpio at 22 {
> +				compatible = "nxp,pca9555";
> +				reg = <0x22>;
> +				gpio-controller;
> +				#gpio-cells = <2>;
> +
> +				gpio-line-names =
> +					"","",
> +					"","RBB_CPLD_REFRESH_IN_PRGRS_R_L",
> +					"RBB_EAM0_NIC_CBL_PRSNT_R_L","RBB_EAM1_NIC_CBL_PRSNT_R_L",
> +					"RBB_AINIC_JTAG_MUX_R2_SEL","RBB_SPI_MUX0_R2_SEL",
> +					"RBB_AINIC_PRSNT_R_L","RBB_AINIC_OE_R_N",
> +					"RBB_AINIC_BOARD_R2_ID","RBB_RST_USB2_HUB_R_N",
> +					"RBB_RST_FT4222_R_N","RBB_RST_MCP2210_R_N",
> +					"","";
> +			};
> +
> +			// R Bridge Board FRU
> +			eeprom at 52 {
> +				compatible = "atmel,24c256";
> +				reg = <0x52>;
> +			};
> +		};
> +		i2c10mux0ch6: i2c at 6 {
> +			reg = <6>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +		};
> +		i2c10mux0ch7: i2c at 7 {
> +			reg = <7>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +		};
> +	};
> +};
> +
> +// L Bridge Board
> +&i2c11 {
> +	status = "okay";
> +
> +	i2c-mux at 71 {
> +		compatible = "nxp,pca9548";
> +		reg = <0x71>;
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		i2c-mux-idle-disconnect;
> +
> +		i2c11mux0ch0: i2c at 0 {
> +			reg = <0>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +		};
> +		i2c11mux0ch1: i2c at 1 {
> +			reg = <1>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +		};
> +		i2c11mux0ch2: i2c at 2 {
> +			reg = <2>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +		};
> +		i2c11mux0ch3: i2c at 3 {
> +			reg = <3>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +		};
> +		i2c11mux0ch4: i2c at 4 {
> +			reg = <4>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +		};
> +		i2c11mux0ch5: i2c at 5 {
> +			reg = <5>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +
> +			gpio at 22 {
> +				compatible = "nxp,pca9555";
> +				reg = <0x22>;
> +				gpio-controller;
> +				#gpio-cells = <2>;
> +
> +				gpio-line-names =
> +					"","",
> +					"","LBB_CPLD_REFRESH_IN_PRGRS_R_L",
> +					"LBB_EAM0_NIC_CBL_PRSNT_R_L","LBB_EAM1_NIC_CBL_PRSNT_R_L",
> +					"LBB_AINIC_JTAG_MUX_R2_SEL","LBB_SPI_MUX0_R2_SEL",
> +					"LBB_AINIC_PRSNT_R_L","LBB_AINIC_OE_R_N",
> +					"LBB_AINIC_BOARD_R2_ID","LBB_RST_USB2_HUB_R_N",
> +					"LBB_RST_FT4222_R_N","LBB_RST_MCP2210_R_N",
> +					"","";
> +			};
> +
> +			// L Bridge Board FRU
> +			eeprom at 52 {
> +				compatible = "atmel,24c256";
> +				reg = <0x52>;
> +			};
> +		};
> +		i2c11mux0ch6: i2c at 6 {
> +			reg = <6>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +		};
> +		i2c11mux0ch7: i2c at 7 {
> +			reg = <7>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +		};
> +	};
> +};
> +
> +// Debug Card
> +&i2c12 {
> +	status = "okay";
> +};
> +
> +// MB
> +&i2c13 {
> +	status = "okay";
> +
> +	i2c-mux at 70 {
> +		compatible = "nxp,pca9548";
> +		reg = <0x70>;
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		i2c-mux-idle-disconnect;
> +
> +		i2c13mux0ch0: i2c at 0 {
> +			reg = <0>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +		};
> +		i2c13mux0ch1: i2c at 1 {
> +			reg = <1>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +		};
> +		i2c13mux0ch2: i2c at 2 {
> +			reg = <2>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +		};
> +		i2c13mux0ch3: i2c at 3 {
> +			reg = <3>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +
> +			adc at 1f {
> +				compatible = "ti,adc128d818";
> +				reg = <0x1f>;
> +				ti,mode = /bits/ 8 <1>;
> +			};
> +		};
> +		i2c13mux0ch4: i2c at 4 {
> +			reg = <4>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +
> +			// HPM BRD ID FRU
> +			eeprom at 51 {
> +				compatible = "atmel,24c256";
> +				reg = <0x51>;
> +			};
> +		};
> +		i2c13mux0ch5: i2c at 5 {
> +			reg = <5>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +		};
> +		i2c13mux0ch6: i2c at 6 {
> +			reg = <6>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +		};
> +		i2c13mux0ch7: i2c at 7 {
> +			reg = <7>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +
> +			nfc at 28 {
> +				compatible = "nxp,nxp-nci-i2c";
> +				reg = <0x28>;
> +
> +				interrupt-parent = <&sgpiom0>;
> +				interrupts = <156 IRQ_TYPE_LEVEL_HIGH>;
> +
> +				enable-gpios = <&sgpiom0 241 GPIO_ACTIVE_HIGH>;
> +			};
> +		};
> +	};
> +};
> +
> +// SCM
> +&i2c14 {
> +	status = "okay";
> +};
> +
> +&i2c15 {
> +	status = "okay";
> +};
> +
> +&kcs2 {
> +	aspeed,lpc-io-reg = <0xca8>;
> +	status = "okay";
> +};
> +
> +&kcs3 {
> +	aspeed,lpc-io-reg = <0xca2>;
> +	status = "okay";
> +};
> +
> +&lpc_ctrl {
> +	status = "okay";
> +};
> +
> +&mac2 {
> +	status = "okay";
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_ncsi3_default>;
> +	use-ncsi;
> +};
> +
> +&sgpiom0 {
> +	ngpios = <128>;
> +	bus-frequency = <2000000>;
> +	gpio-line-names =
> +	/*in - out - in - out */
> +	/* A0-A7 line 0-15 */
> +	"", "FM_CPU0_SYS_RESET_N", "", "CPU0_KBRST_N",
> +	"", "FM_CPU0_PROCHOT_trigger_N", "", "FM_CLR_CMOS_R_P0",
> +	"", "Force_I3C_SEL", "", "SYSTEM_Force_Run_AC_Cycle",
> +	"", "", "", "",
> +
> +	/* B0-B7 line 16-31 */
> +	"Channel0_leakage_EAM3", "FM_CPU_FPGA_JTAG_MUX_SEL",
> +	"Channel1_leakage_EAM0", "FM_SCM_JTAG_MUX_SEL",
> +	"Channel2_leakage_Manifold1", "FM_BRIDGE_JTAG_MUX_SEL",
> +	"Channel3_leakage", "FM_CPU0_NMI_SYNC_FLOOD_N",
> +	"Channel4_leakage_Manifold2", "",
> +	"Channel5_leakage_EAM1", "",
> +	"Channel6_leakage_CPU_DIMM", "",
> +	"Channel7_leakage_EAM2", "",
> +
> +	/* C0-C7 line 32-47 */
> +	"RSVD_RMC_GPIO3", "", "", "",
> +	"", "", "", "",
> +	"LEAK_DETECT_RMC_N", "JTAG_CPLD_TRST_R_N", "", "",
> +	"", "", "", "",
> +
> +	/* D0-D7 line 48-63 */
> +	"PWRGD_PDB_EAMHSC0_CPLD_PG_R", "",
> +	"PWRGD_PDB_EAMHSC1_CPLD_PG_R", "",
> +	"PWRGD_PDB_EAMHSC2_CPLD_PG_R", "",
> +	"PWRGD_PDB_EAMHSC3_CPLD_PG_R", "",
> +	"AMC_BRD_PRSNT_CPLD_L", "", "", "",
> +	"", "", "", "",
> +
> +	/* E0-E7 line 64-79 */
> +	"AMC_PDB_EAMHSC0_CPLD_EN_R", "",
> +	"AMC_PDB_EAMHSC1_CPLD_EN_R", "",
> +	"AMC_PDB_EAMHSC2_CPLD_EN_R", "",
> +	"AMC_PDB_EAMHSC3_CPLD_EN_R", "",
> +	"", "", "", "",
> +	"", "", "", "",
> +
> +	/* F0-F7 line 80-95 */
> +	"PWRGD_PVDDCR_CPU1_P0", "SGPIO_READY",
> +	"PWRGD_PVDDCR_CPU0_P0", "",
> +	"", "", "", "",
> +	"", "", "", "",
> +
> +	/* G0-G7 line 96-111 */
> +	"L_PRSNT_EDSFF0_N", "",
> +	"L_PRSNT_EDSFF1_N", "",
> +	"R_PRSNT_EDSFF2_N", "",
> +	"R_PRSNT_EDSFF3_N", "",
> +	"HPM_EDSFF_PG", "",
> +	"PWRGD_CHEH_CPU0_FPGA", "",
> +	"PWRGD_CHAD_CPU0_FPGA", "FM_BMC_READY_PLD",
> +	"", "",
> +
> +	/* H0-H7 line 112-127 */
> +	"PWRGD_P3V3", "",
> +	"P12V_DDR_IP_PWRGD_R", "",
> +	"P12V_DDR_AH_PWRGD_R", "",
> +	"PWRGD_P12V_VRM1_CPLD_PG_R", "",
> +	"PWRGD_P12V_VRM0_CPLD_PG_R", "",
> +	"PWRGD_PDB_HSC4_CPLD_PG_R", "",
> +	"PWRGD_PVDD18_S5_P0_PG", "",
> +	"PWRGD_PVDD33_S5_P0_PG", "",
> +
> +	/* I0-I7 line 128-143 */
> +	"EAM0_BRD_PRSNT_R_L", "",
> +	"EAM1_BRD_PRSNT_R_L", "",
> +	"EAM2_BRD_PRSNT_R_L", "",
> +	"EAM3_BRD_PRSNT_R_L", "",
> +	"EAM0_CPU_MOD_PWR_GD_R", "",
> +	"EAM1_CPU_MOD_PWR_GD_R", "",
> +	"PRSNT_EDSFF_BOOT_N", "",
> +	"EAM3_CPU_MOD_PWR_GD_R", "",
> +
> +	/* J0-J7 line 144-159 */
> +	"PRSNT_L_BIRDGE_R", "",
> +	"PRSNT_R_BIRDGE_R", "",
> +	"BRIDGE_L_MAIN_PG_R", "",
> +	"BRIDGE_R_MAIN_PG_R", "",
> +	"BRIDGE_L_STBY_PG_R", "",
> +	"BRIDGE_R_STBY_PG_R", "",
> +	"", "", "", "",
> +
> +	/* K0-K7 line 160-175 */
> +	"ADC_I2C_ALERT_N", "",
> +	"TEMP_I2C_ALERT_R_L", "",
> +	"CPU0_VR_SMB_ALERT_CPLD_N", "",
> +	"COVER_INTRUDER_R_N", "",
> +	"HANDLE_INTRUDER_CPLD_N", "",
> +	"IRQ_MCIO_CPLD_WAKE_R_N", "",
> +	"APML_CPU0_ALERT_R_N", "",
> +	"PDB_ALERT_R_N", "",
> +
> +	/* L0-L7 line 176-191 */
> +	"L_EDSFF0_PG", "", "L_EDSFF1_PG", "",
> +	"R_EDSFF2_PG", "", "R_EDSFF3_PG", "",
> +	"CPU0_CORETYPE0", "", "CPU0_CORETYPE1", "",
> +	"CPU0_CORETYPE2", "", "FM_BIOS_POST_CMPLT_R_N", "",
> +
> +	/* M0-M7 line 192-207 */
> +	"EAM0_SMERR_CPLD_R_L", "",
> +	"EAM1_SMERR_CPLD_R_L", "",
> +	"EAM2_SMERR_CPLD_R_L", "",
> +	"EAM3_SMERR_CPLD_R_L", "",
> +	"CPU0_SMERR_N_R", "",
> +	"CPU0_NV_SAVE_N_R", "",
> +	"PDB_PWR_LOSS_CPLD_N", "",
> +	"IRQ_BMC_SMI_ACTIVE_R_N", "",
> +
> +	/* N0-N7 line 208-223 */
> +	"AMCROT_BMC_S5_RDY_R", "",
> +	"AMC_RDY_R", "",
> +	"AMC_STBY_PGOOD_R", "",
> +	"CPU_AMC_SLP_S5_R_L", "",
> +	"AMC_CPU_EAMPG_R", "",
> +	"", "", "", "",
> +
> +	/* O0-O7 line 224-239 */
> +	"HPM_PWR_FAIL", "Port80_b0",
> +	"FM_DIMM_IP_FAIL", "Port80_b1",
> +	"FM_DIMM_AH_FAIL", "Port80_b2",
> +	"AMC_THERMTRIP_ASSERT", "Port80_b3",
> +	"CPU_THERMTRIP_ASSERT", "Port80_b4",
> +	"PVDDCR_SOC_P0_OCP_L", "Port80_b5",
> +	"CPLD_SGPIO_RDY", "Port80_b6",
> +	"", "Port80_b7",
> +
> +	/* P0-P7 line 240-255 */
> +	"CPU0_SLP_S5_N_R", "NFC_VEN",
> +	"CPU0_SLP_S3_N_R", "",
> +	"FM_CPU0_PWRGD", "",
> +	"PWRGD_RMC", "",
> +	"FM_RST_CPU0_RESET_N", "",
> +	"FM_PWRGD_CPU0_PWROK", "",
> +	"wS5_PWR_Ready", "",
> +	"wS0_ON_N", "PWRGD_P1V0_AUX";
> +	status = "okay";
> +};
> +
> +// BIOS Flash
> +&spi2 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_spi2_default>;
> +	status = "okay";
> +	reg = <0x1e631000 0xc4>, <0x50000000 0x8000000>;

Why do you overwrite the SPI2 memory size to 128MB only?
Even if you use the other part for the TPM, you should not overwrite the memory
region...

> +
> +	flash at 0 {
> +		compatible = "jedec,spi-nor";
> +		label = "pnor";
> +		spi-max-frequency = <12000000>;
> +		spi-tx-bus-width = <2>;
> +		spi-rx-bus-width = <2>;
> +		status = "okay";
> +	};
> +};
> +
> +// HOST BIOS Debug
> +&uart1 {
> +	status = "okay";
> +};
> +
> +&uart3 {
> +	status = "okay";
> +};
> +
> +&uart4 {
> +	status = "okay";
> +};
> +
> +// BMC Debug Console
> +&uart5 {
> +	status = "okay";
> +};
> +
> +&uart_routing {
> +	status = "okay";
> +};
> +
> +&uhci {
> +	status = "okay";
> +};
> +
> +&vhub {
> +	status = "okay";
> +	pinctrl-names = "default";

aspeed-g6.dtsi sets pinctrl-names to default already. Unnecessary...

Tan

-- 
Tan Siewert <tan.siewert at 9elements.com>



More information about the linux-arm-kernel mailing list