summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/clk/starfive/clk-jh7110.c6
-rw-r--r--drivers/i2c/Kconfig7
-rw-r--r--drivers/i2c/Makefile2
-rw-r--r--drivers/i2c/designware_i2c.c2
-rw-r--r--drivers/mmc/dw_mmc.c2
-rw-r--r--drivers/net/dwc_eth_qos.c9
-rw-r--r--drivers/pci/pcie_starfive.c9
-rw-r--r--drivers/video/starfive/sf_mipi.c6
-rw-r--r--drivers/video/starfive/sf_vop.c13
-rw-r--r--drivers/video/video-uclass.c2
10 files changed, 27 insertions, 31 deletions
diff --git a/drivers/clk/starfive/clk-jh7110.c b/drivers/clk/starfive/clk-jh7110.c
index 249eb130f1..26f90745b6 100644
--- a/drivers/clk/starfive/clk-jh7110.c
+++ b/drivers/clk/starfive/clk-jh7110.c
@@ -705,9 +705,9 @@ static int jh7110_clk_init(struct udevice *dev)
"u5_dw_i2c_clk_apb", "apb0",
SYS_OFFSET(JH7110_I2C5_CLK_APB)));
clk_dm(JH7110_I2C5_CLK_CORE,
- starfive_clk_fix_factor(priv->sys,
- "u5_dw_i2c_clk_core", "u5_dw_i2c_clk_apb", 1, 1));
-
+ starfive_clk_gate(priv->sys,
+ "u5_dw_i2c_clk_core", "osc",
+ SYS_OFFSET(JH7110_I2C5_CLK_CORE)));
/*i2c2*/
clk_dm(JH7110_I2C2_CLK_APB,
starfive_clk_gate(priv->sys,
diff --git a/drivers/i2c/Kconfig b/drivers/i2c/Kconfig
index 63d03a3ceb..a19370c8a1 100644
--- a/drivers/i2c/Kconfig
+++ b/drivers/i2c/Kconfig
@@ -158,6 +158,13 @@ config SYS_I2C_DW
controller is used in various SoCs, e.g. the ST SPEAr, Altera
SoCFPGA, Synopsys ARC700 and some Intel x86 SoCs.
+config SPL_SYS_I2C_DW
+ bool "Designware I2C Controller in SPL"
+ default n
+ help
+ Say yes here to select the Designware I2C Host Controller in SPL. This
+ controller is used in StarFive JH7110 SoC.
+
config SYS_I2C_ASPEED
bool "Aspeed I2C Controller"
depends on DM_I2C && ARCH_ASPEED
diff --git a/drivers/i2c/Makefile b/drivers/i2c/Makefile
index 69bd27c7cd..d25ddbe05d 100644
--- a/drivers/i2c/Makefile
+++ b/drivers/i2c/Makefile
@@ -17,7 +17,7 @@ obj-$(CONFIG_SYS_I2C_AT91) += at91_i2c.o
obj-$(CONFIG_SYS_I2C_CADENCE) += i2c-cdns.o
obj-$(CONFIG_SYS_I2C_CA) += i2c-cortina.o
obj-$(CONFIG_SYS_I2C_DAVINCI) += davinci_i2c.o
-obj-$(CONFIG_SYS_I2C_DW) += designware_i2c.o
+obj-$(CONFIG_$(SPL_)SYS_I2C_DW) += designware_i2c.o
ifdef CONFIG_ACPIGEN
ifdef CONFIG_PCI
obj-$(CONFIG_SYS_I2C_DW) += designware_i2c_pci.o
diff --git a/drivers/i2c/designware_i2c.c b/drivers/i2c/designware_i2c.c
index c1b3df9600..82e2c2134f 100644
--- a/drivers/i2c/designware_i2c.c
+++ b/drivers/i2c/designware_i2c.c
@@ -777,7 +777,7 @@ int designware_i2c_of_to_plat(struct udevice *bus)
ret = clk_get_bulk(bus, &priv->clks);
if (ret)
- return ret;
+ return ret;
ret = clk_enable_bulk(&priv->clks);
if (ret && ret != -ENOSYS && ret != -ENOTSUPP) {
diff --git a/drivers/mmc/dw_mmc.c b/drivers/mmc/dw_mmc.c
index b3b69fabd4..244a4c4bc5 100644
--- a/drivers/mmc/dw_mmc.c
+++ b/drivers/mmc/dw_mmc.c
@@ -685,7 +685,7 @@ void dwmci_setup_cfg(struct mmc_config *cfg, struct dwmci_host *host,
cfg->host_caps |= MMC_MODE_4BIT;
cfg->host_caps &= ~MMC_MODE_8BIT;
}
- cfg->host_caps |= MMC_MODE_HS_52MHz | MMC_MODE_HS200;
+ cfg->host_caps |= MMC_MODE_HS | MMC_MODE_HS_52MHz | MMC_MODE_HS200;
cfg->b_max = CONFIG_SYS_MMC_MAX_BLK_COUNT;
}
diff --git a/drivers/net/dwc_eth_qos.c b/drivers/net/dwc_eth_qos.c
index 84ad47d5bc..053f4e52a2 100644
--- a/drivers/net/dwc_eth_qos.c
+++ b/drivers/net/dwc_eth_qos.c
@@ -321,6 +321,7 @@ struct eqos_priv {
bool clk_ck_enabled;
struct reset_ctl_bulk reset_bulk;
struct clk_bulk clk_bulk;
+ struct clk rmii_rtx;
};
/*
@@ -1006,6 +1007,8 @@ static int eqos_set_tx_clk_speed_jh7110(struct udevice *dev)
return ret;
}
+ clk_set_rate(&eqos->rmii_rtx, rate);
+
return 0;
}
@@ -1909,6 +1912,12 @@ static int eqos_probe_resources_jh7110(struct udevice *dev)
goto err_free_reset_eqos;
}
+ ret = clk_get_by_name(dev, "rmii_rtx", &eqos->rmii_rtx);
+ if (ret) {
+ pr_err("clk_get_by_name(rmii_rtx) failed: %d", ret);
+ goto err_free_reset_eqos;
+ }
+
ret = clk_get_bulk(dev, &eqos->clk_bulk);
if (ret) {
pr_err("clk_get_bulk failed: %d", ret);
diff --git a/drivers/pci/pcie_starfive.c b/drivers/pci/pcie_starfive.c
index d31d8b6e3a..d9de50d191 100644
--- a/drivers/pci/pcie_starfive.c
+++ b/drivers/pci/pcie_starfive.c
@@ -365,15 +365,10 @@ static int starfive_pcie_init_port(struct udevice *dev)
goto err_deassert_clk;
}
- ret = pinctrl_select_state(dev, "power-active");
- if (ret) {
- dev_err(dev, "Set power-acvtive pinctrl failed: %d\n", ret);
- goto err_deassert_reset;
- }
ret = pinctrl_select_state(dev, "perst-active");
if (ret) {
dev_err(dev, "Set perst-active pinctrl failed: %d\n", ret);
- goto err_release_power_pin;
+ goto err_deassert_reset;
}
/* Disable physical functions except #0 */
@@ -440,8 +435,6 @@ static int starfive_pcie_init_port(struct udevice *dev)
return 0;
-err_release_power_pin:
- pinctrl_select_state(dev, "power-default");
err_deassert_reset:
reset_assert_bulk(&priv->rsts);
err_deassert_clk:
diff --git a/drivers/video/starfive/sf_mipi.c b/drivers/video/starfive/sf_mipi.c
index 4521f7c869..c22187ea71 100644
--- a/drivers/video/starfive/sf_mipi.c
+++ b/drivers/video/starfive/sf_mipi.c
@@ -159,11 +159,11 @@ static void dsi_phy_post_set_mode(void *priv_data, unsigned long mode_flags)
CFG_L0_SWAP_SEL_SHIFT, CFG_L0_SWAP_SEL_MASK);//Lane setting
sf_dphy_set_reg(priv->phy_reg, 0x1,
CFG_L1_SWAP_SEL_SHIFT, CFG_L1_SWAP_SEL_MASK);
- sf_dphy_set_reg(priv->phy_reg, 0x4,
- CFG_L2_SWAP_SEL_SHIFT, CFG_L2_SWAP_SEL_MASK);
sf_dphy_set_reg(priv->phy_reg, 0x2,
- CFG_L3_SWAP_SEL_SHIFT, CFG_L3_SWAP_SEL_MASK);
+ CFG_L2_SWAP_SEL_SHIFT, CFG_L2_SWAP_SEL_MASK);
sf_dphy_set_reg(priv->phy_reg, 0x3,
+ CFG_L3_SWAP_SEL_SHIFT, CFG_L3_SWAP_SEL_MASK);
+ sf_dphy_set_reg(priv->phy_reg, 0x4,
CFG_L4_SWAP_SEL_SHIFT, CFG_L4_SWAP_SEL_MASK);
//PLL setting
sf_dphy_set_reg(priv->phy_reg + 0x1c, 0x0,
diff --git a/drivers/video/starfive/sf_vop.c b/drivers/video/starfive/sf_vop.c
index 0849e79e35..eea0c9cd7f 100644
--- a/drivers/video/starfive/sf_vop.c
+++ b/drivers/video/starfive/sf_vop.c
@@ -108,19 +108,6 @@ static int sf_vop_power(struct udevice *dev)
return ret;
}
- ret = uclass_get_device_by_driver(UCLASS_PMIC,
- DM_DRIVER_GET(pmic_starfive), &dev_pmic);
- if (ret) {
- pr_err("failed to find PMIC: %d\n", ret);
- return ret;
- }
-
- ret = pmic_clrsetbits(dev_pmic, POWER_SW_0_REG, 0x3f, 0x3f);
- if (ret) {
- pr_err("failed to update SD control register: %d", ret);
- return ret;
- }
-
return 0;
}
diff --git a/drivers/video/video-uclass.c b/drivers/video/video-uclass.c
index 52a1d94743..f1fdabdfae 100644
--- a/drivers/video/video-uclass.c
+++ b/drivers/video/video-uclass.c
@@ -265,7 +265,7 @@ int video_sync_copy(struct udevice *dev, void *from, void *to)
* frame buffer
*/
if (offset < -priv->fb_size || offset > 2 * priv->fb_size) {
-#if DEBUG
+#ifdef DEBUG
char str[80];
snprintf(str, sizeof(str),