]> rtime.felk.cvut.cz Git - zynq/linux.git/commitdiff
Xilinx: ARM: QSPI driver: Disable linear mode
authorSadanand M <sadanan@xilinx.com>
Tue, 16 Nov 2010 10:13:09 +0000 (15:43 +0530)
committerJohn Linn <john.linn@xilinx.com>
Tue, 16 Nov 2010 16:17:53 +0000 (09:17 -0700)
Disable linear mode while initializing the controller, in case
this mode may have been used by the boot loader

Signed-off-by: Sadanand M <sadanan@xilinx.com>
drivers/spi/xilinx_qspipss.c

index 48a48d6a0e5b5726aa41f00236b571ff695176fc..143a645e7772a2de31f790005570b19c36dbc623 100755 (executable)
@@ -53,6 +53,7 @@
 #define XQSPIPSS_TX_THRESH_OFFSET      0x28 /* TX FIFO Watermark Reg, RW */
 #define XQSPIPSS_RX_THRESH_OFFSET      0x2C /* RX FIFO Watermark Reg, RW */
 #define XQSPIPSS_GPIO_OFFSET           0x30 /* GPIO Register, RW */
+#define XQSPIPSS_LINEAR_CFG_OFFSET     0xA0 /* Linear Adapter Config Ref, RW */
 #define XQSPIPSS_MOD_ID_OFFSET         0xFC /* Module ID Register, RO */
 
 /*
@@ -235,6 +236,9 @@ static void xqspipss_init_hw(void __iomem *regs_base)
                ~XQSPIPSS_ENABLE_ENABLE_MASK);
        xqspipss_write(regs_base + XQSPIPSS_IDIS_OFFSET, 0x7F);
 
+       /* Disable linear mode as the boot loader may have used it */
+       xqspipss_write(regs_base + XQSPIPSS_LINEAR_CFG_OFFSET, 0);
+
        /* Clear the RX FIFO */
        while (xqspipss_read(regs_base + XQSPIPSS_STATUS_OFFSET) &
                        XQSPIPSS_IXR_RXNEMTY_MASK)