Web lists-archives.com

Re: [PATCH v3] ARM: dts: aspeed: Add YADRO VESNIN BMC




On Fri, May 31, 2019 at 04:02:37PM +0930, Andrew Jeffery wrote:
> Hello Alexander,

Hi Andrew,

> 
> On Fri, 31 May 2019, at 15:42, Alexander Filippov wrote:
> > VESNIN is an OpenPower machine with an Aspeed 2400 BMC SoC manufactured
> > by YADRO.
> > 
> > Signed-off-by: Alexander Filippov <a.filippov@xxxxxxxxx>
> > ---
> >  arch/arm/boot/dts/Makefile                  |   1 +
> >  arch/arm/boot/dts/aspeed-bmc-opp-vesnin.dts | 234 ++++++++++++++++++++
> >  2 files changed, 235 insertions(+)
> >  create mode 100644 arch/arm/boot/dts/aspeed-bmc-opp-vesnin.dts
> > 
> > diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> > index 834cce80d1b8..09a851a4705c 100644
> > --- a/arch/arm/boot/dts/Makefile
> > +++ b/arch/arm/boot/dts/Makefile
> > @@ -1261,6 +1261,7 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
> >  	aspeed-bmc-opp-palmetto.dtb \
> >  	aspeed-bmc-opp-romulus.dtb \
> >  	aspeed-bmc-opp-swift.dtb \
> > +	aspeed-bmc-opp-vesnin.dtb \
> 
> The patch doesn't apply to upstream - the Swift machine only exists in the
> OpenBMC kernel tree. Please rebase the patch onto upstream and resend.

Done.

> 
> >  	aspeed-bmc-opp-witherspoon.dtb \
> >  	aspeed-bmc-opp-zaius.dtb \
> >  	aspeed-bmc-portwell-neptune.dtb \
> > diff --git a/arch/arm/boot/dts/aspeed-bmc-opp-vesnin.dts 
> > b/arch/arm/boot/dts/aspeed-bmc-opp-vesnin.dts
> > new file mode 100644
> > index 000000000000..20f07f5bb4f4
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/aspeed-bmc-opp-vesnin.dts
> > @@ -0,0 +1,234 @@
> > +// SPDX-License-Identifier: GPL-2.0+
> > +// Copyright 2019 YADRO
> > +/dts-v1/;
> > +
> > +#include "aspeed-g4.dtsi"
> > +#include <dt-bindings/gpio/aspeed-gpio.h>
> > +
> > +/ {
> > +	model = "Vesnin BMC";
> > +	compatible = "yadro,vesnin-bmc", "aspeed,ast2400";
> > +
> > +	chosen {
> > +		stdout-path = &uart5;
> > +		bootargs = "console=ttyS4,115200 earlyprintk";
> > +	};
> > +
> > +	memory {
> > +		reg = <0x40000000 0x20000000>;
> > +	};
> > +
> > +	reserved-memory {
> > +		#address-cells = <1>;
> > +		#size-cells = <1>;
> > +		ranges;
> > +
> > +		vga_memory: framebuffer@5f000000 {
> > +			no-map;
> > +			reg = <0x5f000000 0x01000000>; /* 16MB */
> > +		};
> > +		flash_memory: region@5c000000 {
> > +			no-map;
> > +			reg = <0x5c000000 0x02000000>; /* 32M */
> > +		};
> > +	};
> > +
> > +	leds {
> > +		compatible = "gpio-leds";
> > +
> > +		heartbeat {
> > +			gpios = <&gpio ASPEED_GPIO(R, 4) GPIO_ACTIVE_LOW>;
> > +		};
> > +		power_red {
> > +			gpios = <&gpio ASPEED_GPIO(N, 1) GPIO_ACTIVE_LOW>;
> > +		};
> > +
> > +		id_blue {
> > +			gpios = <&gpio ASPEED_GPIO(O, 0) GPIO_ACTIVE_LOW>;
> > +		};
> > +
> > +		alarm_red {
> > +			gpios = <&gpio ASPEED_GPIO(N, 6) GPIO_ACTIVE_LOW>;
> > +		};
> > +
> > +		alarm_yel {
> > +			gpios = <&gpio ASPEED_GPIO(N, 7) GPIO_ACTIVE_HIGH>;
> > +		};
> > +	};
> > +
> > +	gpio-keys {
> > +		compatible = "gpio-keys";
> > +
> > +		button_checkstop {
> > +			label = "checkstop";
> > +			linux,code = <74>;
> > +			gpios = <&gpio ASPEED_GPIO(P, 5) GPIO_ACTIVE_LOW>;
> > +		};
> > +
> > +		button_identify {
> > +			label = "identify";
> > +			linux,code = <152>;
> > +			gpios = <&gpio ASPEED_GPIO(O, 7) GPIO_ACTIVE_LOW>;
> > +		};
> > +	};
> > +};
> > +
> > +&fmc {
> > +	status = "okay";
> > +	flash@0 {
> > +		status = "okay";
> > +		m25p,fast-read;
> > +        label = "bmc";
> > +#include "openbmc-flash-layout.dtsi"
> > +	};
> > +};
> > +
> > +&spi {
> > +	status = "okay";
> > +	pinctrl-names = "default";
> > +	pinctrl-0 = <&pinctrl_spi1debug_default>;
> 
> Is this how the board is strapped? I'm asking in case it's just copy/paste
> from Palmetto, which was (unfortunately) strapped this way.

Yes, the board is strapped in such manner.
I guess it was brought from barreleye which was a prototype for vesnin.

Setting this pin to &pinctrl_spi1_default leads to warning:
  kernel: aspeed-smc 1e630000.spi: Error applying setting, reverse things back

> 
> > +
> > +	flash@0 {
> > +		status = "okay";
> > +		label = "pnor";
> > +		m25p,fast-read;
> > +	};
> > +};
> > +
> > +&mac0 {
> > +	status = "okay";
> > +
> > +	use-ncsi;
> > +	no-hw-checksum;
> > +
> > +	pinctrl-names = "default";
> > +	pinctrl-0 = <&pinctrl_rmii1_default>;
> > +};
> > +
> > +
> > +&uart5 {
> > +	status = "okay";
> > +};
> > +
> > +&lpc_ctrl {
> > +	status = "okay";
> > +	memory-region = <&flash_memory>;
> > +	flash = <&spi>;
> > +};
> > +
> > +&ibt {
> > +	status = "okay";
> > +};
> > +
> > +&lpc_host {
> > +    sio_regs: regs {
> > +        compatible = "aspeed,bmc-misc";
> 
> The patches for this are not upstream, and won't make it in their current
> form. Please drop this node from the patch.
> 

Done.

> > +    };
> > +};
> > +
> > +&mbox {
> > +	status = "okay";
> 
> This driver is not upstream either, and we plan on dropping it from the
> OpenBMC tree too. Please remove this node from the patch.

Done.

> 
> Cheers,
> 
> Andrew
> 
> > +};
> > +
> > +&uart3 {
> > +	status = "okay";
> > +	pinctrl-names = "default";
> > +	pinctrl-0 = <&pinctrl_txd2_default &pinctrl_rxd2_default>;
> > +};
> > +
> > +&i2c0 {
> > +	status = "okay";
> > +
> > +	eeprom@50 {
> > +		compatible = "atmel,24c256";
> > +		reg = <0x50>;
> > +		pagesize = <64>;
> > +	};
> > +};
> > +
> > +&i2c1 {
> > +	status = "okay";
> > +
> > +	tmp75@49 {
> > +		compatible = "ti,tmp75";
> > +		reg = <0x49>;
> > +	};
> > +};
> > +
> > +&i2c2 {
> > +	status = "okay";
> > +};
> > +
> > +&i2c3 {
> > +	status = "okay";
> > +};
> > +
> > +&i2c4 {
> > +	status = "okay";
> > +
> > +	occ-hwmon@50 {
> > +		compatible = "ibm,p8-occ-hwmon";
> > +		reg = <0x50>;
> > +	};
> > +};
> > +
> > +&i2c5 {
> > +	status = "okay";
> > +
> > +	occ-hwmon@51 {
> > +		compatible = "ibm,p8-occ-hwmon";
> > +		reg = <0x51>;
> > +	};
> > +};
> > +
> > +&i2c6 {
> > +	status = "okay";
> > +
> > +	w83795g@2f {
> > +		compatible = "nuvoton,w83795g";
> > +		reg = <0x2f>;
> > +	};
> > +};
> > +
> > +&i2c7 {
> > +	status = "okay";
> > +
> > +	occ-hwmon@56 {
> > +		compatible = "ibm,p8-occ-hwmon";
> > +		reg = <0x56>;
> > +	};
> > +};
> > +
> > +&i2c9 {
> > +	status = "okay";
> > +};
> > +
> > +&i2c10 {
> > +	status = "okay";
> > +};
> > +
> > +&i2c11 {
> > +	status = "okay";
> > +
> > +	occ-hwmon@57 {
> > +		compatible = "ibm,p8-occ-hwmon";
> > +		reg = <0x57>;
> > +	};
> > +};
> > +
> > +&i2c12 {
> > +	status = "okay";
> > +
> > +	rtc@68 {
> > +		compatible = "maxim,ds3231";
> > +		reg = <0x68>;
> > +	};
> > +};
> > +
> > +&i2c13 {
> > +	status = "okay";
> > +};
> > +
> > +&vuart {
> > +	status = "okay";
> > +};
> > -- 
> > 2.20.1
> > 
> >