On Fri, 2018-03-02 at 09:45 -0600, Rob Herring wrote: > On Fri, Feb 23, 2018 at 06:16:38PM +0800, sean.wang@xxxxxxxxxxxx wrote: > > From: Sean Wang <sean.wang@xxxxxxxxxxxx> > > > > 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@xxxxxxxxxxxx> > > --- > > 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@xxxxxxxxxxxx> > > + * > > + */ > > + > > +/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@xxxxxxxxxxxx> > > + * > > + */ > > + > > +/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@xxxxxxxxxxxx> > > + * > > + */ > > + > > +/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>; > > +}; > > + > > +ð { > > + 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 = <ðsys 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 > > -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html