mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-06-26 08:31:28 +00:00
- Fix SATA issue on Armada 3720 - Enable more SPI NOR chips in espressobin defconfig
This commit is contained in:
commit
e5df264e7a
2 changed files with 16 additions and 19 deletions
|
@ -55,6 +55,8 @@ CONFIG_SPI_FLASH_MACRONIX=y
|
||||||
CONFIG_SPI_FLASH_SPANSION=y
|
CONFIG_SPI_FLASH_SPANSION=y
|
||||||
CONFIG_SPI_FLASH_STMICRO=y
|
CONFIG_SPI_FLASH_STMICRO=y
|
||||||
CONFIG_SPI_FLASH_WINBOND=y
|
CONFIG_SPI_FLASH_WINBOND=y
|
||||||
|
CONFIG_SPI_FLASH_GIGADEVICE=y
|
||||||
|
CONFIG_SPI_FLASH_ISSI=y
|
||||||
CONFIG_PHYLIB=y
|
CONFIG_PHYLIB=y
|
||||||
CONFIG_PHY_MARVELL=y
|
CONFIG_PHY_MARVELL=y
|
||||||
CONFIG_PHY_GIGE=y
|
CONFIG_PHY_GIGE=y
|
||||||
|
|
|
@ -273,16 +273,23 @@ static void reg_set_indirect(u32 reg, u16 data, u16 mask)
|
||||||
*
|
*
|
||||||
* return: 1 if PLL locked (OK), 0 otherwise (FAIL)
|
* return: 1 if PLL locked (OK), 0 otherwise (FAIL)
|
||||||
*/
|
*/
|
||||||
static int comphy_sata_power_up(void)
|
static int comphy_sata_power_up(u32 invert)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
|
u32 data = 0;
|
||||||
|
|
||||||
debug_enter();
|
debug_enter();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* 0. Swap SATA TX lines
|
* 0. Check the Polarity invert bits
|
||||||
*/
|
*/
|
||||||
reg_set_indirect(vphy_sync_pattern_reg, bs_txd_inv, bs_txd_inv);
|
if (invert & PHY_POLARITY_TXD_INVERT)
|
||||||
|
data |= bs_txd_inv;
|
||||||
|
|
||||||
|
if (invert & PHY_POLARITY_RXD_INVERT)
|
||||||
|
data |= bs_rxd_inv;
|
||||||
|
|
||||||
|
reg_set_indirect(vphy_sync_pattern_reg, data, bs_txd_inv | bs_rxd_inv);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* 1. Select 40-bit data width width
|
* 1. Select 40-bit data width width
|
||||||
|
@ -924,22 +931,6 @@ void comphy_dedicated_phys_init(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
node = fdt_node_offset_by_compatible(blob, -1,
|
|
||||||
"marvell,armada-3700-ahci");
|
|
||||||
if (node > 0) {
|
|
||||||
if (fdtdec_get_is_enabled(blob, node)) {
|
|
||||||
ret = comphy_sata_power_up();
|
|
||||||
if (!ret)
|
|
||||||
printf("Failed to initialize SATA PHY\n");
|
|
||||||
else
|
|
||||||
debug("SATA PHY init succeed\n");
|
|
||||||
} else {
|
|
||||||
debug("SATA node is disabled\n");
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
debug("No SATA node in DT\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
node = fdt_node_offset_by_compatible(blob, -1,
|
node = fdt_node_offset_by_compatible(blob, -1,
|
||||||
"marvell,armada-8k-sdhci");
|
"marvell,armada-8k-sdhci");
|
||||||
if (node <= 0) {
|
if (node <= 0) {
|
||||||
|
@ -1007,6 +998,10 @@ int comphy_a3700_init(struct chip_serdes_phy_config *chip_cfg,
|
||||||
comphy_map->invert);
|
comphy_map->invert);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case PHY_TYPE_SATA0:
|
||||||
|
ret = comphy_sata_power_up(comphy_map->invert);
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
debug("Unknown SerDes type, skip initialize SerDes %d\n",
|
debug("Unknown SerDes type, skip initialize SerDes %d\n",
|
||||||
lane);
|
lane);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue