diff options
| author | Tom Rini <[email protected]> | 2021-07-24 16:38:09 -0400 |
|---|---|---|
| committer | Tom Rini <[email protected]> | 2021-07-24 16:39:36 -0400 |
| commit | 7d4ce5ea53bdf4be8a951154c65ceef4b389fea7 (patch) | |
| tree | e84e326d3b8553b10bc3e6b9df655a8b17d06429 /drivers | |
| parent | edecc15eb9593b94dcd6a5f4f5ea5f134125b6a0 (diff) | |
| parent | 91a043896dfb8544db00496bee08bcf59e449dc9 (diff) | |
Merge branch '2021-07-24-arm-and-platform-updates'
- dragonboard410c, synquacer, aspeed fixes / updates
- pl011 serial driver fixes
- Two generic arm bugfixes
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/net/sni_netsec.c | 7 | ||||
| -rw-r--r-- | drivers/reset/reset-ast2600.c | 8 | ||||
| -rw-r--r-- | drivers/serial/serial_msm.c | 4 | ||||
| -rw-r--r-- | drivers/serial/serial_pl01x.c | 11 |
4 files changed, 16 insertions, 14 deletions
diff --git a/drivers/net/sni_netsec.c b/drivers/net/sni_netsec.c index a9ebf6af9c5..4901321d0cf 100644 --- a/drivers/net/sni_netsec.c +++ b/drivers/net/sni_netsec.c @@ -1059,18 +1059,11 @@ static int netsec_of_to_plat(struct udevice *dev) return 0; } -#define SMMU_SCR0_SHCFG_INNER (0x2 << 22) -#define SMMU_SCR0_MTCFG (0x1 << 20) -#define SMMU_SCR0_MEMATTR_INNER_OUTER_WB (0xf << 16) - static int netsec_probe(struct udevice *dev) { struct netsec_priv *priv = dev_get_priv(dev); int ret; - writel(SMMU_SCR0_SHCFG_INNER | SMMU_SCR0_MTCFG | SMMU_SCR0_MEMATTR_INNER_OUTER_WB, - (phys_addr_t)0x52E00000); - netsec_reset_hardware(priv, true); ret = netsec_mdiobus_init(priv, dev->name); diff --git a/drivers/reset/reset-ast2600.c b/drivers/reset/reset-ast2600.c index f64adaf74e8..195ddd18e05 100644 --- a/drivers/reset/reset-ast2600.c +++ b/drivers/reset/reset-ast2600.c @@ -41,9 +41,9 @@ static int ast2600_reset_assert(struct reset_ctl *reset_ctl) debug("%s: reset_ctl->id: %lu\n", __func__, reset_ctl->id); if (reset_ctl->id < 32) - writel(BIT(reset_ctl->id), scu->modrst_ctrl1); + writel(BIT(reset_ctl->id), &scu->modrst_ctrl1); else - writel(BIT(reset_ctl->id - 32), scu->modrst_ctrl2); + writel(BIT(reset_ctl->id - 32), &scu->modrst_ctrl2); return 0; } @@ -56,9 +56,9 @@ static int ast2600_reset_deassert(struct reset_ctl *reset_ctl) debug("%s: reset_ctl->id: %lu\n", __func__, reset_ctl->id); if (reset_ctl->id < 32) - writel(BIT(reset_ctl->id), scu->modrst_clr1); + writel(BIT(reset_ctl->id), &scu->modrst_clr1); else - writel(BIT(reset_ctl->id - 32), scu->modrst_clr2); + writel(BIT(reset_ctl->id - 32), &scu->modrst_clr2); return 0; } diff --git a/drivers/serial/serial_msm.c b/drivers/serial/serial_msm.c index d8dd5c1104b..ac4d0824b98 100644 --- a/drivers/serial/serial_msm.c +++ b/drivers/serial/serial_msm.c @@ -18,6 +18,7 @@ #include <asm/global_data.h> #include <asm/io.h> #include <linux/compiler.h> +#include <linux/delay.h> #include <dm/pinctrl.h> /* Serial registers - this driver works in uartdm mode*/ @@ -193,6 +194,9 @@ static int msm_uart_clk_init(struct udevice *dev) static void uart_dm_init(struct msm_serial_data *priv) { + /* Delay initialization for a bit to let pins stabilize if necessary */ + mdelay(5); + writel(priv->clk_bit_rate, priv->base + UARTDM_CSR); writel(0x0, priv->base + UARTDM_MR1); writel(MSM_BOOT_UART_DM_8_N_1_MODE, priv->base + UARTDM_MR2); diff --git a/drivers/serial/serial_pl01x.c b/drivers/serial/serial_pl01x.c index 76b96ad414c..67caa063c9a 100644 --- a/drivers/serial/serial_pl01x.c +++ b/drivers/serial/serial_pl01x.c @@ -404,8 +404,12 @@ static void _debug_uart_init(void) { #ifndef CONFIG_DEBUG_UART_SKIP_INIT struct pl01x_regs *regs = (struct pl01x_regs *)CONFIG_DEBUG_UART_BASE; - enum pl01x_type type = CONFIG_IS_ENABLED(DEBUG_UART_PL011) ? - TYPE_PL011 : TYPE_PL010; + enum pl01x_type type; + + if (IS_ENABLED(CONFIG_DEBUG_UART_PL011)) + type = TYPE_PL011; + else + type = TYPE_PL010; pl01x_generic_serial_init(regs, type); pl01x_generic_setbrg(regs, type, @@ -417,7 +421,8 @@ static inline void _debug_uart_putc(int ch) { struct pl01x_regs *regs = (struct pl01x_regs *)CONFIG_DEBUG_UART_BASE; - pl01x_putc(regs, ch); + while (pl01x_putc(regs, ch) == -EAGAIN) + ; } DEBUG_UART_FUNCS |
