[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <533e305d-7659-4343-b2e8-ee40391bfa84@kernel.org>
Date: Sat, 16 Aug 2025 10:17:46 +0200
From: Krzysztof Kozlowski <krzk@...nel.org>
To: Marc Olberding <molberding@...dia.com>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>, Conor Dooley
<conor+dt@...nel.org>, Joel Stanley <joel@....id.au>,
Andrew Jeffery <andrew@...econstruct.com.au>
Cc: devicetree@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linux-aspeed@...ts.ozlabs.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 3/3] ARM: dts: aspeed: Add device tree for mgx4u BMC
On 15/08/2025 21:45, Marc Olberding wrote:
> + i2c69 = &i2c9_mux_6;
> + i2c70 = &i2c9_mux_7;
> + };
> +
> + chosen {
> + bootargs = "console=ttyS4,115200n8";
No, use stdout.
> + };
> +
> + memory@...00000 {
> + device_type = "memory";
> + reg = <0x80000000 0x80000000>;
> + };
> +
> + reserved-memory {
> + #address-cells = <1>;
> + #size-cells = <1>;
> + ranges;
> +
> + gfx_memory: framebuffer {
> + size = <0x01000000>;
> + alignment = <0x01000000>;
> + compatible = "shared-dma-pool";
> + reusable;
> + };
> +
> + video_engine_memory: jpegbuffer {
> + size = <0x02000000>; /* 32M */
> + alignment = <0x01000000>;
> + compatible = "shared-dma-pool";
> + reusable;
> + };
> + };
> +};
> +
> +&ehci1 {
> + status = "okay";
> +};
> +
> +&emmc_controller {
> + status = "okay";
> +};
> +
> +&emmc {
> + non-removable;
> + bus-width = <4>;
> + max-frequency = <100000000>;
> + clk-phase-mmc-hs200 = <9>, <225>;
> +};
> +
> +&fmc {
> + status = "okay";
> +
> + flash@0 {
> + status = "okay";
> + m25p,fast-read;
> + label = "bmc";
> + spi-rx-bus-width = <4>;
> + spi-tx-bus-width = <4>;
> + spi-max-frequency = <50000000>;
> +#include "openbmc-flash-layout-128.dtsi"
> + };
> +};
> +
> +&gfx {
> + memory-region = <&gfx_memory>;
> + status = "okay";
> +};
> +
> +&gpio0 {
> + gpio-line-names =
> + /*A0-A7*/ "","","","","","","","",
> + /*B0-B7*/ "","","","","","","","RST_BMC_8211F_N",
> + /*C0-C7*/ "","","","","","","","",
> + /*D0-D7*/ "","","","","","","","",
> + /*E0-E7*/ "","","","","","","","",
> + /*F0-F7*/ "","RST_BIOSROM_1_BMC_N","","RST_SPI_PFRM1_R_N","","","SPI_BIOS_MUX_SEL","",
> + /*G0-G7*/ "","","","","","","","",
> + /*H0-H7*/ "","","","","","","","",
> + /*I0-I7*/ "","","","","","","","",
> + /*J0-J7*/ "","","","","","","","",
> + /*K0-K7*/ "","","","","","","","",
> + /*L0-L7*/ "","","","","","","","",
> + /*M0-M7*/ "","","","","","","","",
> + /*N0-N7*/ "","","","","","","","",
> + /*O0-O7*/ "","","","","","","","",
> + /*P0-P7*/ "","","","","","","","",
> + /*Q0-Q7*/ "","","","","","","","",
> + /*R0-R7*/ "","","","","","","","",
> + /*S0-S7*/ "","","","","","","","",
> + /*T0-T7*/ "","","","","","","","",
> + /*U0-U7*/ "","","","","","","","",
> + /*V0-V7*/ "","","SCM_HPM_STBY_RST_N","","SCM_HPM_STBY_EN","","","",
> + /*W0-W7*/ "","","","","","","","",
> + /*X0-X7*/ "","","","","","","","",
> + /*Y0-Y7*/ "","","","","","","","",
> + /*Z0-Z7*/ "","","","","","","","";
> + status = "okay";
> +};
> +
> +&gpio1 {
> + gpio-line-names =
> + /*18A0-18A7*/ "","","","","","","","",
> + /*18B0-18B7*/ "","","","","SW_MAIN_EN","HOST_GLOBAL_WP_N","","",
> + /*18C0-18C7*/ "","","","","","","","",
> + /*18D0-18D7*/ "","","","","","","","",
> + /*18E0-18E3*/ "","","","";
> + status = "okay";
> +};
> +
> +&i2c0 {
> + status = "okay";
> +
> + i2c-mux@73 {
> + compatible = "nxp,pca9548";
> + reg = <0x73>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + i2c-mux-idle-disconnect;
> +
> + i2c0_mux_0: i2c@0 {
> + reg = <0>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + };
> +
> + i2c0_mux_1: i2c@1 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + reg = <1>;
> + };
> +
> + i2c0_mux_2: i2c@2 {
> + reg = <2>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + };
> +
> + i2c0_mux_3: i2c@3 {
> + reg = <3>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + eeprom@51 {
> + compatible = "atmel,24c02";
> + reg = <0x51>;
> + };
> + };
> +
> + i2c0_mux_4: i2c@4 {
> + reg = <4>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + };
> +
> + i2c0_mux_5: i2c@5 {
> + reg = <5>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + };
> +
> + i2c0_mux_6: i2c@6 {
> + reg = <6>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + tmp75@4c {
Node names should be generic. See also an explanation and list of
examples (not exhaustive) in DT specification:
https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation
> + compatible = "ti,tmp75";
> + reg = <0x4c>;
> + };
> + };
> +
> + i2c0_mux_7: i2c@7 {
> + reg = <7>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + };
> + };
> +
> + i2c-mux@77 {
> + compatible = "nxp,pca9548";
> + reg = <0x77>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + i2c-mux-idle-disconnect;
> +
> + i2c0_1_mux_0: i2c@0 {
> + reg = <0>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + };
> +
> + i2c0_1_mux_1: i2c@1 {
> + reg = <1>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + };
> +
> + i2c0_1_mux_2: i2c@2 {
> + reg = <2>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + };
> +
> + i2c0_1_mux_3: i2c@3 {
> + reg = <3>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + };
> +
> + i2c0_1_mux_4: i2c@4 {
> + reg = <4>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + };
> +
> + i2c0_1_mux_5: i2c@5 {
> + reg = <5>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + };
> +
> + i2c0_1_mux_6: i2c@6 {
> + reg = <6>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + };
> +
> + i2c0_1_mux_7: i2c@7 {
> + reg = <7>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + };
> + };
> +};
> +
> +&i2c3 {
> + status = "okay";
> +
> + i2c-mux@72 {
> + compatible = "nxp,pca9548";
> + reg = <0x72>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + i2c-mux-idle-disconnect;
> +
> + i2c3_mux_6: i2c@6 {
> + reg = <6>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + };
> +
> + i2c3_mux_7: i2c@7 {
> + reg = <7>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + };
> + };
> +};
> +
> +&i2c4 {
> + status = "okay";
> +};
> +
> +&i2c5 {
> + status = "okay";
> +
> + i2c-mux@77 {
> + compatible = "nxp,pca9548";
> + reg = <0x77>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + i2c-mux-idle-disconnect;
> +
> + i2c5_mux_0: i2c@0 {
> + reg = <0>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + };
> +
> + i2c5_mux_1: i2c@1 {
> + reg = <1>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + };
> +
> + i2c5_mux_2: i2c@2 {
> + reg = <2>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + };
> +
> + i2c5_mux_3: i2c@3 {
> + reg = <3>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + };
> +
> + i2c5_mux_4: i2c@4 {
> + reg = <4>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + };
> +
> + i2c5_mux_5: i2c@5 {
> + reg = <5>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + };
> +
> + i2c5_mux_6: i2c@6 {
> + reg = <6>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + };
> +
> + i2c5_mux_7: i2c@7 {
> + reg = <7>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + };
> + };
> +};
> +
> +&i2c6 {
> + status = "okay";
> +
> + i2c-mux@70 {
> + reg = <0x70>;
> + compatible = "nxp,pca9548";
> + #address-cells = <1>;
> + #size-cells = <0>;
> + i2c-mux-idle-disconnect;
> +
> + i2c6_mux_0: i2c@0 {
> + reg = <0>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + tmp75@4a {
> + compatible = "ti,tmp75";
> + reg = <0x4a>;
> + };
> +
> + tmp75@4b {
> + compatible = "ti,tmp75";
> + reg = <0x4b>;
> + };
> +
> + eeprom@51 {
> + compatible = "atmel,24c64";
> + reg = <0x51>;
> + pagesize = <32>;
> + };
> + };
> +
> + i2c6_mux_1: i2c@1 {
> + reg = <1>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + /*fan controller 0*/
> + max31790@20 {
> + compatible = "maxim,max31790";
> + reg = <0x20>;
> + };
> +
> + /*fan controller 1*/
> + max31790@21 {
> + compatible = "maxim,max31790";
> + reg = <0x21>;
> + };
> +
> + eeprom@57 {
> + compatible = "atmel,24c64";
> + reg = <0x57>;
> + pagesize = <32>;
> + };
> +
> + hpmfanio: pca9555@27 {
Node names should be generic. See also an explanation and list of
examples (not exhaustive) in DT specification:
https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation
> + compatible = "nxp,pca9555";
> + reg = <0x27>;
> + gpio-controller;
> + #gpio-cells = <2>;
> + interrupt-controller;
> + #interrupt-cells = <2>;
> + interrupt-parent = <&gpio0>;
> + interrupts = <11 0>;
> + gpio-line-names =
> + "HPM_FAN1_INSTALL", "HPM_FAN2_INSTALL",
> + "HPM_FAN3_INSTALL", "HPM_FAN4_INSTALL",
> + "HPM_FAN5_INSTALL", "",
> + "","";
> + };
> + };
> +
> + i2c6_mux_2: i2c@2 {
> + reg = <2>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + };
> +
> + i2c6_mux_3: i2c@3 {
> + reg = <3>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + /* 4056 fan board_EEPROM*/
> + eeprom@57 {
> + compatible = "atmel,24c64";
> + reg = <0x57>;
> + pagesize = <32>;
> + };
> +
> + /*fan controller 0*/
> + max31790@20 {
> + compatible = "maxim,max31790";
> + reg = <0x20>;
> + };
> + /*fan controller 1*/
> + max31790@21 {
> + compatible = "maxim,max31790";
> + reg = <0x21>;
> + };
> +
> + gpufanio: pca9555@27 {
> + compatible = "nxp,pca9555";
> + reg = <0x27>;
> + gpio-controller;
> + #gpio-cells = <2>;
> + interrupt-controller;
> + #interrupt-cells = <2>;
> + interrupt-parent = <&gpio0>;
> + interrupts = <11 0>;
> + gpio-line-names =
> + "GPU_FAN1_INSTALL", "GPU_FAN2_INSTALL",
> + "GPU_FAN3_INSTALL", "GPU_FAN4_INSTALL",
> + "GPU_FAN5_INSTALL", "",
> + "","";
> + };
> + };
> +
> + i2c6_mux_4: i2c@4 {
> + reg = <4>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + /* IO board EEPROM*/
> + eeprom@57 {
> + compatible = "atmel,24c64";
> + reg = <0x57>;
> + pagesize = <32>;
> + };
> + };
> +
> + i2c6_mux_5: i2c@5 {
> + reg = <5>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + };
> +
> + i2c6_mux_6: i2c@6 {
> + reg = <6>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + };
> +
> + i2c6_mux_7: i2c@7 {
> + reg = <7>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + };
> + };
> +};
> +
> +&i2c7 {
> + multi-master;
> + status = "okay";
> +
> + i2c-mux@70 {
> + compatible = "nxp,pca9548";
> + reg = <0x70>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + i2c7_mux_0: i2c@0 {
> + reg = <0>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + };
> +
> + i2c7_mux_1: i2c@1 {
> + reg = <1>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + i2c-mux@71 {
> + compatible = "nxp,pca9545";
> + reg = <0x71>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + i2c7_1_mux_0: i2c@0 {
> + reg = <0>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + };
> +
> + i2c7_1_mux_1: i2c@1 {
> + reg = <1>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + eeprom@55 {
> + compatible = "atmel,24c64";
> + reg = <0x55>;
> + pagesize = <32>;
> + };
> +
> + eeprom@50 {
> + compatible = "atmel,24c02";
> + reg = <0x50>;
> + pagesize = <32>;
> + };
> +
> + eeprom@53 {
> + compatible = "atmel,24c02";
> + reg = <0x53>;
> + pagesize = <32>;
> + };
> + };
> +
> + i2c7_1_mux_2: i2c@2 {
> + reg = <2>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + };
> +
> + i2c7_1_mux_3: i2c@3 {
> + reg = <3>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + };
> + };
> + };
> +
> + i2c7_mux_2: i2c@2 {
> + reg = <2>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + };
> +
> + i2c7_mux_3: i2c@3 {
> + reg = <3>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + /* XDPE19284B - CPU0 PVCCIN VR */
> + xdpe152c4@60 {
> + compatible = "infineon,xdpe152c4";
> + reg = <0x60>;
> + };
> +
> + /* XDPE19284B - CPU0 PVCCFA EHV FIVRA / PVCCINF_VR*/
> + xdpe152c4@62 {
> + compatible = "infineon,xdpe152c4";
> + reg = <0x62>;
> + };
> +
> + /* XDPE19284B - CPU0 PVCCA EHV PVCCIN VR */
> + xdpe152c4@74 {
> + compatible = "infineon,xdpe152c4";
> + reg = <0x74>;
> + };
> +
> + /* XDPE19284B - CPU0 PVVCCD0 & D1 VR */
> + xdpe152c4@76 {
> + compatible = "infineon,xdpe152c4";
> + reg = <0x76>;
> + };
> + };
> +
> + i2c7_mux_4: i2c@4 {
> + reg = <4>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + /* XDPE19284B - CPU1 PVCCIN VR */
> + xdpe152c4@60 {
Node names should be generic. See also an explanation and list of
examples (not exhaustive) in DT specification:
https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation
Best regards,
Krzysztof
Powered by blists - more mailing lists