uboot/arch/arm/imx-common/sata.c
<<
>>
Prefs
   1/*
   2 * Copyright 2011 Freescale Semiconductor, Inc.
   3 *
   4 * SPDX-License-Identifier:     GPL-2.0+
   5 */
   6
   7#include <asm/imx-common/iomux-v3.h>
   8#include <asm/arch/iomux.h>
   9#include <asm/io.h>
  10#include <asm/arch/clock.h>
  11#include <asm/arch/sys_proto.h>
  12
  13int setup_sata(void)
  14{
  15        struct iomuxc *const iomuxc_regs = (struct iomuxc *)IOMUXC_BASE_ADDR;
  16        int ret;
  17
  18        if (!is_mx6dq() && !is_mx6dqp())
  19                return 1;
  20
  21        ret = enable_sata_clock();
  22        if (ret)
  23                return ret;
  24
  25        clrsetbits_le32(&iomuxc_regs->gpr[13],
  26                        IOMUXC_GPR13_SATA_MASK,
  27                        IOMUXC_GPR13_SATA_PHY_8_RXEQ_3P0DB
  28                        |IOMUXC_GPR13_SATA_PHY_7_SATA2M
  29                        |IOMUXC_GPR13_SATA_SPEED_3G
  30                        |(3<<IOMUXC_GPR13_SATA_PHY_6_SHIFT)
  31                        |IOMUXC_GPR13_SATA_SATA_PHY_5_SS_DISABLED
  32                        |IOMUXC_GPR13_SATA_SATA_PHY_4_ATTEN_9_16
  33                        |IOMUXC_GPR13_SATA_PHY_3_TXBOOST_0P00_DB
  34                        |IOMUXC_GPR13_SATA_PHY_2_TX_1P104V
  35                        |IOMUXC_GPR13_SATA_PHY_1_SLOW);
  36
  37        return 0;
  38}
  39