[PATCH v1 18/19] arm: dts: mt7623: add MT7623A reference boards

Sean Wang sean.wang at mediatek.com
Fri Mar 2 18:15:43 PST 2018


On Fri, 2018-03-02 at 09:45 -0600, Rob Herring wrote:
> On Fri, Feb 23, 2018 at 06:16:38PM +0800, sean.wang at mediatek.com wrote:
> > From: Sean Wang <sean.wang at mediatek.com>
> > 
> > Add mt7623a-rfb.dtsi where most nodes can be inherited from
> > mt7623n-rfb.dtsi and keep these distinctions from MT7623A boards in
> > mt7623a-rfb.dtsi for most definition can be reused among MT7623A board
> > variants.
> > 
> > MT7623A has its specific definition of power domain and thus we need
> > to change related devices such as audio, ethernet, crypto, high-speed
> > DMA, NAND, and USB controller to the power domain they specifically
> > belong to. In addition, MT7530 exists as built-in module inside MT7623A
> > SoC and I2C2 and UART[0-1] get being removed and UART2 have distinct pin
> > usage. Those all differences can be totally seen in mt7623a-rfb.dtsi.
> > 
> > Signed-off-by: Sean Wang <sean.wang at mediatek.com>
> > ---
> >  arch/arm/boot/dts/Makefile             |  2 +
> >  arch/arm/boot/dts/mt7623a-rfb-emmc.dts | 22 +++++++++
> >  arch/arm/boot/dts/mt7623a-rfb-nand.dts | 26 +++++++++++
> >  arch/arm/boot/dts/mt7623a-rfb.dtsi     | 84 ++++++++++++++++++++++++++++++++++
> >  arch/arm/boot/dts/mt7623n-rfb.dtsi     | 15 ++++++
> >  5 files changed, 149 insertions(+)
> >  create mode 100644 arch/arm/boot/dts/mt7623a-rfb-emmc.dts
> >  create mode 100644 arch/arm/boot/dts/mt7623a-rfb-nand.dts
> >  create mode 100644 arch/arm/boot/dts/mt7623a-rfb.dtsi
> > 
> > diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> > index 5af6fce..818817c 100644
> > --- a/arch/arm/boot/dts/Makefile
> > +++ b/arch/arm/boot/dts/Makefile
> > @@ -1122,6 +1122,8 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += \
> >  	mt6580-evbp1.dtb \
> >  	mt6589-aquaris5.dtb \
> >  	mt6592-evb.dtb \
> > +	mt7623a-rfb-emmc.dtb \
> > +	mt7623a-rfb-nand.dtb \
> >  	mt7623n-rfb-emmc.dtb \
> >  	mt7623n-rfb-nand.dtb \
> >  	mt7623n-bananapi-bpi-r2.dtb \
> > diff --git a/arch/arm/boot/dts/mt7623a-rfb-emmc.dts b/arch/arm/boot/dts/mt7623a-rfb-emmc.dts
> > new file mode 100644
> > index 0000000..ef6398e
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/mt7623a-rfb-emmc.dts
> > @@ -0,0 +1,22 @@
> > +// SPDX-License-Identifier: GPL-2.0
> > +/*
> > + * Copyright (c) 2017-2018 MediaTek Inc.
> > + * Author: Sean Wang <sean.wang at mediatek.com>
> > + *
> > + */
> > +
> > +/dts-v1/;
> > +#include "mt7623a-rfb.dtsi"
> > +
> > +/ {
> > +	model = "MediaTek MT7623A with eMMC reference board";
> > +	compatible = "mediatek,mt7623a-rfb-emmc", "mediatek,mt7623";
> > +
> > +	chosen {
> > +		bootargs = "console=ttyS0,115200n8 earlyprintk";
> 
> Use stdout-path instead. earlyprintk option only works for a kernel 
> built with a debug uart at a fixed address, so drop it.
> 

thanks, I will try and have stdout-path instead. 

But for earlyprintk, our kernel can support and be built with a debug
uart at a fixed address and it is greatly useful to know what's going
on when a system hang happens on certain device's initialization prior
to uart initialization such as PCI device.

Thus, I consider to keep it there in special on such kinds of
development boards for debugging purpose.

> > +	};
> > +};
> > +
> > +&mmc0 {
> > +	status = "okay";
> > +};
> > diff --git a/arch/arm/boot/dts/mt7623a-rfb-nand.dts b/arch/arm/boot/dts/mt7623a-rfb-nand.dts
> > new file mode 100644
> > index 0000000..592d5d7
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/mt7623a-rfb-nand.dts
> > @@ -0,0 +1,26 @@
> > +// SPDX-License-Identifier: GPL-2.0
> > +/*
> > + * Copyright (c) 2017-2018 MediaTek Inc.
> > + * Author: Sean Wang <sean.wang at mediatek.com>
> > + *
> > + */
> > +
> > +/dts-v1/;
> > +#include "mt7623a-rfb.dtsi"
> > +
> > +/ {
> > +	model = "MediaTek MT7623A with NAND reference board";
> > +	compatible = "mediatek,mt7623a-rfb-nand", "mediatek,mt7623";
> > +
> > +	chosen {
> > +		bootargs = "console=ttyS0,115200n8 earlyprintk";
> 
> ditto.
> 
> > +	};
> > +};
> > +
> > +&bch {
> > +	status = "okay";
> > +};
> > +
> > +&nandc {
> > +	status = "okay";
> > +};
> > diff --git a/arch/arm/boot/dts/mt7623a-rfb.dtsi b/arch/arm/boot/dts/mt7623a-rfb.dtsi
> > new file mode 100644
> > index 0000000..3a15c46
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/mt7623a-rfb.dtsi
> > @@ -0,0 +1,84 @@
> > +// SPDX-License-Identifier: GPL-2.0
> > +/*
> > + * Copyright (c) 2017-2018 MediaTek Inc.
> > + * Author: Sean Wang <sean.wang at mediatek.com>
> > + *
> > + */
> > +
> > +/dts-v1/;
> > +#include <dt-bindings/power/mt7623a-power.h>
> > +#include "mt7623n-rfb.dtsi"
> > +
> > +/ {
> > +	memory {
> 
> Unit-address?

If unit-address is being included, it seem there is dtc problem two ,
memory nodes are generated, one with invalid size 0 would cause boot
fails as [1] I addressed.

[1]
http://lists.infradead.org/pipermail/linux-mediatek/2018-March/012249.html


> > +		device_type = "memory";
> > +		reg = <0 0x80000000 0 0x20000000>;
> > +	};
> > +};
> > +
> > +&afe {
> > +	power-domains = <&scpsys MT7623A_POWER_DOMAIN_IFR_MSC>;
> > +};
> > +
> > +&cir {
> > +	status = "disabled";
> > +};
> > +
> > +&crypto {
> > +	power-domains = <&scpsys MT7623A_POWER_DOMAIN_ETH>;
> > +};
> > +
> > +&eth {
> > +	power-domains = <&scpsys MT7623A_POWER_DOMAIN_ETH>;
> > +};
> > +
> > +&hsdma {
> > +	power-domains = <&scpsys MT7623A_POWER_DOMAIN_ETH>;
> > +};
> > +
> > +&i2c2 {
> > +	pinctrl-names = "default";
> > +	pinctrl-0 = <&i2c2_pins_b>;
> > +};
> > +
> > +&mt7530 {
> > +	mediatek,mcm;
> > +	resets = <&ethsys MT2701_ETHSYS_MCM_RST>;
> > +	reset-names = "mcm";
> > +};
> > +
> > +&nandc {
> > +	power-domains = <&scpsys MT7623A_POWER_DOMAIN_IFR_MSC>;
> > +};
> > +
> > +&pcie {
> > +	power-domains = <&scpsys MT7623A_POWER_DOMAIN_HIF>;
> > +};
> > +
> > +&scpsys {
> > +	compatible = "mediatek,mt7623a-scpsys",
> > +		     "syscon";
> > +	clocks = <&topckgen CLK_TOP_ETHIF_SEL>;
> > +	clock-names = "ethif";
> > +};
> > +
> > +&uart0 {
> > +	status = "disabled";
> > +};
> > +
> > +&uart1 {
> > +	status = "disabled";
> > +};
> > +
> > +&uart2 {
> > +	pinctrl-names = "default";
> > +	pinctrl-0 = <&uart2_pins_b>;
> > +};
> > +
> > +&usb1 {
> > +	power-domains = <&scpsys MT7623A_POWER_DOMAIN_HIF>;
> > +};
> > +
> > +&usb2 {
> > +	power-domains = <&scpsys MT7623A_POWER_DOMAIN_HIF>;
> > +};
> > diff --git a/arch/arm/boot/dts/mt7623n-rfb.dtsi b/arch/arm/boot/dts/mt7623n-rfb.dtsi
> > index 0237476..07ed15d 100644
> > --- a/arch/arm/boot/dts/mt7623n-rfb.dtsi
> > +++ b/arch/arm/boot/dts/mt7623n-rfb.dtsi
> > @@ -380,6 +380,14 @@
> >  		};
> >  	};
> >  
> > +	i2c2_pins_b: i2c2-alt {
> > +		pin-i2c2 {
> > +			pinmux = <MT7623_PIN_122_GPIO122_FUNC_SDA2>,
> > +				 <MT7623_PIN_123_HTPLG_FUNC_SCL2>;
> > +			bias-disable;
> > +		};
> > +	};
> > +
> >  	i2s0_pins_a: i2s0-default {
> >  		pin-i2s0 {
> >  			pinmux = <MT7623_PIN_49_I2S0_DATA_FUNC_I2S0_DATA>,
> > @@ -629,6 +637,13 @@
> >  				 <MT7623_PIN_15_GPIO15_FUNC_UTXD2>;
> >  		};
> >  	};
> > +
> > +	uart2_pins_b: uart2-alt {
> > +		pins-dat {
> > +			pinmux = <MT7623_PIN_200_URXD2_FUNC_URXD2>,
> > +				 <MT7623_PIN_201_UTXD2_FUNC_UTXD2>;
> > +		};
> > +	};
> >  };
> >  
> >  &pwm {
> > -- 
> > 2.7.4
> > 





More information about the linux-arm-kernel mailing list