diff options
author | Albert ARIBAUD <albert.u.boot@aribaud.net> | 2014-01-06 08:49:58 +0100 |
---|---|---|
committer | Albert ARIBAUD <albert.u.boot@aribaud.net> | 2014-01-06 08:49:58 +0100 |
commit | a891601ce51edbafa1a2750c96a618e4fcbca1c2 (patch) | |
tree | 9a5d44eb1fcca45dfd30557318f786b66392a8f3 /arch/arm/imx-common/sata.c | |
parent | 2931fa4db349c97f882ffda42e901208654b5ca9 (diff) | |
parent | 4611d5bab26f93471b84f6f33967cef69b3f723a (diff) | |
download | u-boot-imx-a891601ce51edbafa1a2750c96a618e4fcbca1c2.zip u-boot-imx-a891601ce51edbafa1a2750c96a618e4fcbca1c2.tar.gz u-boot-imx-a891601ce51edbafa1a2750c96a618e4fcbca1c2.tar.bz2 |
Merge branch 'u-boot-imx/master' into 'u-boot-arm/master'
Conflicts:
include/micrel.h
The conflict above was trivial, caused by four lines being
added in both branches with different whitepace.
Diffstat (limited to 'arch/arm/imx-common/sata.c')
-rw-r--r-- | arch/arm/imx-common/sata.c | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/arch/arm/imx-common/sata.c b/arch/arm/imx-common/sata.c new file mode 100644 index 0000000..2e69486 --- /dev/null +++ b/arch/arm/imx-common/sata.c @@ -0,0 +1,34 @@ +/* + * Copyright 2011 Freescale Semiconductor, Inc. + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +#include <asm/imx-common/iomux-v3.h> +#include <asm/arch/iomux.h> +#include <asm/io.h> +#include <asm/arch/clock.h> + +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; +} |