From patchwork Sun Feb 9 11:05:53 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anand Moon X-Patchwork-Id: 236069 List-Id: U-Boot discussion From: linux.amoon at gmail.com (Anand Moon) Date: Sun, 9 Feb 2020 11:05:53 +0000 Subject: [PATCHv6 1/5] mmc: meson-gx: Fix clk phase tuning for MMC In-Reply-To: <20200209110557.1996-1-linux.amoon@gmail.com> References: <20200209110557.1996-1-linux.amoon@gmail.com> Message-ID: <20200209110557.1996-2-linux.amoon@gmail.com> As per mainline line kernel fix the clk tuning phase for mmc, set Core=180, Tx=0, Rx=0 clk phase for mmc initialization. As per S905, S905X, AGX and S922X datasheet set the default values for clk tuning. Signed-off-by: Anand Moon --- Changes from previous v5 Fix the commit message, configure as per mainline kernel. drop the RX_DELAY_MASK and TX_DELAY_MASK as they are not used. v4 Fix the update mask value using FIELD_PREP macro. v3 Fix the initialization of core clk tunning phase as per datasheet. Fix the commit message. v2: Fix the clk phase macro to support PHASE_180 drop the wrong CLK_CORE_PHASE_MASK macro. v1: use the mainline kernel tuning for clk tuning. Fixed the commmit messages. Patch v1: https://patchwork.ozlabs.org/patch/1201208/ Before these changes. clock is enabled (380953Hz) clock is enabled (25000000Hz) After these changes clock is enabled (380953Hz) clock is enabled (25000000Hz) clock is enabled (52000000Hz) Test on Odroid N2 and Odroid C2 with eMMC and microSD cards --- arch/arm/include/asm/arch-meson/sd_emmc.h | 24 +++++++++++-------- drivers/mmc/meson_gx_mmc.c | 28 +++++++++++++++++++---- 2 files changed, 38 insertions(+), 14 deletions(-) diff --git a/arch/arm/include/asm/arch-meson/sd_emmc.h b/arch/arm/include/asm/arch-meson/sd_emmc.h index e3a72c8b66..f4299485dc 100644 --- a/arch/arm/include/asm/arch-meson/sd_emmc.h +++ b/arch/arm/include/asm/arch-meson/sd_emmc.h @@ -7,6 +7,7 @@ #define __SD_EMMC_H__ #include +#include #define SDIO_PORT_A 0 #define SDIO_PORT_B 1 @@ -19,15 +20,20 @@ #define CLK_MAX_DIV 63 #define CLK_SRC_24M (0 << 6) #define CLK_SRC_DIV2 (1 << 6) -#define CLK_CO_PHASE_000 (0 << 8) -#define CLK_CO_PHASE_090 (1 << 8) -#define CLK_CO_PHASE_180 (2 << 8) -#define CLK_CO_PHASE_270 (3 << 8) -#define CLK_TX_PHASE_000 (0 << 10) -#define CLK_TX_PHASE_090 (1 << 10) -#define CLK_TX_PHASE_180 (2 << 10) -#define CLK_TX_PHASE_270 (3 << 10) -#define CLK_ALWAYS_ON BIT(24) + +#define CRYSTAL_24MHZ 0 +#define CLK_PHASE_0 0 +#define CLK_PHASE_180 2 + +#define CLK_DIV_MASK GENMASK(5, 0) +#define CLK_SRC_MASK GENMASK(7, 6) +#define CLK_CORE_PHASE_MASK GENMASK(9, 8) +#define CLK_TX_PHASE_MASK GENMASK(11, 10) +#define CLK_RX_PHASE_MASK GENMASK(13, 12) + +#define CLK_V2_ALWAYS_ON BIT(24) + +#define CLK_V3_ALWAYS_ON BIT(28) #define MESON_SD_EMMC_CFG 0x44 #define CFG_BUS_WIDTH_MASK GENMASK(1, 0) diff --git a/drivers/mmc/meson_gx_mmc.c b/drivers/mmc/meson_gx_mmc.c index 86c1a7164a..b013c7c5fb 100644 --- a/drivers/mmc/meson_gx_mmc.c +++ b/drivers/mmc/meson_gx_mmc.c @@ -16,6 +16,10 @@ #include #include +#include +#include +#include + static inline void *get_regbase(const struct mmc *mmc) { struct meson_mmc_platdata *pdata = mmc->priv; @@ -51,11 +55,25 @@ static void meson_mmc_config_clock(struct mmc *mmc) } clk_div = DIV_ROUND_UP(clk, mmc->clock); - /* 180 phase core clock */ - meson_mmc_clk |= CLK_CO_PHASE_180; - - /* 180 phase tx clock */ - meson_mmc_clk |= CLK_TX_PHASE_000; + /* Clock divider */ + meson_mmc_clk |= CLK_DIV_MASK; + /* Clock source : Crystal 24MHz */ + meson_mmc_clk |= FIELD_PREP(CLK_SRC_MASK, CRYSTAL_24MHZ); + /* Core clock phase 2:180 */ + meson_mmc_clk |= FIELD_PREP(CLK_CORE_PHASE_MASK, CLK_PHASE_180); + /* TX clock phase 0:180 */ + meson_mmc_clk |= FIELD_PREP(CLK_TX_PHASE_MASK, CLK_PHASE_0); + /* RX clock phase 0:180 */ + meson_mmc_clk |= FIELD_PREP(CLK_RX_PHASE_MASK, CLK_PHASE_0); + +#ifdef CONFIG_MESON_GX + /* clk always on */ + meson_mmc_clk |= CLK_V2_ALWAYS_ON; +#endif +#if (defined(CONFIG_MESON_AXG) || defined(CONFIG_MESON_G12A)) + /* clk always on */ + meson_mmc_clk |= CLK_V3_ALWAYS_ON; +#endif /* clock settings */ meson_mmc_clk |= clk_src; From patchwork Sun Feb 9 11:05:54 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anand Moon X-Patchwork-Id: 236070 List-Id: U-Boot discussion From: linux.amoon at gmail.com (Anand Moon) Date: Sun, 9 Feb 2020 11:05:54 +0000 Subject: [PATCHv6 2/5] mmc: meson-gx: Use proper compatible string as per the dts In-Reply-To: <20200209110557.1996-1-linux.amoon@gmail.com> References: <20200209110557.1996-1-linux.amoon@gmail.com> Message-ID: <20200209110557.1996-3-linux.amoon@gmail.com> Use proper compatible string as per the dts so that mmc driver could be tuned properly. SoC family S905, S905X have common clk tuning parameters setting, while AGX and G12 have common clk tuning parameters setting for mmc driver. Suggested-by: Neil Armstrong Signed-off-by: Anand Moon Reviewed-by: Neil Armstrong --- No changes. --- arch/arm/include/asm/arch-meson/sd_emmc.h | 7 ++++ drivers/mmc/meson_gx_mmc.c | 46 +++++++++++++++++------ 2 files changed, 41 insertions(+), 12 deletions(-) diff --git a/arch/arm/include/asm/arch-meson/sd_emmc.h b/arch/arm/include/asm/arch-meson/sd_emmc.h index f4299485dc..83142d5d3f 100644 --- a/arch/arm/include/asm/arch-meson/sd_emmc.h +++ b/arch/arm/include/asm/arch-meson/sd_emmc.h @@ -13,6 +13,12 @@ #define SDIO_PORT_B 1 #define SDIO_PORT_C 2 +enum mmc_compatible { + MMC_COMPATIBLE_GXBB, + MMC_COMPATIBLE_GX, + MMC_COMPATIBLE_AXG, +}; + #define SD_EMMC_CLKSRC_24M 24000000 /* 24 MHz */ #define SD_EMMC_CLKSRC_DIV2 1000000000 /* 1 GHz */ @@ -87,6 +93,7 @@ struct meson_mmc_platdata { struct mmc_config cfg; struct mmc mmc; + int compat; void *regbase; void *w_buf; }; diff --git a/drivers/mmc/meson_gx_mmc.c b/drivers/mmc/meson_gx_mmc.c index b013c7c5fb..1aefe360c4 100644 --- a/drivers/mmc/meson_gx_mmc.c +++ b/drivers/mmc/meson_gx_mmc.c @@ -37,7 +37,8 @@ static inline void meson_write(struct mmc *mmc, uint32_t val, int offset) writel(val, get_regbase(mmc) + offset); } -static void meson_mmc_config_clock(struct mmc *mmc) +static void meson_mmc_config_clock(struct mmc *mmc, + struct meson_mmc_platdata *pdata) { uint32_t meson_mmc_clk = 0; unsigned int clk, clk_src, clk_div; @@ -66,14 +67,20 @@ static void meson_mmc_config_clock(struct mmc *mmc) /* RX clock phase 0:180 */ meson_mmc_clk |= FIELD_PREP(CLK_RX_PHASE_MASK, CLK_PHASE_0); -#ifdef CONFIG_MESON_GX - /* clk always on */ - meson_mmc_clk |= CLK_V2_ALWAYS_ON; -#endif -#if (defined(CONFIG_MESON_AXG) || defined(CONFIG_MESON_G12A)) - /* clk always on */ - meson_mmc_clk |= CLK_V3_ALWAYS_ON; -#endif + switch (pdata->compat) { + case MMC_COMPATIBLE_GXBB: + case MMC_COMPATIBLE_GX: + /* clk always on */ + meson_mmc_clk |= CLK_V2_ALWAYS_ON; + break; + case MMC_COMPATIBLE_AXG: + /* clk always on */ + meson_mmc_clk |= CLK_V3_ALWAYS_ON; + break; + default: + debug("no compatible supported"); + break; + } /* clock settings */ meson_mmc_clk |= clk_src; @@ -85,9 +92,11 @@ static void meson_mmc_config_clock(struct mmc *mmc) static int meson_dm_mmc_set_ios(struct udevice *dev) { struct mmc *mmc = mmc_get_mmc_dev(dev); + struct meson_mmc_platdata *pdata = + (struct meson_mmc_platdata *)dev_get_driver_data(dev); uint32_t meson_mmc_cfg; - meson_mmc_config_clock(mmc); + meson_mmc_config_clock(mmc, pdata); meson_mmc_cfg = meson_read(mmc, MESON_SD_EMMC_CFG); @@ -324,9 +333,22 @@ int meson_mmc_bind(struct udevice *dev) return mmc_bind(dev, &pdata->mmc, &pdata->cfg); } +static const struct meson_mmc_platdata gxbb_data = { + .compat = MMC_COMPATIBLE_GXBB, +}; + +static const struct meson_mmc_platdata gx_data = { + .compat = MMC_COMPATIBLE_GX, +}; + +static const struct meson_mmc_platdata axg_data = { + .compat = MMC_COMPATIBLE_AXG, +}; + static const struct udevice_id meson_mmc_match[] = { - { .compatible = "amlogic,meson-gx-mmc" }, - { .compatible = "amlogic,meson-axg-mmc" }, + { .compatible = "amlogic,meson-gxbb-mmc", .data = (ulong)&gxbb_data }, + { .compatible = "amlogic,meson-gx-mmc", .data = (ulong)&gx_data }, + { .compatible = "amlogic,meson-axg-mmc", .data = (ulong)&axg_data }, { /* sentinel */ } }; From patchwork Sun Feb 9 11:05:55 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anand Moon X-Patchwork-Id: 236071 List-Id: U-Boot discussion From: linux.amoon at gmail.com (Anand Moon) Date: Sun, 9 Feb 2020 11:05:55 +0000 Subject: [PATCHv6 3/5] arm: dts: gx: Move common nodes to the -u-boot.dtsi In-Reply-To: <20200209110557.1996-1-linux.amoon@gmail.com> References: <20200209110557.1996-1-linux.amoon@gmail.com> Message-ID: <20200209110557.1996-4-linux.amoon@gmail.com> Move u-boot specific common nodes in the dts files to meson-gx-u-boot.dtsi. This allows us to keep the basic dts[i] files up-to-date with the ones in kernel, but at the same time allowing the u-boot to add its own properties to the existing nodes. Also add missing mmc alias to dts nodes to avoid below debug warning. mmc_bind: alias ret=-2, devnum=-1 mmc_bind: alias ret=-2, devnum=-1 Signed-off-by: Anand Moon --- no changes from previous --- arch/arm/dts/meson-gx-u-boot.dtsi | 15 +++++++++++++++ arch/arm/dts/meson-gxbb-nanopi-k2.dts | 9 --------- arch/arm/dts/meson-gxbb-odroidc2.dts | 9 --------- arch/arm/dts/meson-gxbb-p20x.dtsi | 9 --------- arch/arm/dts/meson-gxl-s805x-libretech-ac.dts | 10 ---------- arch/arm/dts/meson-gxl-s905x-khadas-vim.dts | 5 ----- arch/arm/dts/meson-gxl-s905x-libretech-cc.dts | 9 --------- arch/arm/dts/meson-gxl-s905x-p212.dtsi | 10 ---------- arch/arm/dts/meson-gxm-khadas-vim2.dts | 10 ---------- 9 files changed, 15 insertions(+), 71 deletions(-) diff --git a/arch/arm/dts/meson-gx-u-boot.dtsi b/arch/arm/dts/meson-gx-u-boot.dtsi index b84e5edba4..13be3a7b8f 100644 --- a/arch/arm/dts/meson-gx-u-boot.dtsi +++ b/arch/arm/dts/meson-gx-u-boot.dtsi @@ -8,6 +8,21 @@ soc { u-boot,dm-pre-reloc; }; + + aliases { + serial0 = &uart_AO; + serial1 = &uart_A; + serial2 = &uart_AO_B; + ethernet0 = ðmac; + spi0 = &spifc; + mmc0 = &sd_emmc_a; + mmc1 = &sd_emmc_b; + mmc2 = &sd_emmc_c; + }; + + chosen { + stdout-path = "serial0:115200n8"; + }; }; &vpu { diff --git a/arch/arm/dts/meson-gxbb-nanopi-k2.dts b/arch/arm/dts/meson-gxbb-nanopi-k2.dts index cbe99bd4e0..11690d6c46 100644 --- a/arch/arm/dts/meson-gxbb-nanopi-k2.dts +++ b/arch/arm/dts/meson-gxbb-nanopi-k2.dts @@ -11,15 +11,6 @@ / { compatible = "friendlyarm,nanopi-k2", "amlogic,meson-gxbb"; - aliases { - serial0 = &uart_AO; - ethernet0 = ðmac; - }; - - chosen { - stdout-path = "serial0:115200n8"; - }; - memory at 0 { device_type = "memory"; reg = <0x0 0x0 0x0 0x80000000>; diff --git a/arch/arm/dts/meson-gxbb-odroidc2.dts b/arch/arm/dts/meson-gxbb-odroidc2.dts index 54954b314a..f8cd76a2ef 100644 --- a/arch/arm/dts/meson-gxbb-odroidc2.dts +++ b/arch/arm/dts/meson-gxbb-odroidc2.dts @@ -14,15 +14,6 @@ compatible = "hardkernel,odroid-c2", "amlogic,meson-gxbb"; model = "Hardkernel ODROID-C2"; - aliases { - serial0 = &uart_AO; - ethernet0 = ðmac; - }; - - chosen { - stdout-path = "serial0:115200n8"; - }; - memory at 0 { device_type = "memory"; reg = <0x0 0x0 0x0 0x80000000>; diff --git a/arch/arm/dts/meson-gxbb-p20x.dtsi b/arch/arm/dts/meson-gxbb-p20x.dtsi index 0be0f2a5d2..c9822e50f9 100644 --- a/arch/arm/dts/meson-gxbb-p20x.dtsi +++ b/arch/arm/dts/meson-gxbb-p20x.dtsi @@ -8,15 +8,6 @@ #include "meson-gxbb.dtsi" / { - aliases { - serial0 = &uart_AO; - ethernet0 = ðmac; - }; - - chosen { - stdout-path = "serial0:115200n8"; - }; - memory at 0 { device_type = "memory"; reg = <0x0 0x0 0x0 0x40000000>; diff --git a/arch/arm/dts/meson-gxl-s805x-libretech-ac.dts b/arch/arm/dts/meson-gxl-s805x-libretech-ac.dts index 82b1c48511..4f9072a83e 100644 --- a/arch/arm/dts/meson-gxl-s805x-libretech-ac.dts +++ b/arch/arm/dts/meson-gxl-s805x-libretech-ac.dts @@ -16,16 +16,6 @@ "amlogic,meson-gxl"; model = "Libre Computer Board AML-S805X-AC"; - aliases { - serial0 = &uart_AO; - ethernet0 = ðmac; - spi0 = &spifc; - }; - - chosen { - stdout-path = "serial0:115200n8"; - }; - cvbs-connector { /* * The pads are present but no connector is soldered on diff --git a/arch/arm/dts/meson-gxl-s905x-khadas-vim.dts b/arch/arm/dts/meson-gxl-s905x-khadas-vim.dts index ceb34afe42..072e4575d2 100644 --- a/arch/arm/dts/meson-gxl-s905x-khadas-vim.dts +++ b/arch/arm/dts/meson-gxl-s905x-khadas-vim.dts @@ -26,11 +26,6 @@ }; }; - aliases { - serial2 = &uart_AO_B; - ethernet0 = ðmac; - }; - gpio-keys-polled { compatible = "gpio-keys-polled"; #address-cells = <1>; diff --git a/arch/arm/dts/meson-gxl-s905x-libretech-cc.dts b/arch/arm/dts/meson-gxl-s905x-libretech-cc.dts index a23252efc6..8d3965ab42 100644 --- a/arch/arm/dts/meson-gxl-s905x-libretech-cc.dts +++ b/arch/arm/dts/meson-gxl-s905x-libretech-cc.dts @@ -15,15 +15,6 @@ compatible = "libretech,cc", "amlogic,s905x", "amlogic,meson-gxl"; model = "Libre Computer Board AML-S905X-CC"; - aliases { - serial0 = &uart_AO; - ethernet0 = ðmac; - }; - - chosen { - stdout-path = "serial0:115200n8"; - }; - cvbs-connector { compatible = "composite-video-connector"; diff --git a/arch/arm/dts/meson-gxl-s905x-p212.dtsi b/arch/arm/dts/meson-gxl-s905x-p212.dtsi index a1b31013ab..70f437fc3a 100644 --- a/arch/arm/dts/meson-gxl-s905x-p212.dtsi +++ b/arch/arm/dts/meson-gxl-s905x-p212.dtsi @@ -13,16 +13,6 @@ #include "meson-gxl-s905x.dtsi" / { - aliases { - serial0 = &uart_AO; - serial1 = &uart_A; - ethernet0 = ðmac; - }; - - chosen { - stdout-path = "serial0:115200n8"; - }; - memory at 0 { device_type = "memory"; reg = <0x0 0x0 0x0 0x80000000>; diff --git a/arch/arm/dts/meson-gxm-khadas-vim2.dts b/arch/arm/dts/meson-gxm-khadas-vim2.dts index 782e9edac8..4e68e289d3 100644 --- a/arch/arm/dts/meson-gxm-khadas-vim2.dts +++ b/arch/arm/dts/meson-gxm-khadas-vim2.dts @@ -16,16 +16,6 @@ compatible = "khadas,vim2", "amlogic,s912", "amlogic,meson-gxm"; model = "Khadas VIM2"; - aliases { - serial0 = &uart_AO; - serial1 = &uart_A; - serial2 = &uart_AO_B; - }; - - chosen { - stdout-path = "serial0:115200n8"; - }; - memory at 0 { device_type = "memory"; reg = <0x0 0x0 0x0 0x80000000>; From patchwork Sun Feb 9 11:05:56 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anand Moon X-Patchwork-Id: 236072 List-Id: U-Boot discussion From: linux.amoon at gmail.com (Anand Moon) Date: Sun, 9 Feb 2020 11:05:56 +0000 Subject: [PATCHv6 4/5] arm: dts: g12: Move common nodes to the -u-boot.dtsi In-Reply-To: <20200209110557.1996-1-linux.amoon@gmail.com> References: <20200209110557.1996-1-linux.amoon@gmail.com> Message-ID: <20200209110557.1996-5-linux.amoon@gmail.com> Move u-boot specific common nodes in the dts files to meson-g12-common-u-boot.dtsi. This allows us to keep the basic dts[i] files up-to-date with the ones in kernel, but at the same time allowing the u-boot to add its own properties to the existing nodes. Also add missing mmc alias to dts nodes to avoid below debug warning. mmc_bind: alias ret=-2, devnum=-1 mmc_bind: alias ret=-2, devnum=-1 Signed-off-by: Anand Moon --- No changes from previous patch --- arch/arm/dts/meson-g12-common-u-boot.dtsi | 12 ++++++++++++ arch/arm/dts/meson-g12a-sei510.dts | 9 --------- arch/arm/dts/meson-g12a-u200.dts | 9 --------- arch/arm/dts/meson-g12b-odroid-n2.dts | 9 --------- arch/arm/dts/meson-khadas-vim3.dtsi | 9 --------- arch/arm/dts/meson-sm1-sei610.dts | 9 --------- 6 files changed, 12 insertions(+), 45 deletions(-) diff --git a/arch/arm/dts/meson-g12-common-u-boot.dtsi b/arch/arm/dts/meson-g12-common-u-boot.dtsi index 38fd3d3feb..347b8ded22 100644 --- a/arch/arm/dts/meson-g12-common-u-boot.dtsi +++ b/arch/arm/dts/meson-g12-common-u-boot.dtsi @@ -8,6 +8,18 @@ soc { u-boot,dm-pre-reloc; }; + + aliases { + serial0 = &uart_AO; + ethernet0 = ðmac; + mmc0 = &sd_emmc_a; + mmc1 = &sd_emmc_b; + mmc2 = &sd_emmc_c; + }; + + chosen { + stdout-path = "serial0:115200n8"; + }; }; &canvas { diff --git a/arch/arm/dts/meson-g12a-sei510.dts b/arch/arm/dts/meson-g12a-sei510.dts index c7a8736885..c6a48ebbe5 100644 --- a/arch/arm/dts/meson-g12a-sei510.dts +++ b/arch/arm/dts/meson-g12a-sei510.dts @@ -28,11 +28,6 @@ }; }; - aliases { - serial0 = &uart_AO; - ethernet0 = ðmac; - }; - mono_dac: audio-codec-0 { compatible = "maxim,max98357a"; #sound-dai-cells = <0>; @@ -49,10 +44,6 @@ sound-name-prefix = "MIC"; }; - chosen { - stdout-path = "serial0:115200n8"; - }; - cvbs-connector { compatible = "composite-video-connector"; diff --git a/arch/arm/dts/meson-g12a-u200.dts b/arch/arm/dts/meson-g12a-u200.dts index 8551fbd4a4..8be7b6985b 100644 --- a/arch/arm/dts/meson-g12a-u200.dts +++ b/arch/arm/dts/meson-g12a-u200.dts @@ -13,15 +13,6 @@ compatible = "amlogic,u200", "amlogic,g12a"; model = "Amlogic Meson G12A U200 Development Board"; - aliases { - serial0 = &uart_AO; - ethernet0 = ðmac; - }; - - chosen { - stdout-path = "serial0:115200n8"; - }; - cvbs-connector { compatible = "composite-video-connector"; diff --git a/arch/arm/dts/meson-g12b-odroid-n2.dts b/arch/arm/dts/meson-g12b-odroid-n2.dts index 42f1540575..a37f66a5e0 100644 --- a/arch/arm/dts/meson-g12b-odroid-n2.dts +++ b/arch/arm/dts/meson-g12b-odroid-n2.dts @@ -15,15 +15,6 @@ compatible = "hardkernel,odroid-n2", "amlogic,g12b"; model = "Hardkernel ODROID-N2"; - aliases { - serial0 = &uart_AO; - ethernet0 = ðmac; - }; - - chosen { - stdout-path = "serial0:115200n8"; - }; - memory at 0 { device_type = "memory"; reg = <0x0 0x0 0x0 0x40000000>; diff --git a/arch/arm/dts/meson-khadas-vim3.dtsi b/arch/arm/dts/meson-khadas-vim3.dtsi index 8647da7d66..c6b0ce9a88 100644 --- a/arch/arm/dts/meson-khadas-vim3.dtsi +++ b/arch/arm/dts/meson-khadas-vim3.dtsi @@ -11,15 +11,6 @@ / { model = "Khadas VIM3"; - aliases { - serial0 = &uart_AO; - ethernet0 = ðmac; - }; - - chosen { - stdout-path = "serial0:115200n8"; - }; - memory at 0 { device_type = "memory"; reg = <0x0 0x0 0x0 0x80000000>; diff --git a/arch/arm/dts/meson-sm1-sei610.dts b/arch/arm/dts/meson-sm1-sei610.dts index 3435aaa4e8..4372708811 100644 --- a/arch/arm/dts/meson-sm1-sei610.dts +++ b/arch/arm/dts/meson-sm1-sei610.dts @@ -14,15 +14,6 @@ compatible = "seirobotics,sei610", "amlogic,sm1"; model = "SEI Robotics SEI610"; - aliases { - serial0 = &uart_AO; - ethernet0 = ðmac; - }; - - chosen { - stdout-path = "serial0:115200n8"; - }; - emmc_pwrseq: emmc-pwrseq { compatible = "mmc-pwrseq-emmc"; reset-gpios = <&gpio BOOT_12 GPIO_ACTIVE_LOW>; From patchwork Sun Feb 9 11:05:57 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anand Moon X-Patchwork-Id: 236073 List-Id: U-Boot discussion From: linux.amoon at gmail.com (Anand Moon) Date: Sun, 9 Feb 2020 11:05:57 +0000 Subject: [PATCHv6 5/5] arm: dts: s400: Move common nodes to the -u-boot.dtsi In-Reply-To: <20200209110557.1996-1-linux.amoon@gmail.com> References: <20200209110557.1996-1-linux.amoon@gmail.com> Message-ID: <20200209110557.1996-6-linux.amoon@gmail.com> Move u-boot specific common nodes in the dts files to meson-axg-s400-u-boot.dtsi. This allows us to keep the basic dts[i] files up-to-date with the ones in kernel, but at the same time allowing the u-boot to add its own properties to the existing nodes. Also add missing mmc alias to dts nodes to avoid below debug warning. mmc_bind: alias ret=-2, devnum=-1 mmc_bind: alias ret=-2, devnum=-1 Signed-off-by: Anand Moon --- no changes from previous changes --- arch/arm/dts/meson-axg-s400-u-boot.dtsi | 16 ++++++++++++++++ arch/arm/dts/meson-axg-s400.dts | 9 --------- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/arch/arm/dts/meson-axg-s400-u-boot.dtsi b/arch/arm/dts/meson-axg-s400-u-boot.dtsi index c46eb3f38d..74241e9fcd 100644 --- a/arch/arm/dts/meson-axg-s400-u-boot.dtsi +++ b/arch/arm/dts/meson-axg-s400-u-boot.dtsi @@ -2,6 +2,22 @@ /* * Copyright (c) 2017 Amlogic, Inc. All rights reserved. */ +/ { + soc { + u-boot,dm-pre-reloc; + }; + + aliases { + serial0 = &uart_AO; + serial1 = &uart_A; + mmc1 = &sd_emmc_b; + mmc2 = &sd_emmc_c; + }; + + chosen { + stdout-path = "serial0:115200n8"; + }; +}; /* wifi module */ &sd_emmc_b { diff --git a/arch/arm/dts/meson-axg-s400.dts b/arch/arm/dts/meson-axg-s400.dts index 18778ada7b..feb84255ad 100644 --- a/arch/arm/dts/meson-axg-s400.dts +++ b/arch/arm/dts/meson-axg-s400.dts @@ -55,11 +55,6 @@ }; }; - aliases { - serial0 = &uart_AO; - serial1 = &uart_A; - }; - linein: audio-codec at 0 { #sound-dai-cells = <0>; compatible = "everest,es7241"; @@ -100,10 +95,6 @@ reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>; }; - chosen { - stdout-path = "serial0:115200n8"; - }; - memory at 0 { device_type = "memory"; reg = <0x0 0x0 0x0 0x40000000>;