* [U-Boot] [UBOOT][PATCHv2 0/5] qspi: Add AM437x support
@ 2013-12-20 5:57 Sourav Poddar
2013-12-20 5:57 ` [U-Boot] [UBOOT][PATCHv2 1/5] am43xx: add qspi support Sourav Poddar
` (5 more replies)
0 siblings, 6 replies; 21+ messages in thread
From: Sourav Poddar @ 2013-12-20 5:57 UTC (permalink / raw)
To: u-boot
The patch series add support for enabling qspi
on AM43xx at uboot.
Testing done:
-------------
Wrote a uImage to the flash, read it back and boot the
kernel.
v1->v2:
Remove patch 3 of previous version, as support was already added
for macronix flash.
Created a doc explaining the test details.
This patches are developed and tested on top of the following tree:
git://git.denx.de/u-boot-ti.git
branch: master
Sourav Poddar (5):
am43xx: add qspi support
am437x_epos_evm: add SPL API, QSPI, and serial flash support
qspi/spi: Add AM43xx specifics changes
am43xx: add delay before xfer
doc: qspi: Add qspi test details on AM43xx
arch/arm/cpu/armv7/am33xx/clock_am43xx.c | 1 +
arch/arm/include/asm/arch-am33xx/cpu.h | 4 +-
arch/arm/include/asm/arch-am33xx/omap.h | 1 +
board/ti/am43xx/mux.c | 11 ++++
doc/SPI/README.ti_qspi_am43x_test | 76 ++++++++++++++++++++++++++++++
drivers/spi/ti_qspi.c | 33 ++++++++++++-
include/configs/am43xx_evm.h | 20 ++++++++
7 files changed, 142 insertions(+), 4 deletions(-)
create mode 100644 doc/SPI/README.ti_qspi_am43x_test
^ permalink raw reply [flat|nested] 21+ messages in thread
* [U-Boot] [UBOOT][PATCHv2 1/5] am43xx: add qspi support
2013-12-20 5:57 [U-Boot] [UBOOT][PATCHv2 0/5] qspi: Add AM437x support Sourav Poddar
@ 2013-12-20 5:57 ` Sourav Poddar
2013-12-20 5:57 ` [U-Boot] [UBOOT][PATCHv2 2/5] am437x_epos_evm: add SPL API, QSPI, and serial flash support Sourav Poddar
` (4 subsequent siblings)
5 siblings, 0 replies; 21+ messages in thread
From: Sourav Poddar @ 2013-12-20 5:57 UTC (permalink / raw)
To: u-boot
Add QSPI definitions and clock configuration support.
Signed-off-by: Sourav Poddar <sourav.poddar@ti.com>
---
arch/arm/cpu/armv7/am33xx/clock_am43xx.c | 1 +
arch/arm/include/asm/arch-am33xx/cpu.h | 4 +++-
arch/arm/include/asm/arch-am33xx/omap.h | 1 +
3 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/arch/arm/cpu/armv7/am33xx/clock_am43xx.c b/arch/arm/cpu/armv7/am33xx/clock_am43xx.c
index 97c00b4..fb654bb 100644
--- a/arch/arm/cpu/armv7/am33xx/clock_am43xx.c
+++ b/arch/arm/cpu/armv7/am33xx/clock_am43xx.c
@@ -98,6 +98,7 @@ void enable_basic_clocks(void)
&cmper->emiffwclkctrl,
&cmper->emifclkctrl,
&cmper->otfaemifclkctrl,
+ &cmper->qspiclkctrl,
0
};
diff --git a/arch/arm/include/asm/arch-am33xx/cpu.h b/arch/arm/include/asm/arch-am33xx/cpu.h
index 9febfa2..0736258 100644
--- a/arch/arm/include/asm/arch-am33xx/cpu.h
+++ b/arch/arm/include/asm/arch-am33xx/cpu.h
@@ -332,7 +332,9 @@ struct cm_perpll {
unsigned int mcasp1clkctrl; /* offset 0x240 */
unsigned int resv11;
unsigned int mmc2clkctrl; /* offset 0x248 */
- unsigned int resv12[5];
+ unsigned int resv12[3];
+ unsigned int qspiclkctrl; /* offset 0x258 */
+ unsigned int resv121;
unsigned int usb0clkctrl; /* offset 0x260 */
unsigned int resv13[103];
unsigned int l4lsclkstctrl; /* offset 0x400 */
diff --git a/arch/arm/include/asm/arch-am33xx/omap.h b/arch/arm/include/asm/arch-am33xx/omap.h
index 7a7d91b..0855d16 100644
--- a/arch/arm/include/asm/arch-am33xx/omap.h
+++ b/arch/arm/include/asm/arch-am33xx/omap.h
@@ -29,5 +29,6 @@
#define SRAM_SCRATCH_SPACE_ADDR 0x40337C00
#define AM4372_BOARD_NAME_START SRAM_SCRATCH_SPACE_ADDR
#define AM4372_BOARD_NAME_END SRAM_SCRATCH_SPACE_ADDR + 0xC
+#define QSPI_BASE 0x47900000
#endif
#endif
--
1.7.1
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [U-Boot] [UBOOT][PATCHv2 2/5] am437x_epos_evm: add SPL API, QSPI, and serial flash support
2013-12-20 5:57 [U-Boot] [UBOOT][PATCHv2 0/5] qspi: Add AM437x support Sourav Poddar
2013-12-20 5:57 ` [U-Boot] [UBOOT][PATCHv2 1/5] am43xx: add qspi support Sourav Poddar
@ 2013-12-20 5:57 ` Sourav Poddar
2013-12-21 7:07 ` [U-Boot] [U-Boot, PATCHv2, 3/5] spi: ti_qspi: Add AM43xx specifics changes Jagannadha Sutradharudu Teki
` (6 more replies)
2013-12-20 5:57 ` [U-Boot] [UBOOT][PATCHv2 3/5] qspi/spi: Add AM43xx specifics changes Sourav Poddar
` (3 subsequent siblings)
5 siblings, 7 replies; 21+ messages in thread
From: Sourav Poddar @ 2013-12-20 5:57 UTC (permalink / raw)
To: u-boot
Enables support for SPI SPL, QSPI and Spansion serial flash device
on the EVM. Configures pin muxes for QSPI mode.
Signed-off-by: Sourav Poddar <sourav.poddar@ti.com>
---
board/ti/am43xx/mux.c | 11 +++++++++++
include/configs/am43xx_evm.h | 20 ++++++++++++++++++++
2 files changed, 31 insertions(+), 0 deletions(-)
diff --git a/board/ti/am43xx/mux.c b/board/ti/am43xx/mux.c
index 810b194..4db3d78 100644
--- a/board/ti/am43xx/mux.c
+++ b/board/ti/am43xx/mux.c
@@ -38,6 +38,16 @@ static struct module_pin_mux gpio0_22_pin_mux[] = {
{-1},
};
+static struct module_pin_mux qspi_pin_mux[] = {
+ {OFFSET(gpmc_csn0), (MODE(3) | PULLUP_EN | RXACTIVE)}, /* QSPI_CS0 */
+ {OFFSET(gpmc_csn3), (MODE(2) | PULLUP_EN | RXACTIVE)}, /* QSPI_CLK */
+ {OFFSET(gpmc_advn_ale), (MODE(3) | PULLUP_EN | RXACTIVE)}, /* QSPI_D0 */
+ {OFFSET(gpmc_oen_ren), (MODE(3) | PULLUP_EN | RXACTIVE)}, /* QSPI_D1 */
+ {OFFSET(gpmc_wen), (MODE(3) | PULLUP_EN | RXACTIVE)}, /* QSPI_D2 */
+ {OFFSET(gpmc_be0n_cle), (MODE(3) | PULLUP_EN | RXACTIVE)}, /* QSPI_D3 */
+ {-1},
+};
+
void enable_uart0_pin_mux(void)
{
configure_module_pin_mux(uart0_pin_mux);
@@ -50,6 +60,7 @@ void enable_board_pin_mux(void)
if (board_is_gpevm())
configure_module_pin_mux(gpio0_22_pin_mux);
+ configure_module_pin_mux(qspi_pin_mux);
}
void enable_i2c0_pin_mux(void)
diff --git a/include/configs/am43xx_evm.h b/include/configs/am43xx_evm.h
index 4de495a..a81c586 100644
--- a/include/configs/am43xx_evm.h
+++ b/include/configs/am43xx_evm.h
@@ -79,6 +79,26 @@
#define CONFIG_OMAP_USB_PHY
#define CONFIG_AM437X_USB2PHY2_HOST
+/* SPI */
+#undef CONFIG_OMAP3_SPI
+#define CONFIG_TI_QSPI
+#define CONFIG_SPI_FLASH
+#define CONFIG_SPI_FLASH_MACRONIX
+#define CONFIG_CMD_SF
+#define CONFIG_CMD_SPI
+#define CONFIG_TI_SPI_MMAP
+#define CONFIG_QSPI_SEL_GPIO 48
+#define CONFIG_SF_DEFAULT_SPEED 48000000
+#define CONFIG_DEFAULT_SPI_MODE SPI_MODE_3
+
+/* SPI SPL */
+#define CONFIG_SPL_SPI_SUPPORT
+#define CONFIG_SPL_SPI_LOAD
+#define CONFIG_SPL_SPI_FLASH_SUPPORT
+#define CONFIG_SPL_SPI_BUS 0
+#define CONFIG_SPL_SPI_CS 0
+#define CONFIG_SYS_SPI_U_BOOT_OFFS 0x20000
+
#ifndef CONFIG_SPL_BUILD
#define CONFIG_EXTRA_ENV_SETTINGS \
"loadaddr=0x80200000\0" \
--
1.7.1
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [U-Boot] [UBOOT][PATCHv2 3/5] qspi/spi: Add AM43xx specifics changes
2013-12-20 5:57 [U-Boot] [UBOOT][PATCHv2 0/5] qspi: Add AM437x support Sourav Poddar
2013-12-20 5:57 ` [U-Boot] [UBOOT][PATCHv2 1/5] am43xx: add qspi support Sourav Poddar
2013-12-20 5:57 ` [U-Boot] [UBOOT][PATCHv2 2/5] am437x_epos_evm: add SPL API, QSPI, and serial flash support Sourav Poddar
@ 2013-12-20 5:57 ` Sourav Poddar
2013-12-20 5:57 ` [U-Boot] [UBOOT][PATCHv2 4/5] am43xx: add delay before xfer Sourav Poddar
` (2 subsequent siblings)
5 siblings, 0 replies; 21+ messages in thread
From: Sourav Poddar @ 2013-12-20 5:57 UTC (permalink / raw)
To: u-boot
Add AM43xx specific changes.
Signed-off-by: Sourav Poddar <sourav.poddar@ti.com>
---
drivers/spi/ti_qspi.c | 26 +++++++++++++++++++++++---
1 files changed, 23 insertions(+), 3 deletions(-)
diff --git a/drivers/spi/ti_qspi.c b/drivers/spi/ti_qspi.c
index 5a5b482..5666250 100644
--- a/drivers/spi/ti_qspi.c
+++ b/drivers/spi/ti_qspi.c
@@ -11,6 +11,8 @@
#include <asm/arch/omap.h>
#include <malloc.h>
#include <spi.h>
+#include <asm/gpio.h>
+#include <asm/omap_gpio.h>
/* ti qpsi register bit masks */
#define QSPI_TIMEOUT 2000000
@@ -39,7 +41,8 @@
#define MM_SWITCH 0x01
#define MEM_CS 0x100
#define MEM_CS_UNSELECT 0xfffff0ff
-#define MMAP_START_ADDR 0x5c000000
+#define MMAP_START_ADDR_DRA 0x5c000000
+#define MMAP_START_ADDR_AM43x 0x30000000
#define CORE_CTRL_IO 0x4a002558
#define QSPI_CMD_READ (0x3 << 0)
@@ -99,7 +102,11 @@ static void ti_spi_setup_spi_register(struct ti_qspi_slave *qslave)
struct spi_slave *slave = &qslave->slave;
u32 memval = 0;
- slave->memory_map = (void *)MMAP_START_ADDR;
+#ifdef CONFIG_DRA7XX
+ slave->memory_map = (void *)MMAP_START_ADDR_DRA;
+#else
+ slave->memory_map = (void *)MMAP_START_ADDR_AM43x;
+#endif
memval |= QSPI_CMD_READ | QSPI_SETUP0_NUM_A_BYTES |
QSPI_SETUP0_NUM_D_BYTES_NO_BITS |
@@ -165,6 +172,11 @@ struct spi_slave *spi_setup_slave(unsigned int bus, unsigned int cs,
{
struct ti_qspi_slave *qslave;
+#ifdef CONFIG_AM43XX
+ gpio_request(CONFIG_QSPI_SEL_GPIO, "qspi_gpio");
+ gpio_direction_output(CONFIG_QSPI_SEL_GPIO, 1);
+#endif
+
qslave = spi_alloc_slave(struct ti_qspi_slave, bus, cs);
if (!qslave) {
printf("SPI_error: Fail to allocate ti_qspi_slave\n");
@@ -229,7 +241,11 @@ int spi_xfer(struct spi_slave *slave, unsigned int bitlen, const void *dout,
const uchar *txp = dout;
uchar *rxp = din;
uint status;
- int timeout, val;
+ int timeout;
+
+#ifdef CONFIG_DRA7XX
+ int val;
+#endif
debug("spi_xfer: bus:%i cs:%i bitlen:%i words:%i flags:%lx\n",
slave->bus, slave->cs, bitlen, words, flags);
@@ -237,15 +253,19 @@ int spi_xfer(struct spi_slave *slave, unsigned int bitlen, const void *dout,
/* Setup mmap flags */
if (flags & SPI_XFER_MMAP) {
writel(MM_SWITCH, &qslave->base->memswitch);
+#ifdef CONFIG_DRA7XX
val = readl(CORE_CTRL_IO);
val |= MEM_CS;
writel(val, CORE_CTRL_IO);
+#endif
return 0;
} else if (flags & SPI_XFER_MMAP_END) {
writel(~MM_SWITCH, &qslave->base->memswitch);
+#ifdef CONFIG_DRA7XX
val = readl(CORE_CTRL_IO);
val &= MEM_CS_UNSELECT;
writel(val, CORE_CTRL_IO);
+#endif
return 0;
}
--
1.7.1
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [U-Boot] [UBOOT][PATCHv2 4/5] am43xx: add delay before xfer
2013-12-20 5:57 [U-Boot] [UBOOT][PATCHv2 0/5] qspi: Add AM437x support Sourav Poddar
` (2 preceding siblings ...)
2013-12-20 5:57 ` [U-Boot] [UBOOT][PATCHv2 3/5] qspi/spi: Add AM43xx specifics changes Sourav Poddar
@ 2013-12-20 5:57 ` Sourav Poddar
2013-12-20 5:57 ` [U-Boot] [UBOOT][PATCHv2 5/5] doc: SPI: Add qspi test details on AM43xx Sourav Poddar
2013-12-20 18:18 ` [U-Boot] [UBOOT][PATCHv2 0/5] qspi: Add AM437x support Jagan Teki
5 siblings, 0 replies; 21+ messages in thread
From: Sourav Poddar @ 2013-12-20 5:57 UTC (permalink / raw)
To: u-boot
Without this delay, write/read is failing.
Looks like, the WIP always remain set and hence a timeout
occurs leading to the error.
Without this patch, device does not get probed also.
Here is the log.
U-Boot#
U-Boot#
U-Boot#
U-Boot# sf probe 0
SF: Unsupported flash IDs: manuf ff, jedec ffff, ext_jedec ffff
Failed to initialize SPI flash at 0:0
U-Boot# sf probe 0
While with this patch, log is
U-Boot# sf probe 0
SF: Detected MX25L51235F with page size 256 Bytes, erase size 64 KiB, total 64 MiB, mapped at 30000000
U-Boot# sf erase 0 0x80000
SF: 524288 bytes @ 0x0 Erased: OK
U-Boot# mw 81000000 0xdededede 0x40000
U-Boot# sf write 81000000 0 0x40000
SF: 262144 bytes @ 0x0 Written: OK
U-Boot# sf read 82000000 0 0x40000
SF: 262144 bytes @ 0x0 Read: OK
U-Boot# md 0x82000000
Signed-off-by: Sourav Poddar <sourav.poddar@ti.com>
---
v1->v2:
- updated commit log with error message.
- Add a FIXME comment in code,
drivers/spi/ti_qspi.c | 7 +++++++
1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/drivers/spi/ti_qspi.c b/drivers/spi/ti_qspi.c
index 5666250..dfa5d0c 100644
--- a/drivers/spi/ti_qspi.c
+++ b/drivers/spi/ti_qspi.c
@@ -285,6 +285,13 @@ int spi_xfer(struct spi_slave *slave, unsigned int bitlen, const void *dout,
qslave->cmd |= QSPI_3_PIN;
qslave->cmd |= 0xfff;
+/* FIXME: This delay is required for successfull
+ * completion of read/write/erase. Once its root
+ * caused, it will be remove from the driver.
+ */
+#ifdef CONFIG_AM43XX
+ udelay(100);
+#endif
while (words--) {
if (txp) {
debug("tx cmd %08x dc %08x data %02x\n",
--
1.7.1
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [U-Boot] [UBOOT][PATCHv2 5/5] doc: SPI: Add qspi test details on AM43xx
2013-12-20 5:57 [U-Boot] [UBOOT][PATCHv2 0/5] qspi: Add AM437x support Sourav Poddar
` (3 preceding siblings ...)
2013-12-20 5:57 ` [U-Boot] [UBOOT][PATCHv2 4/5] am43xx: add delay before xfer Sourav Poddar
@ 2013-12-20 5:57 ` Sourav Poddar
2013-12-20 13:30 ` Tom Rini
2013-12-20 18:18 ` [U-Boot] [UBOOT][PATCHv2 0/5] qspi: Add AM437x support Jagan Teki
5 siblings, 1 reply; 21+ messages in thread
From: Sourav Poddar @ 2013-12-20 5:57 UTC (permalink / raw)
To: u-boot
This shows the log obtained while testing qspi on AM437x board.
Signed-off-by: Sourav Poddar <sourav.poddar@ti.com>
---
doc/SPI/README.ti_qspi_am43x_test | 76 +++++++++++++++++++++++++++++++++++++
1 files changed, 76 insertions(+), 0 deletions(-)
create mode 100644 doc/SPI/README.ti_qspi_am43x_test
diff --git a/doc/SPI/README.ti_qspi_am43x_test b/doc/SPI/README.ti_qspi_am43x_test
new file mode 100644
index 0000000..8fbf10b
--- /dev/null
+++ b/doc/SPI/README.ti_qspi_am43x_test
@@ -0,0 +1,76 @@
+Testing details-
+----------------
+
+This doc simply illustrated the testing details of qspi flash
+driver with Macronix M25L51235 flash device.
+
+The test includes
+- probing the flash device
+- erasing the flash device
+- Writing to flash
+- Reading the contents of the flash.
+
+Test Log
+--------
+
+Hit any key to stop autoboot: 0
+U-Boot# sf probe 0
+SF: Detected MX25L51235F with page size 256 Bytes, erase size 64 KiB, total 64 MiB, mapped at 30000000
+U-Boot# sf erase 0 0x80000
+SF: 524288 bytes @ 0x0 Erased: OK
+U-Boot# mw 81000000 0xdededede 0x40000
+U-Boot# sf write 81000000 0 0x40000
+SF: 262144 bytes @ 0x0 Written: OK
+U-Boot# sf read 82000000 0 0x40000
+SF: 262144 bytes @ 0x0 Read: OK
+U-Boot# md 0x82000000
+82000000: dededede dededede dededede dededede ................
+82000010: dededede dededede dededede dededede ................
+82000020: dededede dededede dededede dededede ................
+82000030: dededede dededede dededede dededede ................
+82000040: dededede dededede dededede dededede ................
+82000050: dededede dededede dededede dededede ................
+82000060: dededede dededede dededede dededede ................
+82000070: dededede dededede dededede dededede ................
+82000080: dededede dededede dededede dededede ................
+82000090: dededede dededede dededede dededede ................
+820000a0: dededede dededede dededede dededede ................
+820000b0: dededede dededede dededede dededede ................
+820000c0: dededede dededede dededede dededede ................
+820000d0: dededede dededede dededede dededede ................
+820000e0: dededede dededede dededede dededede ................
+820000f0: dededede dededede dededede dededede ................
+U-Boot# md 0x82010000
+82010000: dededede dededede dededede dededede ................
+82010010: dededede dededede dededede dededede ................
+82010020: dededede dededede dededede dededede ................
+82010030: dededede dededede dededede dededede ................
+82010040: dededede dededede dededede dededede ................
+82010050: dededede dededede dededede dededede ................
+82010060: dededede dededede dededede dededede ................
+82010070: dededede dededede dededede dededede ................
+82010080: dededede dededede dededede dededede ................
+82010090: dededede dededede dededede dededede ................
+820100a0: dededede dededede dededede dededede ................
+820100b0: dededede dededede dededede dededede ................
+820100c0: dededede dededede dededede dededede ................
+820100d0: dededede dededede dededede dededede ................
+820100e0: dededede dededede dededede dededede ................
+820100f0: dededede dededede dededede dededede ................
+U-Boot# md 0x82030000
+82030000: dededede dededede dededede dededede ................
+82030010: dededede dededede dededede dededede ................
+82030020: dededede dededede dededede dededede ................
+82030030: dededede dededede dededede dededede ................
+82030040: dededede dededede dededede dededede ................
+82030050: dededede dededede dededede dededede ................
+82030060: dededede dededede dededede dededede ................
+82030070: dededede dededede dededede dededede ................
+82030080: dededede dededede dededede dededede ................
+82030090: dededede dededede dededede dededede ................
+820300a0: dededede dededede dededede dededede ................
+820300b0: dededede dededede dededede dededede ................
+820300c0: dededede dededede dededede dededede ................
+820300d0: dededede dededede dededede dededede ................
+820300e0: dededede dededede dededede dededede ................
+820300f0: dededede dededede dededede dededede ................
--
1.7.1
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [U-Boot] [UBOOT][PATCHv2 5/5] doc: SPI: Add qspi test details on AM43xx
2013-12-20 5:57 ` [U-Boot] [UBOOT][PATCHv2 5/5] doc: SPI: Add qspi test details on AM43xx Sourav Poddar
@ 2013-12-20 13:30 ` Tom Rini
0 siblings, 0 replies; 21+ messages in thread
From: Tom Rini @ 2013-12-20 13:30 UTC (permalink / raw)
To: u-boot
On Fri, Dec 20, 2013 at 11:27:39AM +0530, Sourav Poddar wrote:
> This shows the log obtained while testing qspi on AM437x board.
>
> Signed-off-by: Sourav Poddar <sourav.poddar@ti.com>
> ---
> doc/SPI/README.ti_qspi_am43x_test | 76 +++++++++++++++++++++++++++++++++++++
> 1 files changed, 76 insertions(+), 0 deletions(-)
> create mode 100644 doc/SPI/README.ti_qspi_am43x_test
>
> diff --git a/doc/SPI/README.ti_qspi_am43x_test b/doc/SPI/README.ti_qspi_am43x_test
> new file mode 100644
> index 0000000..8fbf10b
> --- /dev/null
> +++ b/doc/SPI/README.ti_qspi_am43x_test
> @@ -0,0 +1,76 @@
> +Testing details-
> +----------------
> +
> +This doc simply illustrated the testing details of qspi flash
> +driver with Macronix M25L51235 flash device.
> +
> +The test includes
> +- probing the flash device
> +- erasing the flash device
> +- Writing to flash
> +- Reading the contents of the flash.
> +
> +Test Log
> +--------
> +
> +Hit any key to stop autoboot: 0
> +U-Boot# sf probe 0
> +SF: Detected MX25L51235F with page size 256 Bytes, erase size 64 KiB, total 64 MiB, mapped at 30000000
> +U-Boot# sf erase 0 0x80000
> +SF: 524288 bytes @ 0x0 Erased: OK
> +U-Boot# mw 81000000 0xdededede 0x40000
> +U-Boot# sf write 81000000 0 0x40000
> +SF: 262144 bytes @ 0x0 Written: OK
> +U-Boot# sf read 82000000 0 0x40000
> +SF: 262144 bytes @ 0x0 Read: OK
> +U-Boot# md 0x82000000
...
> +U-Boot# md 0x82010000
....
> +U-Boot# md 0x82030000
....
Note that you should use cmp.b 0x81000000 0x82000000 0x40000 :) Not
that you need to change the example here, just FYI.
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20131220/94c25f5b/attachment.pgp>
^ permalink raw reply [flat|nested] 21+ messages in thread
* [U-Boot] [UBOOT][PATCHv2 0/5] qspi: Add AM437x support
2013-12-20 5:57 [U-Boot] [UBOOT][PATCHv2 0/5] qspi: Add AM437x support Sourav Poddar
` (4 preceding siblings ...)
2013-12-20 5:57 ` [U-Boot] [UBOOT][PATCHv2 5/5] doc: SPI: Add qspi test details on AM43xx Sourav Poddar
@ 2013-12-20 18:18 ` Jagan Teki
2013-12-20 18:26 ` Tom Rini
5 siblings, 1 reply; 21+ messages in thread
From: Jagan Teki @ 2013-12-20 18:18 UTC (permalink / raw)
To: u-boot
Hi Sourav,
On Fri, Dec 20, 2013 at 11:27 AM, Sourav Poddar <sourav.poddar@ti.com> wrote:
> The patch series add support for enabling qspi
> on AM43xx at uboot.
>
> Testing done:
> -------------
> Wrote a uImage to the flash, read it back and boot the
> kernel.
>
> v1->v2:
> Remove patch 3 of previous version, as support was already added
> for macronix flash.
> Created a doc explaining the test details.
>
> This patches are developed and tested on top of the following tree:
> git://git.denx.de/u-boot-ti.git
> branch: master
These are no apply directly to master may be some dependencies require
- please check.
>
> Sourav Poddar (5):
> am43xx: add qspi support
> am437x_epos_evm: add SPL API, QSPI, and serial flash support
> qspi/spi: Add AM43xx specifics changes
> am43xx: add delay before xfer
> doc: qspi: Add qspi test details on AM43xx
>
> arch/arm/cpu/armv7/am33xx/clock_am43xx.c | 1 +
> arch/arm/include/asm/arch-am33xx/cpu.h | 4 +-
> arch/arm/include/asm/arch-am33xx/omap.h | 1 +
> board/ti/am43xx/mux.c | 11 ++++
> doc/SPI/README.ti_qspi_am43x_test | 76 ++++++++++++++++++++++++++++++
> drivers/spi/ti_qspi.c | 33 ++++++++++++-
> include/configs/am43xx_evm.h | 20 ++++++++
> 7 files changed, 142 insertions(+), 4 deletions(-)
> create mode 100644 doc/SPI/README.ti_qspi_am43x_test
>
--
Thanks,
Jagan.
^ permalink raw reply [flat|nested] 21+ messages in thread
* [U-Boot] [UBOOT][PATCHv2 0/5] qspi: Add AM437x support
2013-12-20 18:18 ` [U-Boot] [UBOOT][PATCHv2 0/5] qspi: Add AM437x support Jagan Teki
@ 2013-12-20 18:26 ` Tom Rini
2013-12-20 18:33 ` Sourav Poddar
0 siblings, 1 reply; 21+ messages in thread
From: Tom Rini @ 2013-12-20 18:26 UTC (permalink / raw)
To: u-boot
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 12/20/2013 01:18 PM, Jagan Teki wrote:
> Hi Sourav,
>
> On Fri, Dec 20, 2013 at 11:27 AM, Sourav Poddar <sourav.poddar@ti.com> wrote:
>> The patch series add support for enabling qspi
>> on AM43xx at uboot.
>>
>> Testing done:
>> -------------
>> Wrote a uImage to the flash, read it back and boot the
>> kernel.
>>
>> v1->v2:
>> Remove patch 3 of previous version, as support was already added
>> for macronix flash.
>> Created a doc explaining the test details.
>>
>> This patches are developed and tested on top of the following tree:
>> git://git.denx.de/u-boot-ti.git
>> branch: master
> These are no apply directly to master may be some dependencies require
> - please check.
This probably requires patches in u-boot-ti that haven't hit mainline
yet. I can take the series if you're OK with the spi parts. Thanks!
- --
Tom
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
iQIcBAEBAgAGBQJStIu4AAoJENk4IS6UOR1Wh1AP/iRK8PL9sM2+co+GV21faWR1
v4WYAtliAqETerod5W9c3R9ZGN24FrdDQQYJF8i7Dq31j6PkmvQMyM4Uq3D1h8x6
kbLoDp6HpRdY5l7XmbTFXSvN2XOHekK6kqLA7lHn3jFJevc0Iq5B7lZ6Rj6I+FHM
IQ/P1oMng4usf19ChrxvqWgB2i2wUqaGxL7bFUBLOMrFLAEKh1wFBahRzF7wBqLn
SGmdqBGrHMcJ5fYy6utDeG94HCQksowrg6R89ZolLd9leVsYOvpd6NrNoxD5aT4m
LXZYLwyr54O+Hi8AKs20yc7qjxihBI8BjjMu5W+DoAf42LI7cfZfFnczt8X5JyKq
y3j7ccUzP1lOuyD7ODVjFtNOUx2b/lhmvbHicfmBufROcnlCDdAbr4qeG+9/1FJl
d4miYgfrGQ8DWzAdr/oeISDDJWhM6nJw7LIyVSRhfstsethlLUByOr7qF1zQ/xlL
EHoeL8cOyzD6Pi7xJ0cnwv5jM5038eszAkUKcSKQyQlWszySOSEFVKFYYn/pQrRD
8gDcx6Zg5b1EblHH17iErK40PxDOKmN36DYJE7NJGhFjRo1rcrPSAgGzqq7X924D
t6i647Q79AU/3J3F3rA3uOXyClg2V1nswZqNZlAZgtFD8xbc7vBVo7zhlJewjhKH
P3BR4+rNJIetRzA/+PvN
=Z1qH
-----END PGP SIGNATURE-----
^ permalink raw reply [flat|nested] 21+ messages in thread
* [U-Boot] [UBOOT][PATCHv2 0/5] qspi: Add AM437x support
2013-12-20 18:26 ` Tom Rini
@ 2013-12-20 18:33 ` Sourav Poddar
0 siblings, 0 replies; 21+ messages in thread
From: Sourav Poddar @ 2013-12-20 18:33 UTC (permalink / raw)
To: u-boot
On Friday 20 December 2013 11:56 PM, Tom Rini wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> On 12/20/2013 01:18 PM, Jagan Teki wrote:
>> Hi Sourav,
>>
>> On Fri, Dec 20, 2013 at 11:27 AM, Sourav Poddar<sourav.poddar@ti.com> wrote:
>>> The patch series add support for enabling qspi
>>> on AM43xx at uboot.
>>>
>>> Testing done:
>>> -------------
>>> Wrote a uImage to the flash, read it back and boot the
>>> kernel.
>>>
>>> v1->v2:
>>> Remove patch 3 of previous version, as support was already added
>>> for macronix flash.
>>> Created a doc explaining the test details.
>>>
>>> This patches are developed and tested on top of the following tree:
>>> git://git.denx.de/u-boot-ti.git
>>> branch: master
>> These are no apply directly to master may be some dependencies require
>> - please check.
> This probably requires patches in u-boot-ti that haven't hit mainline
> yet. I can take the series if you're OK with the spi parts. Thanks!
>
Yes, thats the case. As, mentioned in cover letter it is developed on
ti uboot
as it has dependency.
> - --
> Tom
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.11 (GNU/Linux)
> Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
>
> iQIcBAEBAgAGBQJStIu4AAoJENk4IS6UOR1Wh1AP/iRK8PL9sM2+co+GV21faWR1
> v4WYAtliAqETerod5W9c3R9ZGN24FrdDQQYJF8i7Dq31j6PkmvQMyM4Uq3D1h8x6
> kbLoDp6HpRdY5l7XmbTFXSvN2XOHekK6kqLA7lHn3jFJevc0Iq5B7lZ6Rj6I+FHM
> IQ/P1oMng4usf19ChrxvqWgB2i2wUqaGxL7bFUBLOMrFLAEKh1wFBahRzF7wBqLn
> SGmdqBGrHMcJ5fYy6utDeG94HCQksowrg6R89ZolLd9leVsYOvpd6NrNoxD5aT4m
> LXZYLwyr54O+Hi8AKs20yc7qjxihBI8BjjMu5W+DoAf42LI7cfZfFnczt8X5JyKq
> y3j7ccUzP1lOuyD7ODVjFtNOUx2b/lhmvbHicfmBufROcnlCDdAbr4qeG+9/1FJl
> d4miYgfrGQ8DWzAdr/oeISDDJWhM6nJw7LIyVSRhfstsethlLUByOr7qF1zQ/xlL
> EHoeL8cOyzD6Pi7xJ0cnwv5jM5038eszAkUKcSKQyQlWszySOSEFVKFYYn/pQrRD
> 8gDcx6Zg5b1EblHH17iErK40PxDOKmN36DYJE7NJGhFjRo1rcrPSAgGzqq7X924D
> t6i647Q79AU/3J3F3rA3uOXyClg2V1nswZqNZlAZgtFD8xbc7vBVo7zhlJewjhKH
> P3BR4+rNJIetRzA/+PvN
> =Z1qH
> -----END PGP SIGNATURE-----
^ permalink raw reply [flat|nested] 21+ messages in thread
* [U-Boot] [U-Boot, PATCHv2, 3/5] spi: ti_qspi: Add AM43xx specifics changes
2013-12-20 5:57 ` [U-Boot] [UBOOT][PATCHv2 2/5] am437x_epos_evm: add SPL API, QSPI, and serial flash support Sourav Poddar
@ 2013-12-21 7:07 ` Jagannadha Sutradharudu Teki
2013-12-21 7:07 ` [U-Boot] [U-Boot, PATCHv2, 4/5] spi: ti_qspi: Add delay before xfer for am43xx Jagannadha Sutradharudu Teki
` (5 subsequent siblings)
6 siblings, 0 replies; 21+ messages in thread
From: Jagannadha Sutradharudu Teki @ 2013-12-21 7:07 UTC (permalink / raw)
To: u-boot
From: "Poddar, Sourav" <sourav.poddar@ti.com>
Add AM43xx specific changes.
Signed-off-by: Sourav Poddar <sourav.poddar@ti.com>
Reviewed-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
---
drivers/spi/ti_qspi.c | 26 +++++++++++++++++++++++---
1 files changed, 23 insertions(+), 3 deletions(-)
diff --git a/drivers/spi/ti_qspi.c b/drivers/spi/ti_qspi.c
index 5a5b482..5666250 100644
--- a/drivers/spi/ti_qspi.c
+++ b/drivers/spi/ti_qspi.c
@@ -11,6 +11,8 @@
#include <asm/arch/omap.h>
#include <malloc.h>
#include <spi.h>
+#include <asm/gpio.h>
+#include <asm/omap_gpio.h>
/* ti qpsi register bit masks */
#define QSPI_TIMEOUT 2000000
@@ -39,7 +41,8 @@
#define MM_SWITCH 0x01
#define MEM_CS 0x100
#define MEM_CS_UNSELECT 0xfffff0ff
-#define MMAP_START_ADDR 0x5c000000
+#define MMAP_START_ADDR_DRA 0x5c000000
+#define MMAP_START_ADDR_AM43x 0x30000000
#define CORE_CTRL_IO 0x4a002558
#define QSPI_CMD_READ (0x3 << 0)
@@ -99,7 +102,11 @@ static void ti_spi_setup_spi_register(struct ti_qspi_slave *qslave)
struct spi_slave *slave = &qslave->slave;
u32 memval = 0;
- slave->memory_map = (void *)MMAP_START_ADDR;
+#ifdef CONFIG_DRA7XX
+ slave->memory_map = (void *)MMAP_START_ADDR_DRA;
+#else
+ slave->memory_map = (void *)MMAP_START_ADDR_AM43x;
+#endif
memval |= QSPI_CMD_READ | QSPI_SETUP0_NUM_A_BYTES |
QSPI_SETUP0_NUM_D_BYTES_NO_BITS |
@@ -165,6 +172,11 @@ struct spi_slave *spi_setup_slave(unsigned int bus, unsigned int cs,
{
struct ti_qspi_slave *qslave;
+#ifdef CONFIG_AM43XX
+ gpio_request(CONFIG_QSPI_SEL_GPIO, "qspi_gpio");
+ gpio_direction_output(CONFIG_QSPI_SEL_GPIO, 1);
+#endif
+
qslave = spi_alloc_slave(struct ti_qspi_slave, bus, cs);
if (!qslave) {
printf("SPI_error: Fail to allocate ti_qspi_slave\n");
@@ -229,7 +241,11 @@ int spi_xfer(struct spi_slave *slave, unsigned int bitlen, const void *dout,
const uchar *txp = dout;
uchar *rxp = din;
uint status;
- int timeout, val;
+ int timeout;
+
+#ifdef CONFIG_DRA7XX
+ int val;
+#endif
debug("spi_xfer: bus:%i cs:%i bitlen:%i words:%i flags:%lx\n",
slave->bus, slave->cs, bitlen, words, flags);
@@ -237,15 +253,19 @@ int spi_xfer(struct spi_slave *slave, unsigned int bitlen, const void *dout,
/* Setup mmap flags */
if (flags & SPI_XFER_MMAP) {
writel(MM_SWITCH, &qslave->base->memswitch);
+#ifdef CONFIG_DRA7XX
val = readl(CORE_CTRL_IO);
val |= MEM_CS;
writel(val, CORE_CTRL_IO);
+#endif
return 0;
} else if (flags & SPI_XFER_MMAP_END) {
writel(~MM_SWITCH, &qslave->base->memswitch);
+#ifdef CONFIG_DRA7XX
val = readl(CORE_CTRL_IO);
val &= MEM_CS_UNSELECT;
writel(val, CORE_CTRL_IO);
+#endif
return 0;
}
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [U-Boot] [U-Boot, PATCHv2, 4/5] spi: ti_qspi: Add delay before xfer for am43xx
2013-12-20 5:57 ` [U-Boot] [UBOOT][PATCHv2 2/5] am437x_epos_evm: add SPL API, QSPI, and serial flash support Sourav Poddar
2013-12-21 7:07 ` [U-Boot] [U-Boot, PATCHv2, 3/5] spi: ti_qspi: Add AM43xx specifics changes Jagannadha Sutradharudu Teki
@ 2013-12-21 7:07 ` Jagannadha Sutradharudu Teki
2013-12-21 7:07 ` [U-Boot] [U-Boot, PATCHv2, 5/5] doc: SPI: Add qspi test details on AM43xx Jagannadha Sutradharudu Teki
` (4 subsequent siblings)
6 siblings, 0 replies; 21+ messages in thread
From: Jagannadha Sutradharudu Teki @ 2013-12-21 7:07 UTC (permalink / raw)
To: u-boot
From: "Poddar, Sourav" <sourav.poddar@ti.com>
Without this delay, write/read is failing.
Looks like, the WIP always remain set and hence a timeout
occurs leading to the error.
Without this patch, device does not get probed also.
Here is the log.
U-Boot#
U-Boot#
U-Boot#
U-Boot# sf probe 0
SF: Unsupported flash IDs: manuf ff, jedec ffff, ext_jedec ffff
Failed to initialize SPI flash at 0:0
U-Boot# sf probe 0
While with this patch, log is
U-Boot# sf probe 0
SF: Detected MX25L51235F with page size 256 Bytes, erase size 64 KiB, total 64 MiB, mapped at 30000000
U-Boot# sf erase 0 0x80000
SF: 524288 bytes @ 0x0 Erased: OK
U-Boot# mw 81000000 0xdededede 0x40000
U-Boot# sf write 81000000 0 0x40000
SF: 262144 bytes @ 0x0 Written: OK
U-Boot# sf read 82000000 0 0x40000
SF: 262144 bytes @ 0x0 Read: OK
U-Boot# md 0x82000000
Signed-off-by: Sourav Poddar <sourav.poddar@ti.com>
Reviewed-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
---
v1->v2:
- updated commit log with error message.
- Add a FIXME comment in code,
drivers/spi/ti_qspi.c | 7 +++++++
1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/drivers/spi/ti_qspi.c b/drivers/spi/ti_qspi.c
index 5666250..dfa5d0c 100644
--- a/drivers/spi/ti_qspi.c
+++ b/drivers/spi/ti_qspi.c
@@ -285,6 +285,13 @@ int spi_xfer(struct spi_slave *slave, unsigned int bitlen, const void *dout,
qslave->cmd |= QSPI_3_PIN;
qslave->cmd |= 0xfff;
+/* FIXME: This delay is required for successfull
+ * completion of read/write/erase. Once its root
+ * caused, it will be remove from the driver.
+ */
+#ifdef CONFIG_AM43XX
+ udelay(100);
+#endif
while (words--) {
if (txp) {
debug("tx cmd %08x dc %08x data %02x\n",
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [U-Boot] [U-Boot, PATCHv2, 5/5] doc: SPI: Add qspi test details on AM43xx
2013-12-20 5:57 ` [U-Boot] [UBOOT][PATCHv2 2/5] am437x_epos_evm: add SPL API, QSPI, and serial flash support Sourav Poddar
2013-12-21 7:07 ` [U-Boot] [U-Boot, PATCHv2, 3/5] spi: ti_qspi: Add AM43xx specifics changes Jagannadha Sutradharudu Teki
2013-12-21 7:07 ` [U-Boot] [U-Boot, PATCHv2, 4/5] spi: ti_qspi: Add delay before xfer for am43xx Jagannadha Sutradharudu Teki
@ 2013-12-21 7:07 ` Jagannadha Sutradharudu Teki
2013-12-21 7:20 ` [U-Boot] [U-Boot, PATCHv3, 3/5] spi: ti_qspi: Add AM43xx specifics changes Jagannadha Sutradharudu Teki
` (3 subsequent siblings)
6 siblings, 0 replies; 21+ messages in thread
From: Jagannadha Sutradharudu Teki @ 2013-12-21 7:07 UTC (permalink / raw)
To: u-boot
From: "Poddar, Sourav" <sourav.poddar@ti.com>
This shows the log obtained while testing qspi on AM437x board.
Signed-off-by: Sourav Poddar <sourav.poddar@ti.com>
Reviewed-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
---
doc/SPI/README.ti_qspi_am43x_test | 76 +++++++++++++++++++++++++++++++++++++
1 files changed, 76 insertions(+), 0 deletions(-)
create mode 100644 doc/SPI/README.ti_qspi_am43x_test
diff --git a/doc/SPI/README.ti_qspi_am43x_test b/doc/SPI/README.ti_qspi_am43x_test
new file mode 100644
index 0000000..8fbf10b
--- /dev/null
+++ b/doc/SPI/README.ti_qspi_am43x_test
@@ -0,0 +1,76 @@
+Testing details-
+----------------
+
+This doc simply illustrated the testing details of qspi flash
+driver with Macronix M25L51235 flash device.
+
+The test includes
+- probing the flash device
+- erasing the flash device
+- Writing to flash
+- Reading the contents of the flash.
+
+Test Log
+--------
+
+Hit any key to stop autoboot: 0
+U-Boot# sf probe 0
+SF: Detected MX25L51235F with page size 256 Bytes, erase size 64 KiB, total 64 MiB, mapped at 30000000
+U-Boot# sf erase 0 0x80000
+SF: 524288 bytes @ 0x0 Erased: OK
+U-Boot# mw 81000000 0xdededede 0x40000
+U-Boot# sf write 81000000 0 0x40000
+SF: 262144 bytes @ 0x0 Written: OK
+U-Boot# sf read 82000000 0 0x40000
+SF: 262144 bytes @ 0x0 Read: OK
+U-Boot# md 0x82000000
+82000000: dededede dededede dededede dededede ................
+82000010: dededede dededede dededede dededede ................
+82000020: dededede dededede dededede dededede ................
+82000030: dededede dededede dededede dededede ................
+82000040: dededede dededede dededede dededede ................
+82000050: dededede dededede dededede dededede ................
+82000060: dededede dededede dededede dededede ................
+82000070: dededede dededede dededede dededede ................
+82000080: dededede dededede dededede dededede ................
+82000090: dededede dededede dededede dededede ................
+820000a0: dededede dededede dededede dededede ................
+820000b0: dededede dededede dededede dededede ................
+820000c0: dededede dededede dededede dededede ................
+820000d0: dededede dededede dededede dededede ................
+820000e0: dededede dededede dededede dededede ................
+820000f0: dededede dededede dededede dededede ................
+U-Boot# md 0x82010000
+82010000: dededede dededede dededede dededede ................
+82010010: dededede dededede dededede dededede ................
+82010020: dededede dededede dededede dededede ................
+82010030: dededede dededede dededede dededede ................
+82010040: dededede dededede dededede dededede ................
+82010050: dededede dededede dededede dededede ................
+82010060: dededede dededede dededede dededede ................
+82010070: dededede dededede dededede dededede ................
+82010080: dededede dededede dededede dededede ................
+82010090: dededede dededede dededede dededede ................
+820100a0: dededede dededede dededede dededede ................
+820100b0: dededede dededede dededede dededede ................
+820100c0: dededede dededede dededede dededede ................
+820100d0: dededede dededede dededede dededede ................
+820100e0: dededede dededede dededede dededede ................
+820100f0: dededede dededede dededede dededede ................
+U-Boot# md 0x82030000
+82030000: dededede dededede dededede dededede ................
+82030010: dededede dededede dededede dededede ................
+82030020: dededede dededede dededede dededede ................
+82030030: dededede dededede dededede dededede ................
+82030040: dededede dededede dededede dededede ................
+82030050: dededede dededede dededede dededede ................
+82030060: dededede dededede dededede dededede ................
+82030070: dededede dededede dededede dededede ................
+82030080: dededede dededede dededede dededede ................
+82030090: dededede dededede dededede dededede ................
+820300a0: dededede dededede dededede dededede ................
+820300b0: dededede dededede dededede dededede ................
+820300c0: dededede dededede dededede dededede ................
+820300d0: dededede dededede dededede dededede ................
+820300e0: dededede dededede dededede dededede ................
+820300f0: dededede dededede dededede dededede ................
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [U-Boot] [U-Boot, PATCHv3, 3/5] spi: ti_qspi: Add AM43xx specifics changes
2013-12-20 5:57 ` [U-Boot] [UBOOT][PATCHv2 2/5] am437x_epos_evm: add SPL API, QSPI, and serial flash support Sourav Poddar
` (2 preceding siblings ...)
2013-12-21 7:07 ` [U-Boot] [U-Boot, PATCHv2, 5/5] doc: SPI: Add qspi test details on AM43xx Jagannadha Sutradharudu Teki
@ 2013-12-21 7:20 ` Jagannadha Sutradharudu Teki
2013-12-21 7:20 ` [U-Boot] [U-Boot, PATCHv3, 4/5] spi: ti_qspi: Add delay before xfer for am43xx Jagannadha Sutradharudu Teki
` (2 subsequent siblings)
6 siblings, 0 replies; 21+ messages in thread
From: Jagannadha Sutradharudu Teki @ 2013-12-21 7:20 UTC (permalink / raw)
To: u-boot
From: "Poddar, Sourav" <sourav.poddar@ti.com>
Add AM43xx specific changes.
Signed-off-by: Sourav Poddar <sourav.poddar@ti.com>
Reviewed-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
---
V3: Updated commit head, Added review tag
V2: none
drivers/spi/ti_qspi.c | 26 +++++++++++++++++++++++---
1 files changed, 23 insertions(+), 3 deletions(-)
diff --git a/drivers/spi/ti_qspi.c b/drivers/spi/ti_qspi.c
index 5a5b482..5666250 100644
--- a/drivers/spi/ti_qspi.c
+++ b/drivers/spi/ti_qspi.c
@@ -11,6 +11,8 @@
#include <asm/arch/omap.h>
#include <malloc.h>
#include <spi.h>
+#include <asm/gpio.h>
+#include <asm/omap_gpio.h>
/* ti qpsi register bit masks */
#define QSPI_TIMEOUT 2000000
@@ -39,7 +41,8 @@
#define MM_SWITCH 0x01
#define MEM_CS 0x100
#define MEM_CS_UNSELECT 0xfffff0ff
-#define MMAP_START_ADDR 0x5c000000
+#define MMAP_START_ADDR_DRA 0x5c000000
+#define MMAP_START_ADDR_AM43x 0x30000000
#define CORE_CTRL_IO 0x4a002558
#define QSPI_CMD_READ (0x3 << 0)
@@ -99,7 +102,11 @@ static void ti_spi_setup_spi_register(struct ti_qspi_slave *qslave)
struct spi_slave *slave = &qslave->slave;
u32 memval = 0;
- slave->memory_map = (void *)MMAP_START_ADDR;
+#ifdef CONFIG_DRA7XX
+ slave->memory_map = (void *)MMAP_START_ADDR_DRA;
+#else
+ slave->memory_map = (void *)MMAP_START_ADDR_AM43x;
+#endif
memval |= QSPI_CMD_READ | QSPI_SETUP0_NUM_A_BYTES |
QSPI_SETUP0_NUM_D_BYTES_NO_BITS |
@@ -165,6 +172,11 @@ struct spi_slave *spi_setup_slave(unsigned int bus, unsigned int cs,
{
struct ti_qspi_slave *qslave;
+#ifdef CONFIG_AM43XX
+ gpio_request(CONFIG_QSPI_SEL_GPIO, "qspi_gpio");
+ gpio_direction_output(CONFIG_QSPI_SEL_GPIO, 1);
+#endif
+
qslave = spi_alloc_slave(struct ti_qspi_slave, bus, cs);
if (!qslave) {
printf("SPI_error: Fail to allocate ti_qspi_slave\n");
@@ -229,7 +241,11 @@ int spi_xfer(struct spi_slave *slave, unsigned int bitlen, const void *dout,
const uchar *txp = dout;
uchar *rxp = din;
uint status;
- int timeout, val;
+ int timeout;
+
+#ifdef CONFIG_DRA7XX
+ int val;
+#endif
debug("spi_xfer: bus:%i cs:%i bitlen:%i words:%i flags:%lx\n",
slave->bus, slave->cs, bitlen, words, flags);
@@ -237,15 +253,19 @@ int spi_xfer(struct spi_slave *slave, unsigned int bitlen, const void *dout,
/* Setup mmap flags */
if (flags & SPI_XFER_MMAP) {
writel(MM_SWITCH, &qslave->base->memswitch);
+#ifdef CONFIG_DRA7XX
val = readl(CORE_CTRL_IO);
val |= MEM_CS;
writel(val, CORE_CTRL_IO);
+#endif
return 0;
} else if (flags & SPI_XFER_MMAP_END) {
writel(~MM_SWITCH, &qslave->base->memswitch);
+#ifdef CONFIG_DRA7XX
val = readl(CORE_CTRL_IO);
val &= MEM_CS_UNSELECT;
writel(val, CORE_CTRL_IO);
+#endif
return 0;
}
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [U-Boot] [U-Boot, PATCHv3, 4/5] spi: ti_qspi: Add delay before xfer for am43xx
2013-12-20 5:57 ` [U-Boot] [UBOOT][PATCHv2 2/5] am437x_epos_evm: add SPL API, QSPI, and serial flash support Sourav Poddar
` (3 preceding siblings ...)
2013-12-21 7:20 ` [U-Boot] [U-Boot, PATCHv3, 3/5] spi: ti_qspi: Add AM43xx specifics changes Jagannadha Sutradharudu Teki
@ 2013-12-21 7:20 ` Jagannadha Sutradharudu Teki
2013-12-21 7:20 ` [U-Boot] [U-Boot, PATCHv3, 5/5] doc: SPI: Add qspi test details on AM43xx Jagannadha Sutradharudu Teki
2013-12-21 7:20 ` [U-Boot] [U-Boot,PATCHv3,1/5] am43xx: Add qspi support Jagannadha Sutradharudu Teki
6 siblings, 0 replies; 21+ messages in thread
From: Jagannadha Sutradharudu Teki @ 2013-12-21 7:20 UTC (permalink / raw)
To: u-boot
From: "Poddar, Sourav" <sourav.poddar@ti.com>
Without this delay, write/read is failing.
Looks like, the WIP always remain set and hence a timeout
occurs leading to the error.
Without this patch, device does not get probed also.
Here is the log.
U-Boot#
U-Boot#
U-Boot#
U-Boot# sf probe 0
SF: Unsupported flash IDs: manuf ff, jedec ffff, ext_jedec ffff
Failed to initialize SPI flash at 0:0
U-Boot# sf probe 0
While with this patch, log is
U-Boot# sf probe 0
SF: Detected MX25L51235F with page size 256 Bytes, erase size 64 KiB, total 64 MiB, mapped at 30000000
U-Boot# sf erase 0 0x80000
SF: 524288 bytes @ 0x0 Erased: OK
U-Boot# mw 81000000 0xdededede 0x40000
U-Boot# sf write 81000000 0 0x40000
SF: 262144 bytes @ 0x0 Written: OK
U-Boot# sf read 82000000 0 0x40000
SF: 262144 bytes @ 0x0 Read: OK
U-Boot# md 0x82000000
Signed-off-by: Sourav Poddar <sourav.poddar@ti.com>
Reviewed-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
---
V3: Modified commit head, Added review tag
v1->v2:
- updated commit log with error message.
- Add a FIXME comment in code,
drivers/spi/ti_qspi.c | 7 +++++++
1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/drivers/spi/ti_qspi.c b/drivers/spi/ti_qspi.c
index 5666250..dfa5d0c 100644
--- a/drivers/spi/ti_qspi.c
+++ b/drivers/spi/ti_qspi.c
@@ -285,6 +285,13 @@ int spi_xfer(struct spi_slave *slave, unsigned int bitlen, const void *dout,
qslave->cmd |= QSPI_3_PIN;
qslave->cmd |= 0xfff;
+/* FIXME: This delay is required for successfull
+ * completion of read/write/erase. Once its root
+ * caused, it will be remove from the driver.
+ */
+#ifdef CONFIG_AM43XX
+ udelay(100);
+#endif
while (words--) {
if (txp) {
debug("tx cmd %08x dc %08x data %02x\n",
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [U-Boot] [U-Boot, PATCHv3, 5/5] doc: SPI: Add qspi test details on AM43xx
2013-12-20 5:57 ` [U-Boot] [UBOOT][PATCHv2 2/5] am437x_epos_evm: add SPL API, QSPI, and serial flash support Sourav Poddar
` (4 preceding siblings ...)
2013-12-21 7:20 ` [U-Boot] [U-Boot, PATCHv3, 4/5] spi: ti_qspi: Add delay before xfer for am43xx Jagannadha Sutradharudu Teki
@ 2013-12-21 7:20 ` Jagannadha Sutradharudu Teki
2013-12-21 7:20 ` [U-Boot] [U-Boot,PATCHv3,1/5] am43xx: Add qspi support Jagannadha Sutradharudu Teki
6 siblings, 0 replies; 21+ messages in thread
From: Jagannadha Sutradharudu Teki @ 2013-12-21 7:20 UTC (permalink / raw)
To: u-boot
From: "Poddar, Sourav" <sourav.poddar@ti.com>
This shows the log obtained while testing qspi on AM437x board.
Signed-off-by: Sourav Poddar <sourav.poddar@ti.com>
Reviewed-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
---
V3: Added review tag
V2: none
doc/SPI/README.ti_qspi_am43x_test | 76 +++++++++++++++++++++++++++++++++++++
1 files changed, 76 insertions(+), 0 deletions(-)
create mode 100644 doc/SPI/README.ti_qspi_am43x_test
diff --git a/doc/SPI/README.ti_qspi_am43x_test b/doc/SPI/README.ti_qspi_am43x_test
new file mode 100644
index 0000000..8fbf10b
--- /dev/null
+++ b/doc/SPI/README.ti_qspi_am43x_test
@@ -0,0 +1,76 @@
+Testing details-
+----------------
+
+This doc simply illustrated the testing details of qspi flash
+driver with Macronix M25L51235 flash device.
+
+The test includes
+- probing the flash device
+- erasing the flash device
+- Writing to flash
+- Reading the contents of the flash.
+
+Test Log
+--------
+
+Hit any key to stop autoboot: 0
+U-Boot# sf probe 0
+SF: Detected MX25L51235F with page size 256 Bytes, erase size 64 KiB, total 64 MiB, mapped at 30000000
+U-Boot# sf erase 0 0x80000
+SF: 524288 bytes @ 0x0 Erased: OK
+U-Boot# mw 81000000 0xdededede 0x40000
+U-Boot# sf write 81000000 0 0x40000
+SF: 262144 bytes @ 0x0 Written: OK
+U-Boot# sf read 82000000 0 0x40000
+SF: 262144 bytes @ 0x0 Read: OK
+U-Boot# md 0x82000000
+82000000: dededede dededede dededede dededede ................
+82000010: dededede dededede dededede dededede ................
+82000020: dededede dededede dededede dededede ................
+82000030: dededede dededede dededede dededede ................
+82000040: dededede dededede dededede dededede ................
+82000050: dededede dededede dededede dededede ................
+82000060: dededede dededede dededede dededede ................
+82000070: dededede dededede dededede dededede ................
+82000080: dededede dededede dededede dededede ................
+82000090: dededede dededede dededede dededede ................
+820000a0: dededede dededede dededede dededede ................
+820000b0: dededede dededede dededede dededede ................
+820000c0: dededede dededede dededede dededede ................
+820000d0: dededede dededede dededede dededede ................
+820000e0: dededede dededede dededede dededede ................
+820000f0: dededede dededede dededede dededede ................
+U-Boot# md 0x82010000
+82010000: dededede dededede dededede dededede ................
+82010010: dededede dededede dededede dededede ................
+82010020: dededede dededede dededede dededede ................
+82010030: dededede dededede dededede dededede ................
+82010040: dededede dededede dededede dededede ................
+82010050: dededede dededede dededede dededede ................
+82010060: dededede dededede dededede dededede ................
+82010070: dededede dededede dededede dededede ................
+82010080: dededede dededede dededede dededede ................
+82010090: dededede dededede dededede dededede ................
+820100a0: dededede dededede dededede dededede ................
+820100b0: dededede dededede dededede dededede ................
+820100c0: dededede dededede dededede dededede ................
+820100d0: dededede dededede dededede dededede ................
+820100e0: dededede dededede dededede dededede ................
+820100f0: dededede dededede dededede dededede ................
+U-Boot# md 0x82030000
+82030000: dededede dededede dededede dededede ................
+82030010: dededede dededede dededede dededede ................
+82030020: dededede dededede dededede dededede ................
+82030030: dededede dededede dededede dededede ................
+82030040: dededede dededede dededede dededede ................
+82030050: dededede dededede dededede dededede ................
+82030060: dededede dededede dededede dededede ................
+82030070: dededede dededede dededede dededede ................
+82030080: dededede dededede dededede dededede ................
+82030090: dededede dededede dededede dededede ................
+820300a0: dededede dededede dededede dededede ................
+820300b0: dededede dededede dededede dededede ................
+820300c0: dededede dededede dededede dededede ................
+820300d0: dededede dededede dededede dededede ................
+820300e0: dededede dededede dededede dededede ................
+820300f0: dededede dededede dededede dededede ................
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [U-Boot] [U-Boot,PATCHv3,1/5] am43xx: Add qspi support
2013-12-20 5:57 ` [U-Boot] [UBOOT][PATCHv2 2/5] am437x_epos_evm: add SPL API, QSPI, and serial flash support Sourav Poddar
` (5 preceding siblings ...)
2013-12-21 7:20 ` [U-Boot] [U-Boot, PATCHv3, 5/5] doc: SPI: Add qspi test details on AM43xx Jagannadha Sutradharudu Teki
@ 2013-12-21 7:20 ` Jagannadha Sutradharudu Teki
2014-01-06 6:40 ` Sourav Poddar
6 siblings, 1 reply; 21+ messages in thread
From: Jagannadha Sutradharudu Teki @ 2013-12-21 7:20 UTC (permalink / raw)
To: u-boot
From: Jagannadha Sutradharudu Teki <jagannadha.sutradharudu-teki@xilinx.com>
From: "Poddar, Sourav" <sourav.poddar@ti.com>
Add QSPI definitions and clock configuration support.
Signed-off-by: Sourav Poddar <sourav.poddar@ti.com>
Reviewed-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
---
V3: Added review tag
V2:
arch/arm/cpu/armv7/am33xx/clock_am43xx.c | 1 +
arch/arm/include/asm/arch-am33xx/cpu.h | 4 +++-
arch/arm/include/asm/arch-am33xx/omap.h | 1 +
3 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/arch/arm/cpu/armv7/am33xx/clock_am43xx.c b/arch/arm/cpu/armv7/am33xx/clock_am43xx.c
index 97c00b4..fb654bb 100644
--- a/arch/arm/cpu/armv7/am33xx/clock_am43xx.c
+++ b/arch/arm/cpu/armv7/am33xx/clock_am43xx.c
@@ -98,6 +98,7 @@ void enable_basic_clocks(void)
&cmper->emiffwclkctrl,
&cmper->emifclkctrl,
&cmper->otfaemifclkctrl,
+ &cmper->qspiclkctrl,
0
};
diff --git a/arch/arm/include/asm/arch-am33xx/cpu.h b/arch/arm/include/asm/arch-am33xx/cpu.h
index 9febfa2..0736258 100644
--- a/arch/arm/include/asm/arch-am33xx/cpu.h
+++ b/arch/arm/include/asm/arch-am33xx/cpu.h
@@ -332,7 +332,9 @@ struct cm_perpll {
unsigned int mcasp1clkctrl; /* offset 0x240 */
unsigned int resv11;
unsigned int mmc2clkctrl; /* offset 0x248 */
- unsigned int resv12[5];
+ unsigned int resv12[3];
+ unsigned int qspiclkctrl; /* offset 0x258 */
+ unsigned int resv121;
unsigned int usb0clkctrl; /* offset 0x260 */
unsigned int resv13[103];
unsigned int l4lsclkstctrl; /* offset 0x400 */
diff --git a/arch/arm/include/asm/arch-am33xx/omap.h b/arch/arm/include/asm/arch-am33xx/omap.h
index 7a7d91b..0855d16 100644
--- a/arch/arm/include/asm/arch-am33xx/omap.h
+++ b/arch/arm/include/asm/arch-am33xx/omap.h
@@ -29,5 +29,6 @@
#define SRAM_SCRATCH_SPACE_ADDR 0x40337C00
#define AM4372_BOARD_NAME_START SRAM_SCRATCH_SPACE_ADDR
#define AM4372_BOARD_NAME_END SRAM_SCRATCH_SPACE_ADDR + 0xC
+#define QSPI_BASE 0x47900000
#endif
#endif
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [U-Boot] [U-Boot,PATCHv3,1/5] am43xx: Add qspi support
2013-12-21 7:20 ` [U-Boot] [U-Boot,PATCHv3,1/5] am43xx: Add qspi support Jagannadha Sutradharudu Teki
@ 2014-01-06 6:40 ` Sourav Poddar
2014-01-06 7:36 ` Jagan Teki
0 siblings, 1 reply; 21+ messages in thread
From: Sourav Poddar @ 2014-01-06 6:40 UTC (permalink / raw)
To: u-boot
Hi Jagan,
On Saturday 21 December 2013 12:50 PM, Jagannadha Sutradharudu Teki wrote:
> From: Jagannadha Sutradharudu Teki<jagannadha.sutradharudu-teki@xilinx.com>
>
> From: "Poddar, Sourav"<sourav.poddar@ti.com>
>
> Add QSPI definitions and clock configuration support.
>
> Signed-off-by: Sourav Poddar<sourav.poddar@ti.com>
> Reviewed-by: Jagannadha Sutradharudu Teki<jaganna@xilinx.com>
> ---
> V3: Added review tag
> V2:
>
> arch/arm/cpu/armv7/am33xx/clock_am43xx.c | 1 +
> arch/arm/include/asm/arch-am33xx/cpu.h | 4 +++-
> arch/arm/include/asm/arch-am33xx/omap.h | 1 +
> 3 files changed, 5 insertions(+), 1 deletions(-)
>
> diff --git a/arch/arm/cpu/armv7/am33xx/clock_am43xx.c b/arch/arm/cpu/armv7/am33xx/clock_am43xx.c
> index 97c00b4..fb654bb 100644
> --- a/arch/arm/cpu/armv7/am33xx/clock_am43xx.c
> +++ b/arch/arm/cpu/armv7/am33xx/clock_am43xx.c
> @@ -98,6 +98,7 @@ void enable_basic_clocks(void)
> &cmper->emiffwclkctrl,
> &cmper->emifclkctrl,
> &cmper->otfaemifclkctrl,
> + &cmper->qspiclkctrl,
> 0
> };
>
> diff --git a/arch/arm/include/asm/arch-am33xx/cpu.h b/arch/arm/include/asm/arch-am33xx/cpu.h
> index 9febfa2..0736258 100644
> --- a/arch/arm/include/asm/arch-am33xx/cpu.h
> +++ b/arch/arm/include/asm/arch-am33xx/cpu.h
> @@ -332,7 +332,9 @@ struct cm_perpll {
> unsigned int mcasp1clkctrl; /* offset 0x240 */
> unsigned int resv11;
> unsigned int mmc2clkctrl; /* offset 0x248 */
> - unsigned int resv12[5];
> + unsigned int resv12[3];
> + unsigned int qspiclkctrl; /* offset 0x258 */
> + unsigned int resv121;
> unsigned int usb0clkctrl; /* offset 0x260 */
> unsigned int resv13[103];
> unsigned int l4lsclkstctrl; /* offset 0x400 */
> diff --git a/arch/arm/include/asm/arch-am33xx/omap.h b/arch/arm/include/asm/arch-am33xx/omap.h
> index 7a7d91b..0855d16 100644
> --- a/arch/arm/include/asm/arch-am33xx/omap.h
> +++ b/arch/arm/include/asm/arch-am33xx/omap.h
> @@ -29,5 +29,6 @@
> #define SRAM_SCRATCH_SPACE_ADDR 0x40337C00
> #define AM4372_BOARD_NAME_START SRAM_SCRATCH_SPACE_ADDR
> #define AM4372_BOARD_NAME_END SRAM_SCRATCH_SPACE_ADDR + 0xC
> +#define QSPI_BASE 0x47900000
> #endif
> #endif
>
>
This looks Ok to me.
How you want this to go?
I mean as Tom suggested in some earlier version through his tree? or yours?
^ permalink raw reply [flat|nested] 21+ messages in thread
* [U-Boot] [U-Boot,PATCHv3,1/5] am43xx: Add qspi support
2014-01-06 6:40 ` Sourav Poddar
@ 2014-01-06 7:36 ` Jagan Teki
2014-01-06 8:21 ` Sourav Poddar
0 siblings, 1 reply; 21+ messages in thread
From: Jagan Teki @ 2014-01-06 7:36 UTC (permalink / raw)
To: u-boot
Hi Sourav,
On Mon, Jan 6, 2014 at 12:10 PM, Sourav Poddar <sourav.poddar@ti.com> wrote:
> Hi Jagan,
>
> On Saturday 21 December 2013 12:50 PM, Jagannadha Sutradharudu Teki wrote:
>>
>> From: Jagannadha Sutradharudu
>> Teki<jagannadha.sutradharudu-teki@xilinx.com>
>>
>> From: "Poddar, Sourav"<sourav.poddar@ti.com>
>>
>> Add QSPI definitions and clock configuration support.
>>
>> Signed-off-by: Sourav Poddar<sourav.poddar@ti.com>
>> Reviewed-by: Jagannadha Sutradharudu Teki<jaganna@xilinx.com>
>> ---
>> V3: Added review tag
>> V2:
>>
>> arch/arm/cpu/armv7/am33xx/clock_am43xx.c | 1 +
>> arch/arm/include/asm/arch-am33xx/cpu.h | 4 +++-
>> arch/arm/include/asm/arch-am33xx/omap.h | 1 +
>> 3 files changed, 5 insertions(+), 1 deletions(-)
>>
>> diff --git a/arch/arm/cpu/armv7/am33xx/clock_am43xx.c
>> b/arch/arm/cpu/armv7/am33xx/clock_am43xx.c
>> index 97c00b4..fb654bb 100644
>> --- a/arch/arm/cpu/armv7/am33xx/clock_am43xx.c
>> +++ b/arch/arm/cpu/armv7/am33xx/clock_am43xx.c
>> @@ -98,6 +98,7 @@ void enable_basic_clocks(void)
>> &cmper->emiffwclkctrl,
>> &cmper->emifclkctrl,
>> &cmper->otfaemifclkctrl,
>> + &cmper->qspiclkctrl,
>> 0
>> };
>>
>> diff --git a/arch/arm/include/asm/arch-am33xx/cpu.h
>> b/arch/arm/include/asm/arch-am33xx/cpu.h
>> index 9febfa2..0736258 100644
>> --- a/arch/arm/include/asm/arch-am33xx/cpu.h
>> +++ b/arch/arm/include/asm/arch-am33xx/cpu.h
>> @@ -332,7 +332,9 @@ struct cm_perpll {
>> unsigned int mcasp1clkctrl; /* offset 0x240 */
>> unsigned int resv11;
>> unsigned int mmc2clkctrl; /* offset 0x248 */
>> - unsigned int resv12[5];
>> + unsigned int resv12[3];
>> + unsigned int qspiclkctrl; /* offset 0x258 */
>> + unsigned int resv121;
>> unsigned int usb0clkctrl; /* offset 0x260 */
>> unsigned int resv13[103];
>> unsigned int l4lsclkstctrl; /* offset 0x400 */
>> diff --git a/arch/arm/include/asm/arch-am33xx/omap.h
>> b/arch/arm/include/asm/arch-am33xx/omap.h
>> index 7a7d91b..0855d16 100644
>> --- a/arch/arm/include/asm/arch-am33xx/omap.h
>> +++ b/arch/arm/include/asm/arch-am33xx/omap.h
>> @@ -29,5 +29,6 @@
>> #define SRAM_SCRATCH_SPACE_ADDR 0x40337C00
>> #define AM4372_BOARD_NAME_START SRAM_SCRATCH_SPACE_ADDR
>> #define AM4372_BOARD_NAME_END SRAM_SCRATCH_SPACE_ADDR + 0xC
>> +#define QSPI_BASE 0x47900000
>> #endif
>> #endif
>>
>>
> This looks Ok to me.
> How you want this to go?
> I mean as Tom suggested in some earlier version through his tree? or yours?
>
Tom told in earlier that - he will take this series as there are some
conflicts w.r.t u-boot-ti
http://u-boot.10912.n7.nabble.com/UBOOT-PATCHv2-0-5-qspi-Add-AM437x-support-td170188.html
I sent this series again to fix one warning and added Reviewed-by tag.
--
Thanks,
Jagan.
^ permalink raw reply [flat|nested] 21+ messages in thread
* [U-Boot] [U-Boot,PATCHv3,1/5] am43xx: Add qspi support
2014-01-06 7:36 ` Jagan Teki
@ 2014-01-06 8:21 ` Sourav Poddar
2014-01-08 10:44 ` Jagan Teki
0 siblings, 1 reply; 21+ messages in thread
From: Sourav Poddar @ 2014-01-06 8:21 UTC (permalink / raw)
To: u-boot
On Monday 06 January 2014 01:06 PM, Jagan Teki wrote:
> Hi Sourav,
>
> On Mon, Jan 6, 2014 at 12:10 PM, Sourav Poddar<sourav.poddar@ti.com> wrote:
>> Hi Jagan,
>>
>> On Saturday 21 December 2013 12:50 PM, Jagannadha Sutradharudu Teki wrote:
>>> From: Jagannadha Sutradharudu
>>> Teki<jagannadha.sutradharudu-teki@xilinx.com>
>>>
>>> From: "Poddar, Sourav"<sourav.poddar@ti.com>
>>>
>>> Add QSPI definitions and clock configuration support.
>>>
>>> Signed-off-by: Sourav Poddar<sourav.poddar@ti.com>
>>> Reviewed-by: Jagannadha Sutradharudu Teki<jaganna@xilinx.com>
>>> ---
>>> V3: Added review tag
>>> V2:
>>>
>>> arch/arm/cpu/armv7/am33xx/clock_am43xx.c | 1 +
>>> arch/arm/include/asm/arch-am33xx/cpu.h | 4 +++-
>>> arch/arm/include/asm/arch-am33xx/omap.h | 1 +
>>> 3 files changed, 5 insertions(+), 1 deletions(-)
>>>
>>> diff --git a/arch/arm/cpu/armv7/am33xx/clock_am43xx.c
>>> b/arch/arm/cpu/armv7/am33xx/clock_am43xx.c
>>> index 97c00b4..fb654bb 100644
>>> --- a/arch/arm/cpu/armv7/am33xx/clock_am43xx.c
>>> +++ b/arch/arm/cpu/armv7/am33xx/clock_am43xx.c
>>> @@ -98,6 +98,7 @@ void enable_basic_clocks(void)
>>> &cmper->emiffwclkctrl,
>>> &cmper->emifclkctrl,
>>> &cmper->otfaemifclkctrl,
>>> +&cmper->qspiclkctrl,
>>> 0
>>> };
>>>
>>> diff --git a/arch/arm/include/asm/arch-am33xx/cpu.h
>>> b/arch/arm/include/asm/arch-am33xx/cpu.h
>>> index 9febfa2..0736258 100644
>>> --- a/arch/arm/include/asm/arch-am33xx/cpu.h
>>> +++ b/arch/arm/include/asm/arch-am33xx/cpu.h
>>> @@ -332,7 +332,9 @@ struct cm_perpll {
>>> unsigned int mcasp1clkctrl; /* offset 0x240 */
>>> unsigned int resv11;
>>> unsigned int mmc2clkctrl; /* offset 0x248 */
>>> - unsigned int resv12[5];
>>> + unsigned int resv12[3];
>>> + unsigned int qspiclkctrl; /* offset 0x258 */
>>> + unsigned int resv121;
>>> unsigned int usb0clkctrl; /* offset 0x260 */
>>> unsigned int resv13[103];
>>> unsigned int l4lsclkstctrl; /* offset 0x400 */
>>> diff --git a/arch/arm/include/asm/arch-am33xx/omap.h
>>> b/arch/arm/include/asm/arch-am33xx/omap.h
>>> index 7a7d91b..0855d16 100644
>>> --- a/arch/arm/include/asm/arch-am33xx/omap.h
>>> +++ b/arch/arm/include/asm/arch-am33xx/omap.h
>>> @@ -29,5 +29,6 @@
>>> #define SRAM_SCRATCH_SPACE_ADDR 0x40337C00
>>> #define AM4372_BOARD_NAME_START SRAM_SCRATCH_SPACE_ADDR
>>> #define AM4372_BOARD_NAME_END SRAM_SCRATCH_SPACE_ADDR + 0xC
>>> +#define QSPI_BASE 0x47900000
>>> #endif
>>> #endif
>>>
>>>
>> This looks Ok to me.
>> How you want this to go?
>> I mean as Tom suggested in some earlier version through his tree? or yours?
>>
> Tom told in earlier that - he will take this series as there are some
> conflicts w.r.t u-boot-ti
> http://u-boot.10912.n7.nabble.com/UBOOT-PATCHv2-0-5-qspi-Add-AM437x-support-td170188.html
>
> I sent this series again to fix one warning and added Reviewed-by tag.
>
Ok thanks,
Tom,
Can you pick this one?
^ permalink raw reply [flat|nested] 21+ messages in thread
* [U-Boot] [U-Boot,PATCHv3,1/5] am43xx: Add qspi support
2014-01-06 8:21 ` Sourav Poddar
@ 2014-01-08 10:44 ` Jagan Teki
0 siblings, 0 replies; 21+ messages in thread
From: Jagan Teki @ 2014-01-08 10:44 UTC (permalink / raw)
To: u-boot
On Mon, Jan 6, 2014 at 1:51 PM, Sourav Poddar <sourav.poddar@ti.com> wrote:
> On Monday 06 January 2014 01:06 PM, Jagan Teki wrote:
>>
>> Hi Sourav,
>>
>> On Mon, Jan 6, 2014 at 12:10 PM, Sourav Poddar<sourav.poddar@ti.com>
>> wrote:
>>>
>>> Hi Jagan,
>>>
>>> On Saturday 21 December 2013 12:50 PM, Jagannadha Sutradharudu Teki
>>> wrote:
>>>>
>>>> From: Jagannadha Sutradharudu
>>>> Teki<jagannadha.sutradharudu-teki@xilinx.com>
>>>>
>>>> From: "Poddar, Sourav"<sourav.poddar@ti.com>
>>>>
>>>> Add QSPI definitions and clock configuration support.
>>>>
>>>> Signed-off-by: Sourav Poddar<sourav.poddar@ti.com>
>>>> Reviewed-by: Jagannadha Sutradharudu Teki<jaganna@xilinx.com>
>>>> ---
>>>> V3: Added review tag
>>>> V2:
>>>>
>>>> arch/arm/cpu/armv7/am33xx/clock_am43xx.c | 1 +
>>>> arch/arm/include/asm/arch-am33xx/cpu.h | 4 +++-
>>>> arch/arm/include/asm/arch-am33xx/omap.h | 1 +
>>>> 3 files changed, 5 insertions(+), 1 deletions(-)
>>>>
>>>> diff --git a/arch/arm/cpu/armv7/am33xx/clock_am43xx.c
>>>> b/arch/arm/cpu/armv7/am33xx/clock_am43xx.c
>>>> index 97c00b4..fb654bb 100644
>>>> --- a/arch/arm/cpu/armv7/am33xx/clock_am43xx.c
>>>> +++ b/arch/arm/cpu/armv7/am33xx/clock_am43xx.c
>>>> @@ -98,6 +98,7 @@ void enable_basic_clocks(void)
>>>> &cmper->emiffwclkctrl,
>>>> &cmper->emifclkctrl,
>>>> &cmper->otfaemifclkctrl,
>>>> +&cmper->qspiclkctrl,
>>>>
>>>> 0
>>>> };
>>>>
>>>> diff --git a/arch/arm/include/asm/arch-am33xx/cpu.h
>>>> b/arch/arm/include/asm/arch-am33xx/cpu.h
>>>> index 9febfa2..0736258 100644
>>>> --- a/arch/arm/include/asm/arch-am33xx/cpu.h
>>>> +++ b/arch/arm/include/asm/arch-am33xx/cpu.h
>>>> @@ -332,7 +332,9 @@ struct cm_perpll {
>>>> unsigned int mcasp1clkctrl; /* offset 0x240 */
>>>> unsigned int resv11;
>>>> unsigned int mmc2clkctrl; /* offset 0x248 */
>>>> - unsigned int resv12[5];
>>>> + unsigned int resv12[3];
>>>> + unsigned int qspiclkctrl; /* offset 0x258 */
>>>> + unsigned int resv121;
>>>> unsigned int usb0clkctrl; /* offset 0x260 */
>>>> unsigned int resv13[103];
>>>> unsigned int l4lsclkstctrl; /* offset 0x400 */
>>>> diff --git a/arch/arm/include/asm/arch-am33xx/omap.h
>>>> b/arch/arm/include/asm/arch-am33xx/omap.h
>>>> index 7a7d91b..0855d16 100644
>>>> --- a/arch/arm/include/asm/arch-am33xx/omap.h
>>>> +++ b/arch/arm/include/asm/arch-am33xx/omap.h
>>>> @@ -29,5 +29,6 @@
>>>> #define SRAM_SCRATCH_SPACE_ADDR 0x40337C00
>>>> #define AM4372_BOARD_NAME_START SRAM_SCRATCH_SPACE_ADDR
>>>> #define AM4372_BOARD_NAME_END SRAM_SCRATCH_SPACE_ADDR + 0xC
>>>> +#define QSPI_BASE 0x47900000
>>>> #endif
>>>> #endif
>>>>
>>>>
>>> This looks Ok to me.
>>> How you want this to go?
>>> I mean as Tom suggested in some earlier version through his tree? or
>>> yours?
>>>
>> Tom told in earlier that - he will take this series as there are some
>> conflicts w.r.t u-boot-ti
>>
>> http://u-boot.10912.n7.nabble.com/UBOOT-PATCHv2-0-5-qspi-Add-AM437x-support-td170188.html
>>
>> I sent this series again to fix one warning and added Reviewed-by tag.
>>
> Ok thanks,
>
> Tom,
>
> Can you pick this one?
fyi: I just marked these series to Tom as a delegate.
--
Thanks,
Jagan.
^ permalink raw reply [flat|nested] 21+ messages in thread
end of thread, other threads:[~2014-01-08 10:44 UTC | newest]
Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-12-20 5:57 [U-Boot] [UBOOT][PATCHv2 0/5] qspi: Add AM437x support Sourav Poddar
2013-12-20 5:57 ` [U-Boot] [UBOOT][PATCHv2 1/5] am43xx: add qspi support Sourav Poddar
2013-12-20 5:57 ` [U-Boot] [UBOOT][PATCHv2 2/5] am437x_epos_evm: add SPL API, QSPI, and serial flash support Sourav Poddar
2013-12-21 7:07 ` [U-Boot] [U-Boot, PATCHv2, 3/5] spi: ti_qspi: Add AM43xx specifics changes Jagannadha Sutradharudu Teki
2013-12-21 7:07 ` [U-Boot] [U-Boot, PATCHv2, 4/5] spi: ti_qspi: Add delay before xfer for am43xx Jagannadha Sutradharudu Teki
2013-12-21 7:07 ` [U-Boot] [U-Boot, PATCHv2, 5/5] doc: SPI: Add qspi test details on AM43xx Jagannadha Sutradharudu Teki
2013-12-21 7:20 ` [U-Boot] [U-Boot, PATCHv3, 3/5] spi: ti_qspi: Add AM43xx specifics changes Jagannadha Sutradharudu Teki
2013-12-21 7:20 ` [U-Boot] [U-Boot, PATCHv3, 4/5] spi: ti_qspi: Add delay before xfer for am43xx Jagannadha Sutradharudu Teki
2013-12-21 7:20 ` [U-Boot] [U-Boot, PATCHv3, 5/5] doc: SPI: Add qspi test details on AM43xx Jagannadha Sutradharudu Teki
2013-12-21 7:20 ` [U-Boot] [U-Boot,PATCHv3,1/5] am43xx: Add qspi support Jagannadha Sutradharudu Teki
2014-01-06 6:40 ` Sourav Poddar
2014-01-06 7:36 ` Jagan Teki
2014-01-06 8:21 ` Sourav Poddar
2014-01-08 10:44 ` Jagan Teki
2013-12-20 5:57 ` [U-Boot] [UBOOT][PATCHv2 3/5] qspi/spi: Add AM43xx specifics changes Sourav Poddar
2013-12-20 5:57 ` [U-Boot] [UBOOT][PATCHv2 4/5] am43xx: add delay before xfer Sourav Poddar
2013-12-20 5:57 ` [U-Boot] [UBOOT][PATCHv2 5/5] doc: SPI: Add qspi test details on AM43xx Sourav Poddar
2013-12-20 13:30 ` Tom Rini
2013-12-20 18:18 ` [U-Boot] [UBOOT][PATCHv2 0/5] qspi: Add AM437x support Jagan Teki
2013-12-20 18:26 ` Tom Rini
2013-12-20 18:33 ` Sourav Poddar
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox