public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [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