[PATCH 2/2] clk: en7523: fix scuclk io region for upcoming pinctrl
AngeloGioacchino Del Regno
angelogioacchino.delregno at collabora.com
Mon Jul 22 08:18:23 PDT 2024
Il 09/07/24 09:48, Lorenzo Bianconi ha scritto:
> EN7581 clock driver shares the IO region with the upcoming pinctrl
> driver for Airoha EN7581 SoC. Fix it by reducing the clk mapped
> region to only used registers in order to not overlap with pinctrl
> one. This change is not introducing any backward compatibility issue
> since the EN7581 dts is not upstream yet.
>
> Signed-off-by: Lorenzo Bianconi <lorenzo at kernel.org>
> ---
> drivers/clk/clk-en7523.c | 23 +++++++++++++++--------
> 1 file changed, 15 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/clk/clk-en7523.c b/drivers/clk/clk-en7523.c
> index b20e56337a6b..d9ecbb6bf55a 100644
> --- a/drivers/clk/clk-en7523.c
> +++ b/drivers/clk/clk-en7523.c
> @@ -31,7 +31,14 @@
> #define REG_RESET_CONTROL_PCIE1 BIT(27)
> #define REG_RESET_CONTROL_PCIE2 BIT(26)
> /* EN7581 */
> -#define REG_CRYPTO_CLKSRC2 0x20c
> +#define REG_GSW_CLK_DIV_SEL2 0x00
> +#define REG_EMI_CLK_DIV_SEL2 0x04
> +#define REG_BUS_CLK_DIV_SEL2 0x08
> +#define REG_SPI_CLK_DIV_SEL2 0x10
> +#define REG_SPI_CLK_FREQ_SEL2 0x14
> +#define REG_NPU_CLK_DIV_SEL2 0x48
> +#define REG_CRYPTO_CLKSRC2 0x58
> +
> #define REG_PCIE0_MEM 0x00
> #define REG_PCIE0_MEM_MASK 0x04
> #define REG_PCIE1_MEM 0x08
> @@ -203,7 +210,7 @@ static const struct en_clk_desc en7581_base_clks[] = {
> .id = EN7523_CLK_GSW,
> .name = "gsw",
>
> - .base_reg = REG_GSW_CLK_DIV_SEL,
> + .base_reg = REG_GSW_CLK_DIV_SEL2,
This is practically just commit noise :-)
You are adding the en7581_base_clks[] in patch [1/2] with the wrong base register,
then fixing it here ... and that's wrong.
Please squash the two patches.
Cheers,
Angelo
> .base_bits = 1,
> .base_shift = 8,
> .base_values = gsw_base,
> @@ -217,7 +224,7 @@ static const struct en_clk_desc en7581_base_clks[] = {
> .id = EN7523_CLK_EMI,
> .name = "emi",
>
> - .base_reg = REG_EMI_CLK_DIV_SEL,
> + .base_reg = REG_EMI_CLK_DIV_SEL2,
> .base_bits = 2,
> .base_shift = 8,
> .base_values = emi7581_base,
> @@ -231,7 +238,7 @@ static const struct en_clk_desc en7581_base_clks[] = {
> .id = EN7523_CLK_BUS,
> .name = "bus",
>
> - .base_reg = REG_BUS_CLK_DIV_SEL,
> + .base_reg = REG_BUS_CLK_DIV_SEL2,
> .base_bits = 1,
> .base_shift = 8,
> .base_values = bus_base,
> @@ -245,13 +252,13 @@ static const struct en_clk_desc en7581_base_clks[] = {
> .id = EN7523_CLK_SLIC,
> .name = "slic",
>
> - .base_reg = REG_SPI_CLK_FREQ_SEL,
> + .base_reg = REG_SPI_CLK_FREQ_SEL2,
> .base_bits = 1,
> .base_shift = 0,
> .base_values = slic_base,
> .n_base_values = ARRAY_SIZE(slic_base),
>
> - .div_reg = REG_SPI_CLK_DIV_SEL,
> + .div_reg = REG_SPI_CLK_DIV_SEL2,
> .div_bits = 5,
> .div_shift = 24,
> .div_val0 = 20,
> @@ -260,7 +267,7 @@ static const struct en_clk_desc en7581_base_clks[] = {
> .id = EN7523_CLK_SPI,
> .name = "spi",
>
> - .base_reg = REG_SPI_CLK_DIV_SEL,
> + .base_reg = REG_SPI_CLK_DIV_SEL2,
>
> .base_value = 400000000,
>
> @@ -272,7 +279,7 @@ static const struct en_clk_desc en7581_base_clks[] = {
> .id = EN7523_CLK_NPU,
> .name = "npu",
>
> - .base_reg = REG_NPU_CLK_DIV_SEL,
> + .base_reg = REG_NPU_CLK_DIV_SEL2,
> .base_bits = 2,
> .base_shift = 8,
> .base_values = npu7581_base,
More information about the linux-arm-kernel
mailing list