diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/clk/starfive/clk-jh7110.c | 6 | ||||
-rw-r--r-- | drivers/i2c/Kconfig | 7 | ||||
-rw-r--r-- | drivers/i2c/Makefile | 2 | ||||
-rw-r--r-- | drivers/i2c/designware_i2c.c | 2 | ||||
-rw-r--r-- | drivers/mmc/dw_mmc.c | 2 | ||||
-rw-r--r-- | drivers/net/dwc_eth_qos.c | 9 | ||||
-rw-r--r-- | drivers/pci/pcie_starfive.c | 9 | ||||
-rw-r--r-- | drivers/video/starfive/sf_mipi.c | 6 | ||||
-rw-r--r-- | drivers/video/starfive/sf_vop.c | 13 | ||||
-rw-r--r-- | drivers/video/video-uclass.c | 2 |
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), |