* [U-Boot] [PATCH 1/3] armv8/ls1043aqds: add DSPI support
[not found] ` <1450946415-41061-2-git-send-email-Qianyu.Gong@nxp.com>
@ 2015-12-24 9:03 ` Shaohui Xie
0 siblings, 0 replies; 3+ messages in thread
From: Shaohui Xie @ 2015-12-24 9:03 UTC (permalink / raw)
To: u-boot
> -----Original Message-----
> From: Gong Qianyu [mailto:Qianyu.Gong at nxp.com]
> Sent: Thursday, December 24, 2015 4:40 PM
> To: u-boot at lists.denx.de
> Cc: Mingkai Hu; R58495 at freescale.com; B48286 at freescale.com;
> Shaohui.Xie at freescale.com; Wenbin.Song at freescale.com;
> B07421 at freescale.com; Gong Qianyu; Qianyu Gong
> Subject: [PATCH 1/3] armv8/ls1043aqds: add DSPI support
>
> From: Gong Qianyu <Qianyu.Gong@freescale.com>
>
> Enable three DSPI flash memories on board.
>
> Commands:
> => sf probe 1:0
> SF: Detected N25Q128A with page size 256 Bytes,
> erase size 64 KiB, total 16 MiB
> => sf probe 1:1
> SF: Detected SST25WF040B with page size 256 Bytes,
> erase size 4 KiB, total 512 KiB
> => sf probe 1:2
> SF: Detected EN25S64 with page size 256 Bytes,
> erase size 64 KiB, total 8 MiB
>
> Signed-off-by: Gong Qianyu <Qianyu.Gong@freescale.com>
> Signed-off-by: Gong Qianyu <Qianyu.Gong@nxp.com>
[S.H] keep one email address.
> ---
> arch/arm/dts/fsl-ls1043a-qds.dts | 30
> ++++++++++++++++++++++++++++++
> configs/ls1043aqds_defconfig | 3 +++
> configs/ls1043aqds_nand_defconfig | 5 +++++
> configs/ls1043aqds_sdcard_ifc_defconfig | 5 +++++
> include/configs/ls1043a_common.h | 13 +++++++++++++
> include/configs/ls1043ardb.h | 10 ----------
> 6 files changed, 56 insertions(+), 10 deletions(-)
>
> diff --git a/arch/arm/dts/fsl-ls1043a-qds.dts b/arch/arm/dts/fsl-ls1043a-
> qds.dts
> index 7435222..0fe9c54 100644
> --- a/arch/arm/dts/fsl-ls1043a-qds.dts
> +++ b/arch/arm/dts/fsl-ls1043a-qds.dts
> @@ -15,6 +15,36 @@
>
> / {
> model = "LS1043A QDS Board";
> + aliases {
> + spi1 = &dspi0;
> + };
> +};
> +
> +&dspi0 {
> + bus-num = <0>;
> + status = "okay";
> +
> + dflash0: n25q128a {
> + #address-cells = <1>;
> + #size-cells = <1>;
> + compatible = "spi-flash";
> + reg = <0>;
> + spi-max-frequency = <1000000>; /* input clock */
> + };
[S.H] empty line.
> + dflash1: sst25wf040b {
> + #address-cells = <1>;
> + #size-cells = <1>;
> + compatible = "spi-flash";
> + spi-max-frequency = <3500000>;
> + reg = <1>;
> + };
[S.H] ditto.
> + dflash2: en25s64 {
> + #address-cells = <1>;
> + #size-cells = <1>;
> + compatible = "spi-flash";
> + spi-max-frequency = <3500000>;
> + reg = <2>;
> + };
> };
>
> &i2c0 {
> diff --git a/configs/ls1043aqds_defconfig b/configs/ls1043aqds_defconfig
> index 60fb0ad..5b12632 100644
> --- a/configs/ls1043aqds_defconfig
> +++ b/configs/ls1043aqds_defconfig
> @@ -4,3 +4,6 @@ CONFIG_TARGET_LS1043AQDS=y CONFIG_SYS_NS16550=y
> CONFIG_DEFAULT_DEVICE_TREE="fsl-ls1043a-qds"
> CONFIG_OF_CONTROL=y
> +CONFIG_DM=y
> +CONFIG_SPI_FLASH=y
> +CONFIG_DM_SPI=y
> diff --git a/configs/ls1043aqds_nand_defconfig
> b/configs/ls1043aqds_nand_defconfig
> index e9d5afd..d4f758c 100644
> --- a/configs/ls1043aqds_nand_defconfig
> +++ b/configs/ls1043aqds_nand_defconfig
> @@ -3,3 +3,8 @@
> CONFIG_SYS_EXTRA_OPTIONS="SYS_FSL_DDR4,RAMBOOT_PBL,SPL_FSL_PBL,NAND_BOOT"
> CONFIG_ARM=y
> CONFIG_TARGET_LS1043AQDS=y
> CONFIG_SYS_NS16550=y
> +CONFIG_DEFAULT_DEVICE_TREE="fsl-ls1043a-qds"
> +CONFIG_OF_CONTROL=y
> +CONFIG_DM=y
> +CONFIG_SPI_FLASH=y
> +CONFIG_DM_SPI=y
> diff --git a/configs/ls1043aqds_sdcard_ifc_defconfig
> b/configs/ls1043aqds_sdcard_ifc_defconfig
> index 6765d3d..25ae9cc 100644
> --- a/configs/ls1043aqds_sdcard_ifc_defconfig
> +++ b/configs/ls1043aqds_sdcard_ifc_defconfig
> @@ -3,3 +3,8 @@
> CONFIG_SYS_EXTRA_OPTIONS="SYS_FSL_DDR4,RAMBOOT_PBL,SPL_FSL_PBL,SD_BOOT"
> CONFIG_ARM=y
> CONFIG_TARGET_LS1043AQDS=y
> CONFIG_SYS_NS16550=y
> +CONFIG_DEFAULT_DEVICE_TREE="fsl-ls1043a-qds"
> +CONFIG_OF_CONTROL=y
> +CONFIG_DM=y
> +CONFIG_SPI_FLASH=y
> +CONFIG_DM_SPI=y
> diff --git a/include/configs/ls1043a_common.h
> b/include/configs/ls1043a_common.h
> index 677d281..139d1d4 100644
> --- a/include/configs/ls1043a_common.h
> +++ b/include/configs/ls1043a_common.h
> @@ -197,6 +197,19 @@
> #define CONFIG_DOS_PARTITION
> #endif
>
> +/* DSPI */
> +#define CONFIG_FSL_DSPI
> +#ifdef CONFIG_FSL_DSPI
> +#define CONFIG_CMD_SF
> +#define CONFIG_DM_SPI_FLASH
> +#define CONFIG_SPI_FLASH_STMICRO /* cs0 */
> +#define CONFIG_SPI_FLASH_SST /* cs1 */
> +#define CONFIG_SPI_FLASH_EON /* cs2 */
> +#define CONFIG_SF_DEFAULT_BUS 1
> +#define CONFIG_SF_DEFAULT_CS 0
> +#endif
> +
> +
[S.H] remove one empty line.
> /* FMan ucode */
> #define CONFIG_SYS_DPAA_FMAN
> #ifdef CONFIG_SYS_DPAA_FMAN
> diff --git a/include/configs/ls1043ardb.h b/include/configs/ls1043ardb.h
> index 585114f..f768348 100644
> --- a/include/configs/ls1043ardb.h
> +++ b/include/configs/ls1043ardb.h
> @@ -222,16 +222,6 @@
> #define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 3
> #define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 5
>
> -/* DSPI */
> -#define CONFIG_FSL_DSPI
> -#ifdef CONFIG_FSL_DSPI
> -#define CONFIG_CMD_SF
> -#define CONFIG_DM_SPI_FLASH
> -#define CONFIG_SPI_FLASH_STMICRO
> -#define CONFIG_SF_DEFAULT_BUS 1
> -#define CONFIG_SF_DEFAULT_CS 0
> -#endif
> -
> /*
> * Environment
> */
> --
> 2.1.0.27.g96db324
^ permalink raw reply [flat|nested] 3+ messages in thread
* [U-Boot] [PATCH 2/3] armv8/ls1043aqds: add QSPI support in SD boot
[not found] ` <1450946415-41061-3-git-send-email-Qianyu.Gong@nxp.com>
@ 2015-12-28 21:51 ` Scott Wood
2015-12-29 9:22 ` Qianyu Gong
0 siblings, 1 reply; 3+ messages in thread
From: Scott Wood @ 2015-12-28 21:51 UTC (permalink / raw)
To: u-boot
On Thu, 2015-12-24 at 16:40 +0800, Gong Qianyu wrote:
> From: Gong Qianyu <Qianyu.Gong@freescale.com>
>
> QSPI and IFC are pin-multiplexed on LS1043A. So we use
> ls1043aqds_sdcard_ifc_defconfig to support IFC in SD boot and
> ls1043aqds_sdcard_qspi_defconfig to support QSPI in SD boot. If
> QSPI is enabled, IFC should be disabled in kernel as well.
>
> Signed-off-by: Gong Qianyu <Qianyu.Gong@freescale.com>
> Signed-off-by: Gong Qianyu <Qianyu.Gong@nxp.com>
> ---
> arch/arm/cpu/armv8/fsl-layerscape/fdt.c | 5 +++++
> arch/arm/cpu/armv8/fsl-layerscape/soc.c | 3 +++
> arch/arm/dts/fsl-ls1043a-qds.dts | 14 +++++++++++++
> arch/arm/dts/fsl-ls1043a.dtsi | 11 +++++++++++
> board/freescale/ls1043aqds/MAINTAINERS | 1 +
> .../ls1043aqds/ls1043aqds_rcw_sd_qspi.cfg | 8 ++++++++
> configs/ls1043aqds_sdcard_qspi_defconfig | 10 ++++++++++
> include/configs/ls1043a_common.h | 13 ++++++++++++
> include/configs/ls1043aqds.h | 23
> ++++++++++++++++++++++
> 9 files changed, 88 insertions(+)
>
> diff --git a/arch/arm/cpu/armv8/fsl-layerscape/fdt.c
> b/arch/arm/cpu/armv8/fsl-layerscape/fdt.c
> index eafdd71..a247510 100644
> --- a/arch/arm/cpu/armv8/fsl-layerscape/fdt.c
> +++ b/arch/arm/cpu/armv8/fsl-layerscape/fdt.c
> @@ -201,4 +201,9 @@ void ft_cpu_setup(void *blob, bd_t *bd)
> #ifdef CONFIG_FSL_LSCH3
> fdt_fixup_smmu(blob);
> #endif
> +
> +#ifdef CONFIG_FSL_QSPI
> + do_fixup_by_compat(blob, "fsl,ifc",
> + "status", "disabled", 8 + 1, 1);
> +#endif
This needs to only happen on LS1043A (and any other chips that have the same
muxing).
> }
> diff --git a/arch/arm/cpu/armv8/fsl-layerscape/soc.c
> b/arch/arm/cpu/armv8/fsl-layerscape/soc.c
> index 23d6b73..4b1f792 100644
> --- a/arch/arm/cpu/armv8/fsl-layerscape/soc.c
> +++ b/arch/arm/cpu/armv8/fsl-layerscape/soc.c
> @@ -219,6 +219,9 @@ void fsl_lsch2_early_init_f(void)
> init_early_memctl_regs(); /* tighten IFC timing */
> #endif
>
> +#ifdef CONFIG_FSL_QSPI
> + out_be32(&scfg->qspi_cfg, SCFG_QSPI_CLKSEL);
> +#endif
Likewise.
-Scott
^ permalink raw reply [flat|nested] 3+ messages in thread
* [U-Boot] [PATCH 2/3] armv8/ls1043aqds: add QSPI support in SD boot
2015-12-28 21:51 ` [U-Boot] [PATCH 2/3] armv8/ls1043aqds: add QSPI support in SD boot Scott Wood
@ 2015-12-29 9:22 ` Qianyu Gong
0 siblings, 0 replies; 3+ messages in thread
From: Qianyu Gong @ 2015-12-29 9:22 UTC (permalink / raw)
To: u-boot
> -----Original Message-----
> From: Scott Wood [mailto:scottwood at freescale.com]
> Sent: Tuesday, December 29, 2015 5:52 AM
> To: Qianyu Gong <qianyu.gong@nxp.com>; u-boot at lists.denx.de
> Cc: Mingkai Hu <mingkai.hu@nxp.com>; R58495 at freescale.com;
> B48286 at freescale.com; Shaohui.Xie at freescale.com;
> Wenbin.Song at freescale.com; B07421 at freescale.com; Gong Qianyu
> <Qianyu.Gong@freescale.com>
> Subject: Re: [PATCH 2/3] armv8/ls1043aqds: add QSPI support in SD boot
>
> On Thu, 2015-12-24 at 16:40 +0800, Gong Qianyu wrote:
> > From: Gong Qianyu <Qianyu.Gong@freescale.com>
> >
> > QSPI and IFC are pin-multiplexed on LS1043A. So we use
> > ls1043aqds_sdcard_ifc_defconfig to support IFC in SD boot and
> > ls1043aqds_sdcard_qspi_defconfig to support QSPI in SD boot. If QSPI
> > is enabled, IFC should be disabled in kernel as well.
> >
> > Signed-off-by: Gong Qianyu <Qianyu.Gong@freescale.com>
> > Signed-off-by: Gong Qianyu <Qianyu.Gong@nxp.com>
> > ---
> > arch/arm/cpu/armv8/fsl-layerscape/fdt.c | 5 +++++
> > arch/arm/cpu/armv8/fsl-layerscape/soc.c | 3 +++
> > arch/arm/dts/fsl-ls1043a-qds.dts | 14 +++++++++++++
> > arch/arm/dts/fsl-ls1043a.dtsi | 11 +++++++++++
> > board/freescale/ls1043aqds/MAINTAINERS | 1 +
> > .../ls1043aqds/ls1043aqds_rcw_sd_qspi.cfg | 8 ++++++++
> > configs/ls1043aqds_sdcard_qspi_defconfig | 10 ++++++++++
> > include/configs/ls1043a_common.h | 13 ++++++++++++
> > include/configs/ls1043aqds.h | 23
> > ++++++++++++++++++++++
> > 9 files changed, 88 insertions(+)
> >
> > diff --git a/arch/arm/cpu/armv8/fsl-layerscape/fdt.c
> > b/arch/arm/cpu/armv8/fsl-layerscape/fdt.c
> > index eafdd71..a247510 100644
> > --- a/arch/arm/cpu/armv8/fsl-layerscape/fdt.c
> > +++ b/arch/arm/cpu/armv8/fsl-layerscape/fdt.c
> > @@ -201,4 +201,9 @@ void ft_cpu_setup(void *blob, bd_t *bd) #ifdef
> > CONFIG_FSL_LSCH3
> > fdt_fixup_smmu(blob);
> > #endif
> > +
> > +#ifdef CONFIG_FSL_QSPI
> > + do_fixup_by_compat(blob, "fsl,ifc",
> > + "status", "disabled", 8 + 1, 1); #endif
>
> This needs to only happen on LS1043A (and any other chips that have the same
> muxing).
>
Hi Scott,
Yes, LS1046A and LS1088A also have the same muxing and it's only different on LS2085A.
Or we can just remove this fixup in U-Boot and make kernel deal with it respectively.
Which do you prefer?
> > }
> > diff --git a/arch/arm/cpu/armv8/fsl-layerscape/soc.c
> > b/arch/arm/cpu/armv8/fsl-layerscape/soc.c
> > index 23d6b73..4b1f792 100644
> > --- a/arch/arm/cpu/armv8/fsl-layerscape/soc.c
> > +++ b/arch/arm/cpu/armv8/fsl-layerscape/soc.c
> > @@ -219,6 +219,9 @@ void fsl_lsch2_early_init_f(void)
> > init_early_memctl_regs(); /* tighten IFC timing */
> > #endif
> >
> > +#ifdef CONFIG_FSL_QSPI
> > + out_be32(&scfg->qspi_cfg, SCFG_QSPI_CLKSEL); #endif
>
> Likewise.
>
> -Scott
fsl_lsch2_early_init_f() isn't called on LS2085A.
I think currently it's ok with known chips.
Regards,
Qianyu
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2015-12-29 9:22 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <1450946415-41061-1-git-send-email-Qianyu.Gong@nxp.com>
[not found] ` <1450946415-41061-2-git-send-email-Qianyu.Gong@nxp.com>
2015-12-24 9:03 ` [U-Boot] [PATCH 1/3] armv8/ls1043aqds: add DSPI support Shaohui Xie
[not found] ` <1450946415-41061-3-git-send-email-Qianyu.Gong@nxp.com>
2015-12-28 21:51 ` [U-Boot] [PATCH 2/3] armv8/ls1043aqds: add QSPI support in SD boot Scott Wood
2015-12-29 9:22 ` Qianyu Gong
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox