[U-Boot] [PATCH V6 - Part 2 - 3/3] mx6q: mx6qsabrelite: Add ECSPI support to the Sabrelite platform

Jason Hui jason.hui at linaro.org
Wed Feb 1 12:25:14 CET 2012


On Wed, Feb 1, 2012 at 1:52 AM, Eric Nelson
<eric.nelson at boundarydevices.com> wrote:
> Signed-off-by: Eric Nelson <eric.nelson at boundarydevices.com>
> Acked-by: Dirk Behme <dirk.behme at de.bosch.com>
> Acked-by: Stefano Babic <sbabic at denx.de>
> ---
>  board/freescale/mx6qsabrelite/imximage.cfg    |    2 +-
>  board/freescale/mx6qsabrelite/mx6qsabrelite.c |   25 +++++++++++++++++++++++++
>  include/configs/mx6qsabrelite.h               |    9 +++++++++
>  3 files changed, 35 insertions(+), 1 deletions(-)

Acked-by: Jason Liu <jason.hui at linaro.org>

Tested on Sabre-lite board.

Tested-by: Jason Liu <jason.hui at linaro.org>

>
> diff --git a/board/freescale/mx6qsabrelite/imximage.cfg b/board/freescale/mx6qsabrelite/imximage.cfg
> index 83dee6f..c389427 100644
> --- a/board/freescale/mx6qsabrelite/imximage.cfg
> +++ b/board/freescale/mx6qsabrelite/imximage.cfg
> @@ -156,7 +156,7 @@ DATA 4 0x021b0404 0x00011006
>
>  # set the default clock gate to save power
>  DATA 4 0x020c4068 0x00C03F3F
> -DATA 4 0x020c406c 0x0030FC00
> +DATA 4 0x020c406c 0x0030FC03
>  DATA 4 0x020c4070 0x0FFFC000
>  DATA 4 0x020c4074 0x3FF00000
>  DATA 4 0x020c4078 0x00FFF300
> diff --git a/board/freescale/mx6qsabrelite/mx6qsabrelite.c b/board/freescale/mx6qsabrelite/mx6qsabrelite.c
> index a53b01f..97a77e8 100644
> --- a/board/freescale/mx6qsabrelite/mx6qsabrelite.c
> +++ b/board/freescale/mx6qsabrelite/mx6qsabrelite.c
> @@ -46,6 +46,10 @@ DECLARE_GLOBAL_DATA_PTR;
>        PAD_CTL_PUS_100K_UP | PAD_CTL_SPEED_MED   |             \
>        PAD_CTL_DSE_40ohm   | PAD_CTL_HYS)
>
> +#define SPI_PAD_CTRL (PAD_CTL_HYS |                            \
> +       PAD_CTL_PUS_100K_DOWN | PAD_CTL_SPEED_MED |             \
> +       PAD_CTL_DSE_40ohm     | PAD_CTL_SRE_FAST)
> +
>  int dram_init(void)
>  {
>        gd->ram_size = get_ram_size((void *)PHYS_SDRAM, PHYS_SDRAM_SIZE);
> @@ -193,6 +197,23 @@ int board_mmc_init(bd_t *bis)
>  }
>  #endif
>
> +#ifdef CONFIG_MXC_SPI
> +iomux_v3_cfg_t ecspi1_pads[] = {
> +       /* SS1 */
> +       MX6Q_PAD_EIM_D19__GPIO_3_19   | MUX_PAD_CTRL(SPI_PAD_CTRL),
> +       MX6Q_PAD_EIM_D17__ECSPI1_MISO | MUX_PAD_CTRL(SPI_PAD_CTRL),
> +       MX6Q_PAD_EIM_D18__ECSPI1_MOSI | MUX_PAD_CTRL(SPI_PAD_CTRL),
> +       MX6Q_PAD_EIM_D16__ECSPI1_SCLK | MUX_PAD_CTRL(SPI_PAD_CTRL),
> +};
> +
> +void setup_spi(void)
> +{
> +       gpio_direction_output(GPIO_NUMBER(3, 19), 1);
> +       imx_iomux_v3_setup_multiple_pads(ecspi1_pads,
> +                                        ARRAY_SIZE(ecspi1_pads));
> +}
> +#endif
> +
>  #define MII_1000BASET_CTRL             0x9
>  #define MII_EXTENDED_CTRL              0xb
>  #define MII_EXTENDED_DATAW             0xc
> @@ -239,6 +260,10 @@ int board_eth_init(bd_t *bis)
>                return ret;
>        }
>
> +#ifdef CONFIG_MXC_SPI
> +       setup_spi();
> +#endif
> +
>        return 0;
>  }
>
> diff --git a/include/configs/mx6qsabrelite.h b/include/configs/mx6qsabrelite.h
> index d650ee3..bcb1a42 100644
> --- a/include/configs/mx6qsabrelite.h
> +++ b/include/configs/mx6qsabrelite.h
> @@ -44,6 +44,15 @@
>  #define CONFIG_MXC_UART
>  #define CONFIG_MXC_UART_BASE           UART2_BASE
>
> +#define CONFIG_CMD_SF
> +#ifdef CONFIG_CMD_SF
> +#define CONFIG_SPI_FLASH
> +#define CONFIG_SPI_FLASH_SST
> +#define CONFIG_MXC_SPI
> +#define CONFIG_SF_DEFAULT_SPEED 25000000
> +#define CONFIG_SF_DEFAULT_MODE (SPI_MODE_0)
> +#endif
> +
>  /* MMC Configs */
>  #define CONFIG_FSL_ESDHC
>  #define CONFIG_FSL_USDHC
> --
> 1.7.1
>


More information about the U-Boot mailing list