[U-Boot] [ 1/2] tqma6: fix sf detection
Jagan Teki
jagannadh.teki at gmail.com
Mon Oct 27 19:18:32 CET 2014
On 23 October 2014 19:17, Markus Niebel <list-09_u-boot at tqsc.de> wrote:
> From: Markus Niebel <Markus.Niebel at tq-group.com>
>
> Commit 155fa9af95ac5be857a7327e7a968a296e60d4c8 changed the way
> to define a GPIO line, which can be used to force CS high
> across multiple transactions. In order to fix sf detection
> change board code to make use of board_spi_cs_gpio(..).
>
> Signed-off-by: Markus Niebel <Markus.Niebel at tq-group.com>
> ---
> board/tqc/tqma6/tqma6.c | 10 +++++++++-
> include/configs/tqma6.h | 19 ++++++++++++++++---
> 2 files changed, 25 insertions(+), 4 deletions(-)
>
> diff --git a/board/tqc/tqma6/tqma6.c b/board/tqc/tqma6/tqma6.c
> index b552bb8..fd1bd59 100644
> --- a/board/tqc/tqma6/tqma6.c
> +++ b/board/tqc/tqma6/tqma6.c
> @@ -138,8 +138,10 @@ static iomux_v3_cfg_t const tqma6_ecspi1_pads[] = {
> NEW_PAD_CTRL(MX6_PAD_EIM_D18__ECSPI1_MOSI, SPI_PAD_CTRL),
> };
>
> +#define TQMA6_SF_CS_GPIO IMX_GPIO_NR(3, 19)
> +
> static unsigned const tqma6_ecspi1_cs[] = {
> - IMX_GPIO_NR(3, 19),
> + TQMA6_SF_CS_GPIO,
> };
>
> static void tqma6_iomuxc_spi(void)
> @@ -152,6 +154,12 @@ static void tqma6_iomuxc_spi(void)
> ARRAY_SIZE(tqma6_ecspi1_pads));
> }
>
> +int board_spi_cs_gpio(unsigned bus, unsigned cs)
> +{
> + return ((bus == CONFIG_SF_DEFAULT_BUS) &&
> + (cs == CONFIG_SF_DEFAULT_CS)) ? TQMA6_SF_CS_GPIO : -1;
> +}
> +
This always be a puzzle to me, (spi flash, here) driver controlled
stuff is validating in board entries.
Which I couldn't see a correct idea.
> static struct i2c_pads_info tqma6_i2c3_pads = {
> /* I2C3: on board LM75, M24C64, */
> .scl = {
> diff --git a/include/configs/tqma6.h b/include/configs/tqma6.h
> index 2705d2c..9ba0155 100644
> --- a/include/configs/tqma6.h
> +++ b/include/configs/tqma6.h
> @@ -9,13 +9,26 @@
> #ifndef __CONFIG_H
> #define __CONFIG_H
>
> +#define CONFIG_MX6
> +
> +/* SPL */
> +/* #if defined(CONFIG_SPL_BUILD) */
> +
> +#define CONFIG_SPL_MMC_SUPPORT
> +#define CONFIG_SPL_SPI_SUPPORT
> +#define CONFIG_SPL_FAT_SUPPORT
> +#define CONFIG_SPL_EXT_SUPPORT
> +
> +/* common IMX6 SPL configuration */
> +#include "imx6_spl.h"
> +
> +/* #endif */
> +
> #include "mx6_common.h"
> #include <asm/arch/imx-regs.h>
> #include <asm/imx-common/gpio.h>
> #include <linux/sizes.h>
>
> -#define CONFIG_MX6
> -
> #if defined(CONFIG_MX6DL) || defined(CONFIG_MX6S)
> #define PHYS_SDRAM_SIZE (512u * SZ_1M)
> #elif defined(CONFIG_MX6Q) || defined(CONFIG_MX6D)
> @@ -57,7 +70,7 @@
>
> #define CONFIG_CMD_SF
> #define CONFIG_SF_DEFAULT_BUS 0
> -#define CONFIG_SF_DEFAULT_CS (0 | (IMX_GPIO_NR(3, 19) << 8))
> +#define CONFIG_SF_DEFAULT_CS 0
> #define CONFIG_SF_DEFAULT_SPEED 50000000
> #define CONFIG_SF_DEFAULT_MODE (SPI_MODE_0)
>
> --
> 2.1.1
>
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot
thanks!
--
Jagan.
More information about the U-Boot
mailing list