aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-bsp/u-boot/u-boot-v2012.04.01/0027-i.MX6-mx6q_sabrelite-add-SATA-bindings.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-bsp/u-boot/u-boot-v2012.04.01/0027-i.MX6-mx6q_sabrelite-add-SATA-bindings.patch')
-rw-r--r--recipes-bsp/u-boot/u-boot-v2012.04.01/0027-i.MX6-mx6q_sabrelite-add-SATA-bindings.patch96
1 files changed, 96 insertions, 0 deletions
diff --git a/recipes-bsp/u-boot/u-boot-v2012.04.01/0027-i.MX6-mx6q_sabrelite-add-SATA-bindings.patch b/recipes-bsp/u-boot/u-boot-v2012.04.01/0027-i.MX6-mx6q_sabrelite-add-SATA-bindings.patch
new file mode 100644
index 0000000..65c5229
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot-v2012.04.01/0027-i.MX6-mx6q_sabrelite-add-SATA-bindings.patch
@@ -0,0 +1,96 @@
+From 95d9b53d5f0afdfe3487c5bd55a23f9503a2adad Mon Sep 17 00:00:00 2001
+From: Eric Nelson <eric.nelson@boundarydevices.com>
+Date: Tue, 1 May 2012 09:55:11 +0000
+Subject: [PATCH 27/56] i.MX6: mx6q_sabrelite: add SATA bindings
+
+Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
+Acked-by: Marek Vasut <marex@denx.de>
+Acked-by: stefano Babic <sbabic@denx.de>
+---
+ board/freescale/mx6qsabrelite/mx6qsabrelite.c | 31 +++++++++++++++++++++++++
+ include/configs/mx6qsabrelite.h | 13 +++++++++++
+ 2 files changed, 44 insertions(+)
+
+diff --git a/board/freescale/mx6qsabrelite/mx6qsabrelite.c b/board/freescale/mx6qsabrelite/mx6qsabrelite.c
+index 90773aa..29cbfed 100644
+--- a/board/freescale/mx6qsabrelite/mx6qsabrelite.c
++++ b/board/freescale/mx6qsabrelite/mx6qsabrelite.c
+@@ -25,6 +25,7 @@
+ #include <asm/arch/imx-regs.h>
+ #include <asm/arch/mx6x_pins.h>
+ #include <asm/arch/iomux-v3.h>
++#include <asm/arch/clock.h>
+ #include <asm/errno.h>
+ #include <asm/gpio.h>
+ #include <mmc.h>
+@@ -293,6 +294,32 @@ static void setup_buttons(void)
+ ARRAY_SIZE(button_pads));
+ }
+
++#ifdef CONFIG_CMD_SATA
++
++int setup_sata(void)
++{
++ struct iomuxc_base_regs *const iomuxc_regs
++ = (struct iomuxc_base_regs *) IOMUXC_BASE_ADDR;
++ int ret = enable_sata_clock();
++ if (ret)
++ return ret;
++
++ clrsetbits_le32(&iomuxc_regs->gpr[13],
++ IOMUXC_GPR13_SATA_MASK,
++ IOMUXC_GPR13_SATA_PHY_8_RXEQ_3P0DB
++ |IOMUXC_GPR13_SATA_PHY_7_SATA2M
++ |IOMUXC_GPR13_SATA_SPEED_3G
++ |(3<<IOMUXC_GPR13_SATA_PHY_6_SHIFT)
++ |IOMUXC_GPR13_SATA_SATA_PHY_5_SS_DISABLED
++ |IOMUXC_GPR13_SATA_SATA_PHY_4_ATTEN_9_16
++ |IOMUXC_GPR13_SATA_PHY_3_TXBOOST_0P00_DB
++ |IOMUXC_GPR13_SATA_PHY_2_TX_1P104V
++ |IOMUXC_GPR13_SATA_PHY_1_SLOW);
++
++ return 0;
++}
++#endif
++
+ int board_early_init_f(void)
+ {
+ setup_iomux_uart();
+@@ -310,6 +337,10 @@ int board_init(void)
+ setup_spi();
+ #endif
+
++#ifdef CONFIG_CMD_SATA
++ setup_sata();
++#endif
++
+ return 0;
+ }
+
+diff --git a/include/configs/mx6qsabrelite.h b/include/configs/mx6qsabrelite.h
+index 48be6e6..feabc05 100644
+--- a/include/configs/mx6qsabrelite.h
++++ b/include/configs/mx6qsabrelite.h
+@@ -72,6 +72,19 @@
+ #define CONFIG_CMD_FAT
+ #define CONFIG_DOS_PARTITION
+
++#define CONFIG_CMD_SATA
++/*
++ * SATA Configs
++ */
++#ifdef CONFIG_CMD_SATA
++#define CONFIG_DWC_AHSATA
++#define CONFIG_SYS_SATA_MAX_DEVICE 1
++#define CONFIG_DWC_AHSATA_PORT_ID 0
++#define CONFIG_DWC_AHSATA_BASE_ADDR SATA_ARB_BASE_ADDR
++#define CONFIG_LBA48
++#define CONFIG_LIBATA
++#endif
++
+ #define CONFIG_CMD_PING
+ #define CONFIG_CMD_DHCP
+ #define CONFIG_CMD_MII
+--
+1.7.10
+