[PATCH 1/7] ARM: dts: nuvoton: Add Quanta GIS BMC Device Tree

Krzysztof Kozlowski krzysztof.kozlowski at linaro.org
Thu Mar 2 23:02:13 PST 2023


On 03/03/2023 07:34, David Wang wrote:
> Add the device tree for the Quanta GIS BMC and it's
> based on NPCM730 SoC
> 


> +};
> diff --git a/arch/arm/boot/dts/nuvoton-npcm730-gis.dts b/arch/arm/boot/dts/nuvoton-npcm730-gis.dts
> new file mode 100644
> index 000000000000..1422b2aadebf
> --- /dev/null
> +++ b/arch/arm/boot/dts/nuvoton-npcm730-gis.dts
> @@ -0,0 +1,1076 @@
> +// SPDX-License-Identifier: GPL-2.0
> +//
> +// Copyright (c) 2020 Quanta Computer Inc. Fran.Hsu at quantatw.com
> +
> +/dts-v1/;
> +#include "nuvoton-npcm730.dtsi"
> +#include "nuvoton-npcm730-gis-pincfg.dtsi"
> +#include <dt-bindings/gpio/gpio.h>
> +
> +/ {
> +	model = "Quanta GIS Board (Device Tree v01.17)";
> +	compatible = "nuvoton,npcm750";

That's not a correct compatible for the board. Add new, correct
compatible (with vendor prefix) and document it in the bindings.

> +
> +	aliases {
> +		serial0 = &serial0;
> +		serial1 = &serial1;
> +		serial2 = &serial2;
> +		serial3 = &serial3;
> +		udc5 = &udc5;
> +		udc6 = &udc6;
> +		udc7 = &udc7;
> +		udc8 = &udc8;
> +		udc9 = &udc9;
> +		i2c0 = &i2c0;
> +		i2c1 = &i2c1;
> +		i2c2 = &i2c2;
> +		i2c3 = &i2c3;
> +		i2c4 = &i2c4;
> +		i2c8 = &i2c8;
> +		i2c11 = &i2c11;
> +		i2c14 = &i2c14;
> +		i2c15 = &i2c15;
> +		i2c16 = &i2c_cpu0_dimmA;
> +		i2c17 = &i2c_cpu0_dimmE;
> +		i2c18 = &i2c_cpu1_dimmA;
> +		i2c19 = &i2c_cpu1_dimmE;
> +		i2c20 = &i2c_clock_gen_0;
> +		i2c21 = &i2c_clock_gen_1;
> +		i2c22 = &i2c_clock_gen_2;
> +		i2c23 = &i2c_clock_gen_3;
> +		i2c24 = &i2c_slot0;
> +		i2c25 = &i2c_slot1;
> +		i2c26 = &i2c_slot2;
> +		i2c27 = &i2c_slot3;
> +		i2c28 = &i2c_slot4;
> +		i2c29 = &i2c_slot5;
> +		i2c30 = &i2c_slot6;
> +		i2c31 = &i2c_slot7;
> +		i2c32 = &i2c_power_0;
> +		i2c33 = &i2c_power_1;
> +		i2c34 = &i2c_power_2;
> +		i2c35 = &i2c_power_3;
> +		i2c36 = &i2c_isl_0;
> +		i2c37 = &i2c_isl_1;
> +		i2c38 = &i2c_isl_2;
> +		i2c39 = &i2c_isl_3;
> +		i2c40 = &i2c_isl_4;
> +		i2c41 = &i2c_isl_5;
> +		i2c42 = &i2c_isl_6;
> +		i2c43 = &i2c_isl_7;
> +		i2c44 = &i2c_hostswap;
> +		i2c45 = &i2c_tmp;
> +		i2c46 = &i2c_fan_controller_1;
> +		i2c47 = &i2c_fan_controller_2;
> +		i2c48 = &i2c_seq;
> +		i2c49 = &i2c_fru_1;
> +		i2c50 = &i2c_fru_2;
> +		i2c51 = &i2c_i2cool_1;
> +		i2c52 = &i2c_i2cool_2;
> +		i2c53 = &i2c_i2cool_3;
> +		i2c54 = &i2c_i2cool_4;
> +		i2c55 = &i2c_cpu_pirom;
> +		fiu0 = &fiu0;
> +		fiu1 = &fiu3;
> +	};
> +
> +	chosen {
> +		stdout-path = &serial3;
> +	};
> +
> +	memory {
> +		reg = <0 0x40000000>;
> +	};
> +
> +	gpio-keys {
> +		compatible = "gpio-keys";
> +		sas-cable0 {

Does not look like you tested the DTS against bindings. Please run `make
dtbs_check` (see Documentation/devicetree/bindings/writing-schema.rst
for instructions).

> +			label = "sas-cable0";
> +			gpios = <&gpio6 19 GPIO_ACTIVE_LOW>;
> +			linux,code = <211>;
> +		};
> +
> +		sas-cable1 {
> +			label = "sas-cable1";
> +			gpios = <&gpio6 20 GPIO_ACTIVE_LOW>;
> +			linux,code = <212>;
> +		};
> +
> +		power-failure {
> +			label = "power-failure";
> +			gpios = <&gpio6 21 GPIO_ACTIVE_LOW>;
> +			linux,code = <213>;
> +		};
> +	};
> +
> +	iio-hwmon {
> +		compatible = "iio-hwmon";
> +		io-channels = <&adc 1>, <&adc 2>, <&adc 3>,
> +			<&adc 4>, <&adc 5>, <&adc 6>, <&adc 7>;
> +	};
> +
> +	iio-hwmon-battery {
> +		compatible = "iio-hwmon";
> +		io-channels = <&adc 0>;
> +	};
> +
> +	leds {
> +		compatible = "gpio-leds";
> +
> +		led-bmc-live {
> +			gpios = <&gpio4 25 GPIO_ACTIVE_HIGH>;
> +			linux,default-trigger = "heartbeat";
> +		};
> +
> +		LED_SYS_ERROR {

Does not look like you tested the DTS against bindings. Please run `make
dtbs_check` (see Documentation/devicetree/bindings/writing-schema.rst
for instructions).

Only lowercase, no underscores in node names.

> +			gpios = <&gpio5 12 GPIO_ACTIVE_HIGH>;
> +			default-state = "off";

Missing properties like color and function (or label).

> +		};
> +
> +		LED_BMC_FAULT {
> +			gpios = <&gpio6 25 GPIO_ACTIVE_HIGH>;
> +			default-state = "off";
> +		};
> +
> +		LED_SYS_ATTN {
> +			gpios = <&gpio6 28 GPIO_ACTIVE_HIGH>;
> +			default-state = "off";
> +		};
> +
> +		LED_SYS_STATE {
> +			gpios = <&gpio6 29 GPIO_ACTIVE_HIGH>;
> +			default-state = "off";
> +		};
> +	};
> +
> +	seven-seg-disp {
> +		compatible = "seven-seg-gpio-dev";
> +		refresh-interval-ms = /bits/ 16 <600>;
> +		clock-gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
> +		data-gpios = <&gpio0 3 GPIO_ACTIVE_HIGH>;
> +		clear-gpios = <&gpio0 1 GPIO_ACTIVE_HIGH>;
> +	};
> +
> +	pcie-slot {

What's this? Which bindings do you implement?

> +		pcie0: pcie-slot at 0 {
> +			label = "PE0";
> +		};
> +
> +		pcie1: pcie-slot at 1 {
> +			label = "PE1";
> +		};
> +
> +		pcie2: pcie-slot at 2 {
> +			label = "PE2";
> +		};
> +
> +		pcie3: pcie-slot at 3 {
> +			label = "PE3";
> +		};
> +
> +		pcie4: pcie-slot at 4 {
> +			label = "PE4";
> +		};
> +
> +		pcie5: pcie-slot at 5 {
> +			label = "PE5";
> +		};
> +
> +		pcie6: pcie-slot at 6 {
> +			label = "PE6";
> +		};
> +
> +		pcie7: pcie-slot at 7 {
> +			label = "PE7";
> +		};
> +	};
> +};
> +

> +&gcr {
> +	serial_port_mux: mux-controller {
> +		compatible = "mmio-mux";
> +		#mux-control-cells = <1>;
> +		mux-reg-masks = <0x38 0x07>;
> +		idle-states = <2>; /* Serial port mode 3 (takeover) */
> +	};
> +};
> +
> +&gmac0 {
> +	phy-mode = "rgmii-id";
> +	snps,eee-force-disable;
> +	status = "okay";
> +};
> +
> +&emc0 {
> +	status = "okay";
> +	fixed-link {
> +		speed = <100>;
> +		full-duplex;
> +	};
> +};
> +
> +&mc {
> +	status = "okay";
> +};
> +
> +&ehci1 {
> +	status = "okay";
> +};
> +
> +&ohci1 {
> +	status = "okay";
> +};
> +
> +&aes {
> +	status = "okay";
> +};
> +
> +&sha {
> +	status = "okay";
> +};
> +
> +&udc5 {
> +	status = "okay";
> +};
> +
> +&udc6 {
> +	status = "okay";
> +};
> +
> +&udc7 {
> +	status = "okay";
> +};
> +
> +&udc8 {
> +	status = "okay";
> +};
> +
> +&udc9 {
> +	status = "okay";
> +};
> +
> +&pcimbox {
> +	status = "okay";
> +};
> +
> +&fiu0 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&spi0cs1_pins>;
> +	status = "okay";
> +	flash at 0 {
> +		compatible = "jedec,spi-nor";
> +		#address-cells = <1>;
> +		#size-cells = <1>;

Are you sure you tested the DTS with dtbs_check?

> +		reg = <0>;
> +		spi-max-frequency = <19000000>;
> +		spi-rx-bus-width = <2>;
> +		label = "bmc";
> +		partitions {
> +			compatible = "fixed-partitions";
> +			#address-cells = <1>;
> +			#size-cells = <1>;
> +			u-boot at 0 {
> +				label = "u-boot";
> +				reg = <0x0000000 0xf0000>;
> +			};
> +			image-descriptor at f0000 {
> +				label = "image-descriptor";
> +				reg = <0xf0000 0x10000>;
> +			};
> +			hoth-update at 100000 {
> +				label = "hoth-update";
> +				reg = <0x100000 0x100000>;
> +			};
> +			kernel at 200000 {
> +				label = "kernel";
> +				reg = <0x200000 0x500000>;
> +			};
> +			rofs at 700000 {
> +				label = "rofs";
> +				reg = <0x700000 0x35f0000>;
> +			};
> +			rwfs at 3cf0000 {
> +				label = "rwfs";
> +				reg = <0x3cf0000 0x300000>;
> +			};
> +			hoth-mailbox at 3ff0000 {
> +				label = "hoth-mailbox";
> +				reg = <0x3ff0000 0x10000>;
> +			};
> +		};
> +	};
> +};
> +
> +&fiu3 {
> +	pinctrl-0 = <&spi3_pins>, <&spi3cs1_pins>;
> +	status = "okay";
> +	flash at 0 {
> +		compatible = "jedec,spi-nor";
> +		#address-cells = <1>;
> +		#size-cells = <1>;
> +		reg = <0>;
> +		spi-max-frequency = <20000000>;
> +		spi-rx-bus-width = <2>;
> +		label="bios";
> +	};
> +	flash at 1 {
> +		compatible = "jedec,spi-nor";
> +		#address-cells = <1>;
> +		#size-cells = <1>;

Same problem.

> +		reg = <1>;
> +		spi-max-frequency = <20000000>;
> +		spi-rx-bus-width = <2>;
> +		label = "bios-secondary";
> +		partitions {
> +			compatible = "fixed-partitions";
> +			#address-cells = <1>;
> +			#size-cells = <1>;
> +			bios-secondary-zero at 0 {
> +				label = "bios-secondary-0";
> +				reg = <0x0000000 0x4000000>;
> +			};
> +			bios-secondary-one at 4000000 {
> +				label = "bios-secondary-1";
> +				reg = <0x4000000 0x4000000>;
> +			};
> +		};
> +	};
> +};
> +
> +&watchdog1 {
> +	status = "okay";
> +};
> +
> +&rng {
> +	status = "okay";
> +};
> +
> +&serial0 {
> +	status = "okay";
> +};
> +
> +&serial1 {
> +	status = "okay";
> +};
> +
> +&serial2 {
> +	status = "okay";
> +};
> +
> +&serial3 {
> +	status = "okay";
> +};
> +
> +&adc {
> +	#io-channel-cells = <1>;
> +	status = "okay";
> +};
> +
> +&otp {
> +	status = "okay";
> +};
> +
> +&lpc_kcs {
> +	kcs1: kcs1 at 0 {
> +		status = "okay";
> +	};
> +
> +	kcs2: kcs2 at 0 {
> +		status = "okay";
> +	};
> +
> +	kcs3: kcs3 at 0 {
> +		status = "okay";
> +	};
> +};
> +
> +&lpc_host {
> +	lpc_bpc: lpc_bpc at 40 {
> +		monitor-ports = <0x80>;
> +		status = "okay";
> +	};
> +};
> +
> +&i2c0 {
> +	#address-cells = <1>;
> +	#size-cells = <0>;
> +	clock-frequency = <400000>;
> +	status = "disabled";

Why?

> +	i2c-switch at 73 {
> +		compatible = "nxp,pca9546";
> +		reg = <0x73>;
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		i2c-mux-idle-disconnect;
> +		reset-gpios = <&pca9538 0 GPIO_ACTIVE_LOW>;
> +
> +		i2c_cpu0_dimmA: i2c at 0 {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			reg = <0>;
> +		};
> +
> +		i2c_cpu0_dimmE: i2c at 1 {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			reg = <1>;
> +		};
> +		i2c_cpu1_dimmA: i2c at 2 {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			reg = <2>;
> +		};
> +
> +		i2c_cpu1_dimmE: i2c at 3 {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			reg = <3>;
> +		};
> +	};
> +};
> +
> +&i2c1 {
> +	#address-cells = <1>;
> +	#size-cells = <0>;
> +	clock-frequency = <400000>;
> +	status = "okay";
> +	i2c-switch at 74 {
> +		compatible = "nxp,pca9546";
> +		reg = <0x74>;
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		i2c-mux-idle-disconnect;
> +		reset-gpios = <&pca9538 1 GPIO_ACTIVE_LOW>;
> +
> +		i2c_clock_gen_0: i2c at 0 {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			reg = <0>;
> +		};
> +
> +		i2c_clock_gen_1: i2c at 1 {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			reg = <1>;
> +		};
> +		i2c_clock_gen_2: i2c at 2 {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			reg = <2>;
> +		};
> +
> +		i2c_clock_gen_3: i2c at 3 {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			reg = <3>;
> +		};
> +	};
> +
> +	i2c-switch at 75 {
> +		compatible = "nxp,pca9548";
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		reg = <0x75>;
> +		i2c-mux-idle-disconnect;
> +		reset-gpios = <&pca9538 4 GPIO_ACTIVE_LOW>;
> +
> +		i2c_slot0: i2c at 0 {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			reg = <0>;
> +			pcie-slot = &pcie0;
> +		};
> +
> +		i2c_slot1: i2c at 1 {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			reg = <1>;
> +			pcie-slot = &pcie1;
> +		};
> +
> +		i2c_slot2: i2c at 2 {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			reg = <2>;
> +			pcie-slot = &pcie2;
> +			lm90 at 4a {
> +				compatible = "national,lm90";
> +				reg = <0x4a>;
> +			};
> +		};
> +
> +		i2c_slot3: i2c at 3 {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			reg = <3>;
> +			pcie-slot = &pcie3;
> +		};
> +
> +		i2c_slot4: i2c at 4 {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			reg = <4>;
> +			pcie-slot = &pcie4;
> +		};
> +
> +		i2c_slot5: i2c at 5 {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			reg = <5>;
> +			pcie-slot = &pcie5;
> +		};
> +
> +		i2c_slot6: i2c at 6 {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			reg = <6>;
> +			pcie-slot = &pcie6;
> +		};
> +
> +		i2c_slot7: i2c at 7 {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			reg = <7>;
> +			pcie-slot = &pcie7;
> +		};
> +	};
> +};
> +
> +&i2c2 {
> +	#address-cells = <1>;
> +	#size-cells = <0>;
> +	clock-frequency = <400000>;
> +	status = "okay";
> +
> +	i2c-switch at 75 {
> +		compatible = "nxp,pca9546";
> +		reg = <0x75>;
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		i2c-mux-idle-disconnect;
> +		reset-gpios = <&pca9538 2 GPIO_ACTIVE_LOW>;
> +
> +		i2c_power_0: i2c at 0 {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			reg = <0>;
> +			zl8802 at 5b {
> +				compatible = "isil,zl8802";
> +				reg = <0x5b>;
> +			};
> +		};
> +
> +		i2c_power_1: i2c at 1 {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			reg = <1>;
> +			max16600 at 60 {
> +				compatible = "max16600";
> +				reg = <0x60>;
> +			};
> +		};
> +
> +		i2c_power_2: i2c at 2 {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			reg = <2>;
> +			max16600 at 60 {
> +				compatible = "max16600";
> +				reg = <0x60>;
> +			};
> +		};
> +
> +		i2c_power_3: i2c at 3 {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			reg = <3>;
> +			stb_12v at 68 {
> +				compatible = "pm6764tr";
> +				reg = <0x68>;
> +			};
> +		};
> +	};
> +
> +	i2c-switch at 77 {
> +		compatible = "nxp,pca9548";
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		reg = <0x77>;
> +		i2c-mux-idle-disconnect;
> +		reset-gpios = <&pca9538 5 GPIO_ACTIVE_LOW>;
> +
> +		i2c_isl_0: i2c at 0 {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			reg = <0>;
> +			vrm at 46 {
> +				compatible = "isil,isl69222";
> +				reg = <0x46>;
> +			};
> +		};
> +
> +		i2c_isl_1: i2c at 1 {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			reg = <1>;
> +			vrm at 46 {
> +				compatible = "isil,isl69222";
> +				reg = <0x46>;
> +			};
> +		};
> +
> +		i2c_isl_2: i2c at 2 {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			reg = <2>;
> +			vrm at 46 {
> +				compatible = "isil,isl69222";
> +				reg = <0x46>;
> +			};
> +		};
> +
> +		i2c_isl_3: i2c at 3 {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			reg = <3>;
> +			vrm at 46 {
> +				compatible = "isil,isl69222";
> +				reg = <0x46>;
> +			};
> +		};
> +
> +		i2c_isl_4: i2c at 4 {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			reg = <4>;
> +			vrm at 46 {
> +				compatible = "isil,isl69228";
> +				reg = <0x46>;
> +			};
> +		};
> +
> +		i2c_isl_5: i2c at 5 {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			reg = <5>;
> +			vrm at 46 {
> +				compatible = "isil,isl69228";
> +				reg = <0x46>;
> +			};
> +		};
> +
> +		i2c_isl_6: i2c at 6 {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			reg = <6>;
> +			vrm at 46 {
> +				compatible = "isil,isl69228";
> +				reg = <0x46>;
> +			};
> +		};
> +
> +		i2c_isl_7: i2c at 7 {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			reg = <7>;
> +			vrm at 46 {
> +				compatible = "isil,isl69228";
> +				reg = <0x46>;
> +			};
> +		};
> +	};
> +};
> +
> +&i2c3 {
> +	#address-cells = <1>;
> +	#size-cells = <0>;
> +	clock-frequency = <400000>;
> +	status = "okay";
> +
> +	pca9538: pca9538 at 72 {

Node names should be generic.
https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation

> +		compatible = "nxp,pca9538";
> +		reg = <0x72>;
> +		gpio-controller;
> +		#gpio-cells = <2>;
> +
> +		U3009_P0 {


No underscores in node names, only lowercase characters.

> +			gpio-hog;
> +			gpios = <0 0>;
> +			output-low;
> +			line-name = "RST_SMB_MUX_TCA9545_N";
> +		};
> +	};
> +
> +	i2c-switch at 75 {
> +		compatible = "nxp,pca9546";
> +		reg = <0x75>;
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		i2c-mux-idle-disconnect;
> +		reset-gpios = <&pca9538 3 GPIO_ACTIVE_LOW>;
> +
> +		i2c_hostswap: i2c at 0 {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			reg = <0>;
> +
> +			adm1272 at 1f {
> +				compatible = "adi,adm1272";
> +				reg = <0x1f>;
> +				shunt-resistor-micro-ohms = <330>;
> +			};
> +		};
> +		i2c_tmp: i2c at 1 {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			reg = <1>;
> +		};
> +		i2c_fan_controller_1: i2c at 2 {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			reg = <2>;
> +			fan_controller at 2c {
> +				compatible = "maxim,max31790";
> +				reg = <0x2c>;
> +				#address-cells = <1>;
> +				#size-cells = <0>;
> +			};
> +		};
> +
> +		i2c_fan_controller_2: i2c at 3 {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			reg = <3>;
> +			fan_controller at 2c {
> +				compatible = "maxim,max31790";
> +				reg = <0x2c>;
> +				#address-cells = <1>;
> +				#size-cells = <0>;
> +			};
> +		};
> +	};
> +
> +	i2c-switch at 77 {
> +		compatible = "nxp,pca9548";
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		reg = <0x77>;
> +		i2c-mux-idle-disconnect;
> +		reset-gpios = <&pca9538 6 GPIO_ACTIVE_LOW>;
> +
> +		i2c_seq: i2c at 0 {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			reg = <0>;
> +			Sequencer at 59 {
> +				compatible = "maxim,max34451";
> +				reg = <0x59>;
> +			};
> +		};
> +
> +		i2c_fru_1: i2c at 1 {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			reg = <1>;
> +			mobo_fru at 55 {
> +				compatible = "atmel,24c64";
> +				reg = <0x55>;
> +			};
> +		};
> +
> +		i2c_fru_2: i2c at 2 {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			reg = <2>;
> +			eeprom at 50 {
> +				compatible = "atmel,24c2048";
> +				reg = <0x50>;
> +			};
> +		};
> +
> +		i2c_i2cool_1: i2c at 3 {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			reg = <3>;
> +			lm75 at 5c {
> +				compatible = "maxim,max31725";
> +				reg = <0x5c>;
> +				status = "okay";
> +			};
> +		};
> +
> +		i2c_i2cool_2: i2c at 4 {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			reg = <4>;
> +			lm75 at 5c {
> +				compatible = "maxim,max31725";
> +				reg = <0x5c>;
> +				status = "okay";
> +			};
> +		};
> +
> +		i2c_i2cool_3: i2c at 5 {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			reg = <5>;
> +			lm75 at 5c {
> +				compatible = "maxim,max31725";
> +				reg = <0x5c>;
> +				status = "okay";
> +			};
> +		};
> +
> +		i2c_i2cool_4: i2c at 6 {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			reg = <6>;
> +			lm75 at 5c {
> +				compatible = "maxim,max31725";
> +				reg = <0x5c>;
> +				status = "okay";
> +			};
> +		};
> +
> +		i2c_cpu_pirom: i2c at 7 {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			reg = <7>;
> +		};
> +	};
> +};
> +
> +&i2c4 {
> +	#address-cells = <1>;
> +	#size-cells = <0>;
> +	clock-frequency = <400000>;
> +	status = "okay";
> +	slave_mqueue: i2c-slave-mqueue at 40000010 {
> +		compatible = "i2c-slave-mqueue";
> +		reg = <0x40000010>;
> +		status = "okay";

Why do you need status here?

> +	};
> +};
> +
> +&i2c8 {
> +	#address-cells = <1>;
> +	#size-cells = <0>;
> +	clock-frequency = <400000>;
> +	status = "okay";
> +};
> +
> +&i2c11 {
> +	#address-cells = <1>;
> +	#size-cells = <0>;
> +	clock-frequency = <100000>;
> +	status = "okay";
> +};
> +
> +&i2c14 {
> +	#address-cells = <1>;
> +	#size-cells = <0>;
> +	clock-frequency = <100000>;
> +	status = "okay";
> +	Sequencer at 59 {

No underscores in node names, only lowercase characters.

> +		compatible = "maxim,max34451";
> +		reg = <0x59>;
> +	};
> +
> +	bmc_fru at 55 {

Ehh... this is poor.. I'll stop review.



Best regards,
Krzysztof




More information about the linux-arm-kernel mailing list