[PATCH linux dev-4.10 v3] ARM: aspeed: Add Mellanox MSN machine (device tree)

Andrew Jeffery andrew at aj.id.au
Tue May 30 13:32:07 AEST 2017


Hi Mykola,

One comment about the i2c nodes below.

On Mon, 2017-05-29 at 16:54 +0300, Mykola Kostenok wrote:
> Initial introduction of Mellanox switches of MSNXXXX family equipped
> with Aspeed 2520 BMC SoC. This adds msn platform device tree file.
> 
> > Signed-off-by: Mykola Kostenok <c_mykolak at mellanox.com>
> ---
> v1->v2
> Fixed issues pointed out by Joel:
> - Make commit title shorter.
> - Replace flash layout from separate dtsi to dts.
> - Change compatible = "mellanox,msnxxxx-bmc" to "mellanox,msn-bmc".
> - Remove no-hw-checksum from dts.
> - Add comments.
> - Remove WD2 disable from aspeed.c
> - Add wdt2 to dts.
> 
> v2->v3
> Fixed issues pointed out by Joel:
> - Split v2 patch into three separate.
> - Remove unnesesary include in dts.
> - Replace flash layout to separate dsti.
> - Remove spi2 as it was disabled.
> - Add uart1 pinctrl.
> ---
>  .../devicetree/bindings/vendor-prefixes.txt        |   1 +
>  arch/arm/boot/dts/Makefile                         |   1 +
>  .../dts/aspeed-bmc-mellanox-msn-flash-layout.dtsi  |  32 ++++
>  arch/arm/boot/dts/aspeed-bmc-mellanox-msn.dts      | 192 +++++++++++++++++++++
>  4 files changed, 226 insertions(+)
>  create mode 100644 arch/arm/boot/dts/aspeed-bmc-mellanox-msn-flash-layout.dtsi
>  create mode 100644 arch/arm/boot/dts/aspeed-bmc-mellanox-msn.dts
> 
> diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt
> index 16d3b5e7f5d1..84601d869a1b 100644
> --- a/Documentation/devicetree/bindings/vendor-prefixes.txt
> +++ b/Documentation/devicetree/bindings/vendor-prefixes.txt
> > @@ -172,6 +172,7 @@ meas	Measurement Specialties
> >  mediatek	MediaTek Inc.
> >  melexis	Melexis N.V.
> >  melfas	MELFAS Inc.
> > +mellanox	Mellanox Technologies
> >  memsic	MEMSIC Inc.
> >  merrii	Merrii Technology Co., Ltd.
> >  micrel	Micrel Inc.
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index 30fe65627f30..3dba6c633686 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -990,6 +990,7 @@ dtb-$(CONFIG_ARCH_ASPEED) += aspeed-bmc-opp-palmetto.dtb \
> >  	aspeed-bmc-opp-witherspoon.dtb \
> >  	aspeed-bmc-opp-zaius.dtb \
> >  	aspeed-bmc-opp-lanyang.dtb \
> > +	aspeed-bmc-mellanox-msn.dtb \
> >  	aspeed-ast2500-evb.dtb
>  endif
>  
> diff --git a/arch/arm/boot/dts/aspeed-bmc-mellanox-msn-flash-layout.dtsi b/arch/arm/boot/dts/aspeed-bmc-mellanox-msn-flash-layout.dtsi
> new file mode 100644
> index 000000000000..cf8ee54f13c2
> --- /dev/null
> +++ b/arch/arm/boot/dts/aspeed-bmc-mellanox-msn-flash-layout.dtsi
> @@ -0,0 +1,32 @@
> +/* This file is the label for the bmc primary flash and its partitions */
> > +				label = "bmc";
> > +				#address-cells = < 1 >;
> > +				#size-cells = < 1 >;
> > +				u-boot {
> > +					reg = < 0 0x60000 >;
> > +					label = "u-boot";
> > +				};
> > +				u-boot-env {
> > +					reg = < 0x60000 0x10000>;
> > +					label = "u-boot-env";
> > +				};
> > +				kernel  {
> > +					reg = < 0x70000 0x280000 >;
> > +					label = "kernel";
> > +				};
> > +				dtb  {
> > +					reg = < 0x2f0000 0x10000 >;
> > +					label = "dtb";
> > +				};
> > +				initramfs {
> > +					reg = < 0x300000 0x1c0000 >;
> > +					label = "initramfs";
> > +				};
> > +				rofs  {
> > +					reg = < 0x4c0000 0x1740000 >;
> > +					label = "rofs";
> > +				};
> > +				rwfs  {
> > +					reg = < 0x1c00000 0x400000 >;
> > +					label = "rwfs";
> > +				};
> diff --git a/arch/arm/boot/dts/aspeed-bmc-mellanox-msn.dts b/arch/arm/boot/dts/aspeed-bmc-mellanox-msn.dts
> new file mode 100644
> index 000000000000..4c69caf08111
> --- /dev/null
> +++ b/arch/arm/boot/dts/aspeed-bmc-mellanox-msn.dts
> @@ -0,0 +1,192 @@
> +/dts-v1/;
> +
> +#include <dt-bindings/gpio/aspeed-gpio.h>
> +#include "aspeed-g5.dtsi"
> +
> +/ {
> > +	model = "MSN BMC";
> > +	compatible = "mellanox,msn-bmc", "aspeed,ast2500";
> +
> > +	aliases {
> > +		serial0 = &uart1;
> > +		serial4 = &uart5;
> > +	};
> +
> > +	chosen {
> > +		stdout-path = &uart5;
> > +		bootargs = "console=ttyS4,115200n8 earlyprintk";
> > +	};
> +
> > +	memory {
> > +		/* 512MiB SDRAM DDR4 @ 0x8000_0000 */
> > +		reg = <0x80000000 0x20000000>;
> > +	};
> +
> > +	ahb {
> > > +		bmc_pnor: fmc at 1e620000 {
> > +			reg = < 0x1e620000 0xc4
> > +				0x20000000 0x02000000 >;
> > +			#address-cells = <1>;
> > +			#size-cells = <0>;
> > +			compatible = "aspeed,ast2500-fmc";
> > +			interrupts = <19>;
> > +			flash at 0 {
> > +				reg = < 0 >;
> > +				compatible = "jedec,spi-nor" ;
> +#include "aspeed-bmc-mellanox-msn-flash-layout.dtsi"
> > +			};
> > +		};
> > +	};
> +};
> +
> +&uart5 {
> > +	status = "okay";
> +};
> +
> +&uart1 {
> > +	status = "okay";
> > +	pinctrl-names = "default";
> > +	pinctrl-0 = <&pinctrl_txd1_default
> > +		     &pinctrl_rxd1_default
> > +		     &pinctrl_nrts1_default
> > +		     &pinctrl_ndtr1_default
> > +		     &pinctrl_ndsr1_default
> > +		     &pinctrl_ncts1_default
> > +		     &pinctrl_ndcd1_default
> > +		     &pinctrl_nri1_default>;
> +};

These pinctrl properties looks fine to me.

> +
> +&mac0 {
> > +	status = "okay";
> > +	use-ncsi;
> +};
> +
> +&i2c0 {
> > +	status = "okay";
> +};
> +
> +&i2c1 {
> > +	status = "okay";
> +};
> +
> +&i2c2 {
> > +	status = "okay";
> +};
> +
> +&i2c3 {
> > +	status = "okay";
> +};
> +
> +&i2c4 {
> > +	status = "okay";
> +};
> +

See my comment on v2 about i2c aliasing. It is however cosmetic, both
approaches should give the same result for what you want to achieve.

Cheers,

Andrew

> +&i2c5 {
> > +	status = "okay";
> +
> > +	eeprom at 50 {
> > +		compatible = "atmel,24c32";
> > +		reg = <0x50>;
> > +	};
> +
> > +	eeprom at 51 {
> > +		compatible = "atmel,24c32";
> > +		reg = <0x51>;
> > +	};
> +};
> +
> +&i2c6 {
> > +	status = "okay";
> +
> > +	eeprom at 51 {
> > +		compatible = "atmel,24c32";
> > +		reg = <0x51>;
> > +	};
> +
> > +	eeprom at 52 {
> > +		compatible = "atmel,24c32";
> > +		reg = <0x52>;
> > +	};
> +
> > +	eeprom at 55 {
> > +		compatible = "atmel,24c32";
> > +		reg = <0x55>;
> > +	};
> +
> > +	i2cswitch at 71 {
> > +		compatible = "nxp,pca9548";
> > +		#address-cells = <1>;
> > +		#size-cells = <0>;
> > +		reg = <0x71>;
> > +	};
> +};
> +
> +&i2c7 {
> > +	status = "okay";
> +};
> +
> +&i2c8 {
> > +	status = "okay";
> +
> > > +	carrier_ambient: lm75 at 49 {
> > +		#thermal-sensor-cells = <0>;
> > +		compatible = "national,lm75";
> > +		reg = <0x49>;
> > +	};
> +
> > > +	swbrd_ambient: lm75 at 4a {
> > +		#thermal-sensor-cells = <0>;
> > +		compatible = "national,lm75";
> > +		reg = <0x4a>;
> > +	};
> +};
> +
> +&i2c9 {
> > +	status = "okay";
> +};
> +
> +&i2c10 {
> > +	status = "okay";
> +
> > +	hwmon at 41 {
> > +		compatible = "ti,ucd9224";
> > +		reg = <0x41>;
> > +	};
> +
> > +	hwmon at 27 {
> > +		compatible = "ti,ucd9224";
> > +		reg = <0x27>;
> > +	};
> +
> > +	adc at 6d {
> > +		compatible = "maxim,max11603";
> > +		reg = <0x6d>;
> > > +		adc0: iio-device at 0 {
> > +			#io-channel-cells = <1>;
> > +			io-channels = <&adc0 0>, <&adc0 1>, <&adc0 2>,
> > +				      <&adc0 3>, <&adc0 4>, <&adc0 5>,
> > +				      <&adc0 6>, <&adc0 7>;
> > +		};
> > +	};
> +};
> +
> +&i2c11 {
> > +	status = "okay";
> +};
> +
> +&i2c12 {
> > +	status = "okay";
> +};
> +
> +&i2c13 {
> > +	status = "okay";
> +};
> +
> +&vuart {
> > +	status = "okay";
> +};
> +
> +&wdt2 {
> > +	status = "okay";
> +};
> +
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: This is a digitally signed message part
URL: <http://lists.ozlabs.org/pipermail/openbmc/attachments/20170530/1a739286/attachment.sig>


More information about the openbmc mailing list