Patches automatically rebased.
Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
-LINUX_VERSION-5.10 = .102
-LINUX_KERNEL_HASH-5.10.102 = e6414895b1c2e406a41a8744160e2b4ef2095e6cebe5363be460d1b198f0e379
+LINUX_VERSION-5.10 = .103
+LINUX_KERNEL_HASH-5.10.103 = 4fb8ad55e6430342e4fbc94d54e594e9be8eb6a8bea1d71eccf835948d08580a
include/dt-bindings/clock/at91.h | 10 ++++++++++
2 files changed, 13 insertions(+), 3 deletions(-)
-diff --git a/drivers/clk/at91/sama7g5.c b/drivers/clk/at91/sama7g5.c
-index a092a940baa4..7ef7963126b6 100644
--- a/drivers/clk/at91/sama7g5.c
+++ b/drivers/clk/at91/sama7g5.c
@@ -182,13 +182,13 @@ static const struct {
},
[PLL_ID_ETH] = {
-@@ -835,7 +835,7 @@ static void __init sama7g5_pmc_setup(struct device_node *np)
+@@ -835,7 +835,7 @@ static void __init sama7g5_pmc_setup(str
if (IS_ERR(regmap))
return;
nck(sama7g5_systemck),
nck(sama7g5_periphck),
nck(sama7g5_gck), 8);
-diff --git a/include/dt-bindings/clock/at91.h b/include/dt-bindings/clock/at91.h
-index eba17106608b..fab313f62e8f 100644
--- a/include/dt-bindings/clock/at91.h
+++ b/include/dt-bindings/clock/at91.h
@@ -25,6 +25,16 @@
#ifndef AT91_PMC_MOSCS
#define AT91_PMC_MOSCS 0 /* MOSCS Flag */
#define AT91_PMC_LOCKA 1 /* PLLA Lock */
---
-2.32.0
-
drivers/clk/at91/sama7g5.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
-diff --git a/drivers/clk/at91/sama7g5.c b/drivers/clk/at91/sama7g5.c
-index 7ef7963126b6..d3c3469d47d9 100644
--- a/drivers/clk/at91/sama7g5.c
+++ b/drivers/clk/at91/sama7g5.c
@@ -117,7 +117,8 @@ static const struct {
},
[PLL_ID_DDR] = {
---
-2.32.0
-
drivers/clk/at91/pmc.h | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
-diff --git a/drivers/clk/at91/clk-master.c b/drivers/clk/at91/clk-master.c
-index bd0d8a69a2cf..aafd003b30cf 100644
--- a/drivers/clk/at91/clk-master.c
+++ b/drivers/clk/at91/clk-master.c
@@ -15,7 +15,7 @@
#define PMC_MCR 0x30
#define PMC_MCR_ID_MSK GENMASK(3, 0)
-diff --git a/drivers/clk/at91/pmc.h b/drivers/clk/at91/pmc.h
-index 7b86affc6d7c..0a9364bde339 100644
--- a/drivers/clk/at91/pmc.h
+++ b/drivers/clk/at91/pmc.h
-@@ -48,7 +48,7 @@ extern const struct clk_master_layout at91sam9x5_master_layout;
+@@ -48,7 +48,7 @@ extern const struct clk_master_layout at
struct clk_master_characteristics {
struct clk_range output;
u8 have_div3_pres;
};
---
-2.32.0
-
drivers/clk/at91/sama7g5.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
-diff --git a/drivers/clk/at91/sama7g5.c b/drivers/clk/at91/sama7g5.c
-index d3c3469d47d9..d685e22b2014 100644
--- a/drivers/clk/at91/sama7g5.c
+++ b/drivers/clk/at91/sama7g5.c
-@@ -775,13 +775,13 @@ static const struct clk_pll_characteristics pll_characteristics = {
+@@ -775,13 +775,13 @@ static const struct clk_pll_characterist
/* MCK0 characteristics. */
static const struct clk_master_characteristics mck0_characteristics = {
.output = { .min = 140000000, .max = 200000000 },
.pres_shift = 4,
.offset = 0x28,
};
---
-2.32.0
-
drivers/clk/at91/sama7g5.c | 67 +++++++++----
4 files changed, 197 insertions(+), 41 deletions(-)
-diff --git a/drivers/clk/at91/clk-sam9x60-pll.c b/drivers/clk/at91/clk-sam9x60-pll.c
-index 5a9daa3643a7..1f52409475e9 100644
--- a/drivers/clk/at91/clk-sam9x60-pll.c
+++ b/drivers/clk/at91/clk-sam9x60-pll.c
-@@ -229,6 +229,57 @@ static int sam9x60_frac_pll_set_rate(struct clk_hw *hw, unsigned long rate,
+@@ -229,6 +229,57 @@ static int sam9x60_frac_pll_set_rate(str
return sam9x60_frac_pll_compute_mul_frac(core, rate, parent_rate, true);
}
static const struct clk_ops sam9x60_frac_pll_ops = {
.prepare = sam9x60_frac_pll_prepare,
.unprepare = sam9x60_frac_pll_unprepare,
-@@ -238,6 +289,15 @@ static const struct clk_ops sam9x60_frac_pll_ops = {
+@@ -238,6 +289,15 @@ static const struct clk_ops sam9x60_frac
.set_rate = sam9x60_frac_pll_set_rate,
};
static int sam9x60_div_pll_prepare(struct clk_hw *hw)
{
struct sam9x60_pll_core *core = to_sam9x60_pll_core(hw);
-@@ -384,6 +444,44 @@ static int sam9x60_div_pll_set_rate(struct clk_hw *hw, unsigned long rate,
+@@ -384,6 +444,44 @@ static int sam9x60_div_pll_set_rate(stru
return 0;
}
static const struct clk_ops sam9x60_div_pll_ops = {
.prepare = sam9x60_div_pll_prepare,
.unprepare = sam9x60_div_pll_unprepare,
-@@ -393,17 +491,26 @@ static const struct clk_ops sam9x60_div_pll_ops = {
+@@ -393,17 +491,26 @@ static const struct clk_ops sam9x60_div_
.set_rate = sam9x60_div_pll_set_rate,
};
unsigned int val;
int ret;
-@@ -417,10 +524,12 @@ sam9x60_clk_register_frac_pll(struct regmap *regmap, spinlock_t *lock,
+@@ -417,10 +524,12 @@ sam9x60_clk_register_frac_pll(struct reg
init.name = name;
init.parent_names = &parent_name;
init.num_parents = 1;
frac->core.id = id;
frac->core.hw.init = &init;
-@@ -429,7 +538,7 @@ sam9x60_clk_register_frac_pll(struct regmap *regmap, spinlock_t *lock,
+@@ -429,7 +538,7 @@ sam9x60_clk_register_frac_pll(struct reg
frac->core.regmap = regmap;
frac->core.lock = lock;
if (sam9x60_pll_ready(regmap, id)) {
regmap_update_bits(regmap, AT91_PMC_PLL_UPDT,
AT91_PMC_PLL_UPDT_ID_MSK, id);
-@@ -457,7 +566,7 @@ sam9x60_clk_register_frac_pll(struct regmap *regmap, spinlock_t *lock,
+@@ -457,7 +566,7 @@ sam9x60_clk_register_frac_pll(struct reg
goto free;
}
}
hw = &frac->core.hw;
ret = clk_hw_register(NULL, hw);
-@@ -469,7 +578,7 @@ sam9x60_clk_register_frac_pll(struct regmap *regmap, spinlock_t *lock,
+@@ -469,7 +578,7 @@ sam9x60_clk_register_frac_pll(struct reg
return hw;
free:
unsigned int val;
int ret;
-@@ -497,11 +606,11 @@ sam9x60_clk_register_div_pll(struct regmap *regmap, spinlock_t *lock,
+@@ -497,11 +606,11 @@ sam9x60_clk_register_div_pll(struct regm
init.name = name;
init.parent_names = &parent_name;
init.num_parents = 1;
div->core.id = id;
div->core.hw.init = &init;
-@@ -510,14 +619,14 @@ sam9x60_clk_register_div_pll(struct regmap *regmap, spinlock_t *lock,
+@@ -510,14 +619,14 @@ sam9x60_clk_register_div_pll(struct regm
div->core.regmap = regmap;
div->core.lock = lock;
hw = &div->core.hw;
ret = clk_hw_register(NULL, hw);
-diff --git a/drivers/clk/at91/pmc.h b/drivers/clk/at91/pmc.h
-index 0a9364bde339..bedcd85ad750 100644
--- a/drivers/clk/at91/pmc.h
+++ b/drivers/clk/at91/pmc.h
@@ -190,14 +190,14 @@ struct clk_hw * __init
struct clk_hw * __init
at91_clk_register_programmable(struct regmap *regmap, const char *name,
-diff --git a/drivers/clk/at91/sam9x60.c b/drivers/clk/at91/sam9x60.c
-index c8cbec5308f0..4cb0d31babf7 100644
--- a/drivers/clk/at91/sam9x60.c
+++ b/drivers/clk/at91/sam9x60.c
-@@ -224,13 +224,24 @@ static void __init sam9x60_pmc_setup(struct device_node *np)
+@@ -224,13 +224,24 @@ static void __init sam9x60_pmc_setup(str
hw = sam9x60_clk_register_frac_pll(regmap, &pmc_pll_lock, "pllack_fracck",
"mainck", sam9x60_pmc->chws[PMC_MAIN],
0, &plla_characteristics,
if (IS_ERR(hw))
goto err_free;
-@@ -239,13 +250,16 @@ static void __init sam9x60_pmc_setup(struct device_node *np)
+@@ -239,13 +250,16 @@ static void __init sam9x60_pmc_setup(str
hw = sam9x60_clk_register_frac_pll(regmap, &pmc_pll_lock, "upllck_fracck",
"main_osc", main_osc_hw, 1,
&upll_characteristics,
if (IS_ERR(hw))
goto err_free;
-diff --git a/drivers/clk/at91/sama7g5.c b/drivers/clk/at91/sama7g5.c
-index d685e22b2014..d7c2b731ad20 100644
--- a/drivers/clk/at91/sama7g5.c
+++ b/drivers/clk/at91/sama7g5.c
-@@ -95,15 +95,15 @@ static const struct clk_pll_layout pll_layout_divio = {
+@@ -95,15 +95,15 @@ static const struct clk_pll_layout pll_l
* @p: clock parent
* @l: clock layout
* @t: clock type
},
};
-@@ -890,7 +923,7 @@ static void __init sama7g5_pmc_setup(struct device_node *np)
+@@ -890,7 +923,7 @@ static void __init sama7g5_pmc_setup(str
sama7g5_plls[i][j].p, parent_hw, i,
&pll_characteristics,
sama7g5_plls[i][j].l,
break;
case PLL_TYPE_DIV:
-@@ -899,7 +932,7 @@ static void __init sama7g5_pmc_setup(struct device_node *np)
+@@ -899,7 +932,7 @@ static void __init sama7g5_pmc_setup(str
sama7g5_plls[i][j].p, i,
&pll_characteristics,
sama7g5_plls[i][j].l,
break;
default:
---
-2.32.0
-
drivers/clk/at91/sama7g5.c | 55 ++++++++++++++++++--------------------
1 file changed, 26 insertions(+), 29 deletions(-)
-diff --git a/drivers/clk/at91/sama7g5.c b/drivers/clk/at91/sama7g5.c
-index d7c2b731ad20..335e9c943c65 100644
--- a/drivers/clk/at91/sama7g5.c
+++ b/drivers/clk/at91/sama7g5.c
@@ -280,7 +280,7 @@ static const struct {
{ .n = "tcb0_ch0_gclk",
.id = 88,
-@@ -961,9 +961,8 @@ static void __init sama7g5_pmc_setup(struct device_node *np)
+@@ -961,9 +961,8 @@ static void __init sama7g5_pmc_setup(str
parent_names[0] = md_slck_name;
parent_names[1] = td_slck_name;
parent_names[2] = "mainck";
u32 *mux_table;
mux_table = kmalloc_array(num_parents, sizeof(*mux_table),
-@@ -971,10 +970,10 @@ static void __init sama7g5_pmc_setup(struct device_node *np)
+@@ -971,10 +970,10 @@ static void __init sama7g5_pmc_setup(str
if (!mux_table)
goto err_free;
sama7g5_mckx[i].ep_count);
hw = at91_clk_sama7g5_register_master(regmap, sama7g5_mckx[i].n,
-@@ -997,20 +996,19 @@ static void __init sama7g5_pmc_setup(struct device_node *np)
+@@ -997,20 +996,19 @@ static void __init sama7g5_pmc_setup(str
parent_names[0] = md_slck_name;
parent_names[1] = td_slck_name;
parent_names[2] = "mainck";
&programmable_layout,
sama7g5_prog_mux_table);
if (IS_ERR(hw))
-@@ -1047,9 +1045,8 @@ static void __init sama7g5_pmc_setup(struct device_node *np)
+@@ -1047,9 +1045,8 @@ static void __init sama7g5_pmc_setup(str
parent_names[0] = md_slck_name;
parent_names[1] = td_slck_name;
parent_names[2] = "mainck";
u32 *mux_table;
mux_table = kmalloc_array(num_parents, sizeof(*mux_table),
-@@ -1057,10 +1054,10 @@ static void __init sama7g5_pmc_setup(struct device_node *np)
+@@ -1057,10 +1054,10 @@ static void __init sama7g5_pmc_setup(str
if (!mux_table)
goto err_free;
sama7g5_gck[i].pp_count);
hw = at91_clk_register_generated(regmap, &pmc_pcr_lock,
---
-2.32.0
-
drivers/clk/at91/sama7g5.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/drivers/clk/at91/sama7g5.c b/drivers/clk/at91/sama7g5.c
-index 335e9c943c65..29d9781e6712 100644
--- a/drivers/clk/at91/sama7g5.c
+++ b/drivers/clk/at91/sama7g5.c
-@@ -807,7 +807,7 @@ static const struct clk_pll_characteristics pll_characteristics = {
+@@ -807,7 +807,7 @@ static const struct clk_pll_characterist
/* MCK0 characteristics. */
static const struct clk_master_characteristics mck0_characteristics = {
.divisors = { 1, 2, 4, 3, 5 },
.have_div3_pres = 1,
};
---
-2.32.0
-
drivers/clk/at91/sama7g5.c | 61 +++++++++++++++++++++++++++++---------
1 file changed, 47 insertions(+), 14 deletions(-)
-diff --git a/drivers/clk/at91/sama7g5.c b/drivers/clk/at91/sama7g5.c
-index 29d9781e6712..e0c4d2eb9f59 100644
--- a/drivers/clk/at91/sama7g5.c
+++ b/drivers/clk/at91/sama7g5.c
-@@ -89,11 +89,40 @@ static const struct clk_pll_layout pll_layout_divio = {
+@@ -89,11 +89,40 @@ static const struct clk_pll_layout pll_l
.endiv_shift = 30,
};
/* MCK0 characteristics. */
static const struct clk_master_characteristics mck0_characteristics = {
.output = { .min = 50000000, .max = 200000000 },
-@@ -921,7 +954,7 @@ static void __init sama7g5_pmc_setup(struct device_node *np)
+@@ -921,7 +954,7 @@ static void __init sama7g5_pmc_setup(str
hw = sam9x60_clk_register_frac_pll(regmap,
&pmc_pll_lock, sama7g5_plls[i][j].n,
sama7g5_plls[i][j].p, parent_hw, i,
sama7g5_plls[i][j].l,
sama7g5_plls[i][j].f);
break;
-@@ -930,7 +963,7 @@ static void __init sama7g5_pmc_setup(struct device_node *np)
+@@ -930,7 +963,7 @@ static void __init sama7g5_pmc_setup(str
hw = sam9x60_clk_register_div_pll(regmap,
&pmc_pll_lock, sama7g5_plls[i][j].n,
sama7g5_plls[i][j].p, i,
sama7g5_plls[i][j].l,
sama7g5_plls[i][j].f);
break;
---
-2.32.0
-
drivers/clk/at91/sama7g5.c | 13 +-
14 files changed, 542 insertions(+), 146 deletions(-)
-diff --git a/drivers/clk/at91/at91rm9200.c b/drivers/clk/at91/at91rm9200.c
-index 2c3d8e6ca63c..0fad1009f315 100644
--- a/drivers/clk/at91/at91rm9200.c
+++ b/drivers/clk/at91/at91rm9200.c
@@ -7,6 +7,8 @@
struct sck {
char *n;
char *p;
-@@ -137,9 +139,20 @@ static void __init at91rm9200_pmc_setup(struct device_node *np)
+@@ -137,9 +139,20 @@ static void __init at91rm9200_pmc_setup(
parent_names[1] = "mainck";
parent_names[2] = "pllack";
parent_names[3] = "pllbck";
if (IS_ERR(hw))
goto err_free;
-@@ -181,7 +194,7 @@ static void __init at91rm9200_pmc_setup(struct device_node *np)
+@@ -181,7 +194,7 @@ static void __init at91rm9200_pmc_setup(
for (i = 0; i < ARRAY_SIZE(at91rm9200_periphck); i++) {
hw = at91_clk_register_peripheral(regmap,
at91rm9200_periphck[i].n,
at91rm9200_periphck[i].id);
if (IS_ERR(hw))
goto err_free;
-diff --git a/drivers/clk/at91/at91sam9260.c b/drivers/clk/at91/at91sam9260.c
-index bb81ff731ad8..ceb5495f723a 100644
--- a/drivers/clk/at91/at91sam9260.c
+++ b/drivers/clk/at91/at91sam9260.c
@@ -32,6 +32,8 @@ struct at91sam926x_data {
static const struct clk_master_characteristics sam9260_mck_characteristics = {
.output = { .min = 0, .max = 105000000 },
.divisors = { 1, 2, 4, 0 },
-@@ -218,8 +220,8 @@ static const struct sck at91sam9261_systemck[] = {
+@@ -218,8 +220,8 @@ static const struct sck at91sam9261_syst
{ .n = "pck1", .p = "prog1", .id = 9 },
{ .n = "pck2", .p = "prog2", .id = 10 },
{ .n = "pck3", .p = "prog3", .id = 11 },
};
static const struct pck at91sam9261_periphck[] = {
-@@ -413,9 +415,21 @@ static void __init at91sam926x_pmc_setup(struct device_node *np,
+@@ -413,9 +415,21 @@ static void __init at91sam926x_pmc_setup
parent_names[1] = "mainck";
parent_names[2] = "pllack";
parent_names[3] = "pllbck";
if (IS_ERR(hw))
goto err_free;
-@@ -457,7 +471,7 @@ static void __init at91sam926x_pmc_setup(struct device_node *np,
+@@ -457,7 +471,7 @@ static void __init at91sam926x_pmc_setup
for (i = 0; i < data->num_pck; i++) {
hw = at91_clk_register_peripheral(regmap,
data->pck[i].n,
data->pck[i].id);
if (IS_ERR(hw))
goto err_free;
-diff --git a/drivers/clk/at91/at91sam9g45.c b/drivers/clk/at91/at91sam9g45.c
-index cb4a406ed15d..0214333dedd3 100644
--- a/drivers/clk/at91/at91sam9g45.c
+++ b/drivers/clk/at91/at91sam9g45.c
@@ -7,6 +7,8 @@
};
struct pck {
-@@ -148,9 +150,21 @@ static void __init at91sam9g45_pmc_setup(struct device_node *np)
+@@ -148,9 +150,21 @@ static void __init at91sam9g45_pmc_setup
parent_names[1] = "mainck";
parent_names[2] = "plladivck";
parent_names[3] = "utmick";
if (IS_ERR(hw))
goto err_free;
-@@ -166,7 +180,7 @@ static void __init at91sam9g45_pmc_setup(struct device_node *np)
+@@ -166,7 +180,7 @@ static void __init at91sam9g45_pmc_setup
parent_names[1] = "mainck";
parent_names[2] = "plladivck";
parent_names[3] = "utmick";
for (i = 0; i < 2; i++) {
char name[6];
-@@ -195,7 +209,7 @@ static void __init at91sam9g45_pmc_setup(struct device_node *np)
+@@ -195,7 +209,7 @@ static void __init at91sam9g45_pmc_setup
for (i = 0; i < ARRAY_SIZE(at91sam9g45_periphck); i++) {
hw = at91_clk_register_peripheral(regmap,
at91sam9g45_periphck[i].n,
at91sam9g45_periphck[i].id);
if (IS_ERR(hw))
goto err_free;
-diff --git a/drivers/clk/at91/at91sam9n12.c b/drivers/clk/at91/at91sam9n12.c
-index 93f7eb216122..f9db5316a7f1 100644
--- a/drivers/clk/at91/at91sam9n12.c
+++ b/drivers/clk/at91/at91sam9n12.c
@@ -7,6 +7,8 @@
};
static const struct clk_pcr_layout at91sam9n12_pcr_layout = {
-@@ -175,9 +177,21 @@ static void __init at91sam9n12_pmc_setup(struct device_node *np)
+@@ -175,9 +177,21 @@ static void __init at91sam9n12_pmc_setup
parent_names[1] = "mainck";
parent_names[2] = "plladivck";
parent_names[3] = "pllbck";
if (IS_ERR(hw))
goto err_free;
-@@ -191,7 +205,7 @@ static void __init at91sam9n12_pmc_setup(struct device_node *np)
+@@ -191,7 +205,7 @@ static void __init at91sam9n12_pmc_setup
parent_names[1] = "mainck";
parent_names[2] = "plladivck";
parent_names[3] = "pllbck";
for (i = 0; i < 2; i++) {
char name[6];
-@@ -221,7 +235,7 @@ static void __init at91sam9n12_pmc_setup(struct device_node *np)
+@@ -221,7 +235,7 @@ static void __init at91sam9n12_pmc_setup
hw = at91_clk_register_sam9x5_peripheral(regmap, &pmc_pcr_lock,
&at91sam9n12_pcr_layout,
at91sam9n12_periphck[i].n,
at91sam9n12_periphck[i].id,
&range, INT_MIN);
if (IS_ERR(hw))
-diff --git a/drivers/clk/at91/at91sam9rl.c b/drivers/clk/at91/at91sam9rl.c
-index a343eb69bb35..66736e03cfef 100644
--- a/drivers/clk/at91/at91sam9rl.c
+++ b/drivers/clk/at91/at91sam9rl.c
@@ -7,6 +7,8 @@
static const struct clk_master_characteristics sam9rl_mck_characteristics = {
.output = { .min = 0, .max = 94000000 },
.divisors = { 1, 2, 4, 0 },
-@@ -117,9 +119,20 @@ static void __init at91sam9rl_pmc_setup(struct device_node *np)
+@@ -117,9 +119,20 @@ static void __init at91sam9rl_pmc_setup(
parent_names[1] = "mainck";
parent_names[2] = "pllack";
parent_names[3] = "utmick";
if (IS_ERR(hw))
goto err_free;
-@@ -129,7 +142,7 @@ static void __init at91sam9rl_pmc_setup(struct device_node *np)
+@@ -129,7 +142,7 @@ static void __init at91sam9rl_pmc_setup(
parent_names[1] = "mainck";
parent_names[2] = "pllack";
parent_names[3] = "utmick";
for (i = 0; i < 2; i++) {
char name[6];
-@@ -158,7 +171,7 @@ static void __init at91sam9rl_pmc_setup(struct device_node *np)
+@@ -158,7 +171,7 @@ static void __init at91sam9rl_pmc_setup(
for (i = 0; i < ARRAY_SIZE(at91sam9rl_periphck); i++) {
hw = at91_clk_register_peripheral(regmap,
at91sam9rl_periphck[i].n,
at91sam9rl_periphck[i].id);
if (IS_ERR(hw))
goto err_free;
-diff --git a/drivers/clk/at91/at91sam9x5.c b/drivers/clk/at91/at91sam9x5.c
-index 22b9aad9efb8..79b9d3667228 100644
--- a/drivers/clk/at91/at91sam9x5.c
+++ b/drivers/clk/at91/at91sam9x5.c
@@ -7,6 +7,8 @@
{ .n = "smdck", .p = "smdclk", .id = 4 },
{ .n = "uhpck", .p = "usbck", .id = 6 },
{ .n = "udpck", .p = "usbck", .id = 7 },
-@@ -196,9 +198,19 @@ static void __init at91sam9x5_pmc_setup(struct device_node *np,
+@@ -196,9 +198,19 @@ static void __init at91sam9x5_pmc_setup(
parent_names[1] = "mainck";
parent_names[2] = "plladivck";
parent_names[3] = "utmick";
if (IS_ERR(hw))
goto err_free;
-@@ -218,7 +230,7 @@ static void __init at91sam9x5_pmc_setup(struct device_node *np,
+@@ -218,7 +230,7 @@ static void __init at91sam9x5_pmc_setup(
parent_names[1] = "mainck";
parent_names[2] = "plladivck";
parent_names[3] = "utmick";
for (i = 0; i < 2; i++) {
char name[6];
-@@ -245,7 +257,7 @@ static void __init at91sam9x5_pmc_setup(struct device_node *np,
+@@ -245,7 +257,7 @@ static void __init at91sam9x5_pmc_setup(
}
if (has_lcdck) {
if (IS_ERR(hw))
goto err_free;
-@@ -256,7 +268,7 @@ static void __init at91sam9x5_pmc_setup(struct device_node *np,
+@@ -256,7 +268,7 @@ static void __init at91sam9x5_pmc_setup(
hw = at91_clk_register_sam9x5_peripheral(regmap, &pmc_pcr_lock,
&at91sam9x5_pcr_layout,
at91sam9x5_periphck[i].n,
at91sam9x5_periphck[i].id,
&range, INT_MIN);
if (IS_ERR(hw))
-@@ -269,7 +281,7 @@ static void __init at91sam9x5_pmc_setup(struct device_node *np,
+@@ -269,7 +281,7 @@ static void __init at91sam9x5_pmc_setup(
hw = at91_clk_register_sam9x5_peripheral(regmap, &pmc_pcr_lock,
&at91sam9x5_pcr_layout,
extra_pcks[i].n,
extra_pcks[i].id,
&range, INT_MIN);
if (IS_ERR(hw))
-diff --git a/drivers/clk/at91/clk-master.c b/drivers/clk/at91/clk-master.c
-index aafd003b30cf..a80427980bf7 100644
--- a/drivers/clk/at91/clk-master.c
+++ b/drivers/clk/at91/clk-master.c
-@@ -58,83 +58,309 @@ static inline bool clk_master_ready(struct clk_master *master)
+@@ -58,83 +58,309 @@ static inline bool clk_master_ready(stru
static int clk_master_prepare(struct clk_hw *hw)
{
struct clk_master *master = to_clk_master(hw);
struct clk_master *master = to_clk_master(hw);
+ unsigned long flags;
+ bool status;
-
-- return clk_master_ready(master);
++
+ spin_lock_irqsave(master->lock, flags);
+ status = clk_master_ready(master);
+ spin_unlock_irqrestore(master->lock, flags);
-+
+
+- return clk_master_ready(master);
+ return status;
}
+
+static int clk_master_pres_determine_rate(struct clk_hw *hw,
+ struct clk_rate_request *req)
- {
- struct clk_master *master = to_clk_master(hw);
++{
++ struct clk_master *master = to_clk_master(hw);
+ struct clk_rate_request req_parent = *req;
+ const struct clk_master_characteristics *characteristics =
+ master->characteristics;
+}
+
+static u8 clk_master_pres_get_parent(struct clk_hw *hw)
-+{
-+ struct clk_master *master = to_clk_master(hw);
+ {
+ struct clk_master *master = to_clk_master(hw);
+ unsigned long flags;
unsigned int mckr;
return ERR_PTR(-EINVAL);
master = kzalloc(sizeof(*master), GFP_KERNEL);
-@@ -142,15 +368,17 @@ at91_clk_register_master(struct regmap *regmap,
+@@ -142,15 +368,17 @@ at91_clk_register_master(struct regmap *
return ERR_PTR(-ENOMEM);
init.name = name;
hw = &master->hw;
ret = clk_hw_register(NULL, &master->hw);
-@@ -162,37 +390,54 @@ at91_clk_register_master(struct regmap *regmap,
+@@ -162,37 +390,54 @@ at91_clk_register_master(struct regmap *
return hw;
}
}
static int clk_sama7g5_master_determine_rate(struct clk_hw *hw,
-diff --git a/drivers/clk/at91/dt-compat.c b/drivers/clk/at91/dt-compat.c
-index a50084de97d4..a97b99c2dc12 100644
--- a/drivers/clk/at91/dt-compat.c
+++ b/drivers/clk/at91/dt-compat.c
@@ -24,6 +24,8 @@
#ifdef CONFIG_HAVE_AT91_AUDIO_PLL
static void __init of_sama5d2_clk_audio_pll_frac_setup(struct device_node *np)
{
-@@ -388,9 +390,16 @@ of_at91_clk_master_setup(struct device_node *np,
+@@ -388,9 +390,16 @@ of_at91_clk_master_setup(struct device_n
if (IS_ERR(regmap))
return;
if (IS_ERR(hw))
goto out_free_characteristics;
-diff --git a/drivers/clk/at91/pmc.h b/drivers/clk/at91/pmc.h
-index bedcd85ad750..a49076c804a9 100644
--- a/drivers/clk/at91/pmc.h
+++ b/drivers/clk/at91/pmc.h
-@@ -155,10 +155,18 @@ at91_clk_register_sam9x5_main(struct regmap *regmap, const char *name,
+@@ -155,10 +155,18 @@ at91_clk_register_sam9x5_main(struct reg
const char **parent_names, int num_parents);
struct clk_hw * __init
struct clk_hw * __init
at91_clk_sama7g5_register_master(struct regmap *regmap,
-diff --git a/drivers/clk/at91/sam9x60.c b/drivers/clk/at91/sam9x60.c
-index 4cb0d31babf7..5f6fa89571b7 100644
--- a/drivers/clk/at91/sam9x60.c
+++ b/drivers/clk/at91/sam9x60.c
@@ -8,6 +8,7 @@
};
static const struct {
-@@ -268,9 +269,17 @@ static void __init sam9x60_pmc_setup(struct device_node *np)
+@@ -268,9 +269,17 @@ static void __init sam9x60_pmc_setup(str
parent_names[0] = md_slck_name;
parent_names[1] = "mainck";
parent_names[2] = "pllack_divck";
if (IS_ERR(hw))
goto err_free;
-@@ -286,7 +295,7 @@ static void __init sam9x60_pmc_setup(struct device_node *np)
+@@ -286,7 +295,7 @@ static void __init sam9x60_pmc_setup(str
parent_names[0] = md_slck_name;
parent_names[1] = td_slck_name;
parent_names[2] = "mainck";
parent_names[4] = "pllack_divck";
parent_names[5] = "upllck_divck";
for (i = 0; i < 2; i++) {
-@@ -318,7 +327,7 @@ static void __init sam9x60_pmc_setup(struct device_node *np)
+@@ -318,7 +327,7 @@ static void __init sam9x60_pmc_setup(str
hw = at91_clk_register_sam9x5_peripheral(regmap, &pmc_pcr_lock,
&sam9x60_pcr_layout,
sam9x60_periphck[i].n,
sam9x60_periphck[i].id,
&range, INT_MIN);
if (IS_ERR(hw))
-diff --git a/drivers/clk/at91/sama5d2.c b/drivers/clk/at91/sama5d2.c
-index 8b220762941a..9a5cbc7cd55a 100644
--- a/drivers/clk/at91/sama5d2.c
+++ b/drivers/clk/at91/sama5d2.c
@@ -7,6 +7,8 @@
};
static const struct {
-@@ -235,15 +237,25 @@ static void __init sama5d2_pmc_setup(struct device_node *np)
+@@ -235,15 +237,25 @@ static void __init sama5d2_pmc_setup(str
parent_names[1] = "mainck";
parent_names[2] = "plladivck";
parent_names[3] = "utmick";
if (IS_ERR(hw))
goto err_free;
-@@ -259,7 +271,7 @@ static void __init sama5d2_pmc_setup(struct device_node *np)
+@@ -259,7 +271,7 @@ static void __init sama5d2_pmc_setup(str
parent_names[1] = "mainck";
parent_names[2] = "plladivck";
parent_names[3] = "utmick";
parent_names[5] = "audiopll_pmcck";
for (i = 0; i < 3; i++) {
char name[6];
-@@ -290,7 +302,7 @@ static void __init sama5d2_pmc_setup(struct device_node *np)
+@@ -290,7 +302,7 @@ static void __init sama5d2_pmc_setup(str
hw = at91_clk_register_sam9x5_peripheral(regmap, &pmc_pcr_lock,
&sama5d2_pcr_layout,
sama5d2_periphck[i].n,
sama5d2_periphck[i].id,
&range, INT_MIN);
if (IS_ERR(hw))
-@@ -317,7 +329,7 @@ static void __init sama5d2_pmc_setup(struct device_node *np)
+@@ -317,7 +329,7 @@ static void __init sama5d2_pmc_setup(str
parent_names[1] = "mainck";
parent_names[2] = "plladivck";
parent_names[3] = "utmick";
parent_names[5] = "audiopll_pmcck";
for (i = 0; i < ARRAY_SIZE(sama5d2_gck); i++) {
hw = at91_clk_register_generated(regmap, &pmc_pcr_lock,
-diff --git a/drivers/clk/at91/sama5d3.c b/drivers/clk/at91/sama5d3.c
-index 7c6e0a5b9dc8..87009ee8effc 100644
--- a/drivers/clk/at91/sama5d3.c
+++ b/drivers/clk/at91/sama5d3.c
@@ -7,6 +7,8 @@
};
static const struct {
-@@ -170,9 +172,19 @@ static void __init sama5d3_pmc_setup(struct device_node *np)
+@@ -170,9 +172,19 @@ static void __init sama5d3_pmc_setup(str
parent_names[1] = "mainck";
parent_names[2] = "plladivck";
parent_names[3] = "utmick";
if (IS_ERR(hw))
goto err_free;
-@@ -192,7 +204,7 @@ static void __init sama5d3_pmc_setup(struct device_node *np)
+@@ -192,7 +204,7 @@ static void __init sama5d3_pmc_setup(str
parent_names[1] = "mainck";
parent_names[2] = "plladivck";
parent_names[3] = "utmick";
for (i = 0; i < 3; i++) {
char name[6];
-@@ -222,7 +234,7 @@ static void __init sama5d3_pmc_setup(struct device_node *np)
+@@ -222,7 +234,7 @@ static void __init sama5d3_pmc_setup(str
hw = at91_clk_register_sam9x5_peripheral(regmap, &pmc_pcr_lock,
&sama5d3_pcr_layout,
sama5d3_periphck[i].n,
sama5d3_periphck[i].id,
&sama5d3_periphck[i].r,
INT_MIN);
-diff --git a/drivers/clk/at91/sama5d4.c b/drivers/clk/at91/sama5d4.c
-index 92d8d4141b43..57fff790188b 100644
--- a/drivers/clk/at91/sama5d4.c
+++ b/drivers/clk/at91/sama5d4.c
@@ -7,6 +7,8 @@
};
static const struct {
-@@ -185,15 +187,25 @@ static void __init sama5d4_pmc_setup(struct device_node *np)
+@@ -185,15 +187,25 @@ static void __init sama5d4_pmc_setup(str
parent_names[1] = "mainck";
parent_names[2] = "plladivck";
parent_names[3] = "utmick";
if (IS_ERR(hw))
goto err_free;
-@@ -215,7 +227,7 @@ static void __init sama5d4_pmc_setup(struct device_node *np)
+@@ -215,7 +227,7 @@ static void __init sama5d4_pmc_setup(str
parent_names[1] = "mainck";
parent_names[2] = "plladivck";
parent_names[3] = "utmick";
for (i = 0; i < 3; i++) {
char name[6];
-@@ -245,7 +257,7 @@ static void __init sama5d4_pmc_setup(struct device_node *np)
+@@ -245,7 +257,7 @@ static void __init sama5d4_pmc_setup(str
hw = at91_clk_register_sam9x5_peripheral(regmap, &pmc_pcr_lock,
&sama5d4_pcr_layout,
sama5d4_periphck[i].n,
sama5d4_periphck[i].id,
&range, INT_MIN);
if (IS_ERR(hw))
-diff --git a/drivers/clk/at91/sama7g5.c b/drivers/clk/at91/sama7g5.c
-index e0c4d2eb9f59..927eb3b2b126 100644
--- a/drivers/clk/at91/sama7g5.c
+++ b/drivers/clk/at91/sama7g5.c
@@ -32,6 +32,7 @@
static DEFINE_SPINLOCK(pmc_mckX_lock);
/**
-@@ -984,8 +985,16 @@ static void __init sama7g5_pmc_setup(struct device_node *np)
+@@ -984,8 +985,16 @@ static void __init sama7g5_pmc_setup(str
parent_names[1] = "mainck";
parent_names[2] = "cpupll_divpmcck";
parent_names[3] = "syspll_divpmcck";
if (IS_ERR(hw))
goto err_free;
---
-2.32.0
-
include/dt-bindings/clock/at91.h | 1 +
2 files changed, 7 insertions(+), 7 deletions(-)
-diff --git a/drivers/clk/at91/sama7g5.c b/drivers/clk/at91/sama7g5.c
-index 927eb3b2b126..a6e20b35960e 100644
--- a/drivers/clk/at91/sama7g5.c
+++ b/drivers/clk/at91/sama7g5.c
-@@ -904,7 +904,7 @@ static void __init sama7g5_pmc_setup(struct device_node *np)
+@@ -904,7 +904,7 @@ static void __init sama7g5_pmc_setup(str
if (IS_ERR(regmap))
return;
nck(sama7g5_systemck),
nck(sama7g5_periphck),
nck(sama7g5_gck), 8);
-@@ -981,18 +981,17 @@ static void __init sama7g5_pmc_setup(struct device_node *np)
+@@ -981,18 +981,17 @@ static void __init sama7g5_pmc_setup(str
}
}
&mck0_layout, &mck0_characteristics,
&pmc_mck0_lock, 0);
if (IS_ERR(hw))
-diff --git a/include/dt-bindings/clock/at91.h b/include/dt-bindings/clock/at91.h
-index fab313f62e8f..98e1b2ab6403 100644
--- a/include/dt-bindings/clock/at91.h
+++ b/include/dt-bindings/clock/at91.h
@@ -34,6 +34,7 @@
#ifndef AT91_PMC_MOSCS
#define AT91_PMC_MOSCS 0 /* MOSCS Flag */
---
-2.32.0
-
drivers/clk/at91/sama5d4.c | 3 ++-
9 files changed, 28 insertions(+), 28 deletions(-)
-diff --git a/drivers/clk/at91/at91rm9200.c b/drivers/clk/at91/at91rm9200.c
-index 0fad1009f315..428a6f4b9ebc 100644
--- a/drivers/clk/at91/at91rm9200.c
+++ b/drivers/clk/at91/at91rm9200.c
-@@ -215,5 +215,4 @@ static void __init at91rm9200_pmc_setup(struct device_node *np)
+@@ -215,5 +215,4 @@ err_free:
* deferring properly. Once this is fixed, this can be switched to a platform
* driver.
*/
-CLK_OF_DECLARE_DRIVER(at91rm9200_pmc, "atmel,at91rm9200-pmc",
- at91rm9200_pmc_setup);
+CLK_OF_DECLARE(at91rm9200_pmc, "atmel,at91rm9200-pmc", at91rm9200_pmc_setup);
-diff --git a/drivers/clk/at91/at91sam9260.c b/drivers/clk/at91/at91sam9260.c
-index ceb5495f723a..b29843bea278 100644
--- a/drivers/clk/at91/at91sam9260.c
+++ b/drivers/clk/at91/at91sam9260.c
-@@ -491,26 +491,26 @@ static void __init at91sam9260_pmc_setup(struct device_node *np)
+@@ -491,26 +491,26 @@ static void __init at91sam9260_pmc_setup
{
at91sam926x_pmc_setup(np, &at91sam9260_data);
}
- at91sam9g20_pmc_setup);
+
+CLK_OF_DECLARE(at91sam9g20_pmc, "atmel,at91sam9g20-pmc", at91sam9g20_pmc_setup);
-diff --git a/drivers/clk/at91/at91sam9g45.c b/drivers/clk/at91/at91sam9g45.c
-index 0214333dedd3..15da0dfe3ef2 100644
--- a/drivers/clk/at91/at91sam9g45.c
+++ b/drivers/clk/at91/at91sam9g45.c
-@@ -228,5 +228,4 @@ static void __init at91sam9g45_pmc_setup(struct device_node *np)
+@@ -228,5 +228,4 @@ err_free:
* The TCB is used as the clocksource so its clock is needed early. This means
* this can't be a platform driver.
*/
-CLK_OF_DECLARE_DRIVER(at91sam9g45_pmc, "atmel,at91sam9g45-pmc",
- at91sam9g45_pmc_setup);
+CLK_OF_DECLARE(at91sam9g45_pmc, "atmel,at91sam9g45-pmc", at91sam9g45_pmc_setup);
-diff --git a/drivers/clk/at91/at91sam9n12.c b/drivers/clk/at91/at91sam9n12.c
-index f9db5316a7f1..7fe435f4b46b 100644
--- a/drivers/clk/at91/at91sam9n12.c
+++ b/drivers/clk/at91/at91sam9n12.c
-@@ -255,5 +255,4 @@ static void __init at91sam9n12_pmc_setup(struct device_node *np)
+@@ -255,5 +255,4 @@ err_free:
* The TCB is used as the clocksource so its clock is needed early. This means
* this can't be a platform driver.
*/
-CLK_OF_DECLARE_DRIVER(at91sam9n12_pmc, "atmel,at91sam9n12-pmc",
- at91sam9n12_pmc_setup);
+CLK_OF_DECLARE(at91sam9n12_pmc, "atmel,at91sam9n12-pmc", at91sam9n12_pmc_setup);
-diff --git a/drivers/clk/at91/at91sam9rl.c b/drivers/clk/at91/at91sam9rl.c
-index 66736e03cfef..ecbabf5162bd 100644
--- a/drivers/clk/at91/at91sam9rl.c
+++ b/drivers/clk/at91/at91sam9rl.c
-@@ -186,4 +186,5 @@ static void __init at91sam9rl_pmc_setup(struct device_node *np)
+@@ -186,4 +186,5 @@ static void __init at91sam9rl_pmc_setup(
err_free:
kfree(at91sam9rl_pmc);
}
-CLK_OF_DECLARE_DRIVER(at91sam9rl_pmc, "atmel,at91sam9rl-pmc", at91sam9rl_pmc_setup);
+
+CLK_OF_DECLARE(at91sam9rl_pmc, "atmel,at91sam9rl-pmc", at91sam9rl_pmc_setup);
-diff --git a/drivers/clk/at91/at91sam9x5.c b/drivers/clk/at91/at91sam9x5.c
-index 79b9d3667228..5cce48c64ea2 100644
--- a/drivers/clk/at91/at91sam9x5.c
+++ b/drivers/clk/at91/at91sam9x5.c
-@@ -302,33 +302,33 @@ static void __init at91sam9g15_pmc_setup(struct device_node *np)
+@@ -302,33 +302,33 @@ static void __init at91sam9g15_pmc_setup
{
at91sam9x5_pmc_setup(np, at91sam9g15_periphck, true);
}
- at91sam9x35_pmc_setup);
+
+CLK_OF_DECLARE(at91sam9x35_pmc, "atmel,at91sam9x35-pmc", at91sam9x35_pmc_setup);
-diff --git a/drivers/clk/at91/sama5d2.c b/drivers/clk/at91/sama5d2.c
-index 9a5cbc7cd55a..3d1f78176c3e 100644
--- a/drivers/clk/at91/sama5d2.c
+++ b/drivers/clk/at91/sama5d2.c
-@@ -372,4 +372,5 @@ static void __init sama5d2_pmc_setup(struct device_node *np)
+@@ -372,4 +372,5 @@ static void __init sama5d2_pmc_setup(str
err_free:
kfree(sama5d2_pmc);
}
-CLK_OF_DECLARE_DRIVER(sama5d2_pmc, "atmel,sama5d2-pmc", sama5d2_pmc_setup);
+
+CLK_OF_DECLARE(sama5d2_pmc, "atmel,sama5d2-pmc", sama5d2_pmc_setup);
-diff --git a/drivers/clk/at91/sama5d3.c b/drivers/clk/at91/sama5d3.c
-index 87009ee8effc..d376257807d2 100644
--- a/drivers/clk/at91/sama5d3.c
+++ b/drivers/clk/at91/sama5d3.c
-@@ -255,4 +255,4 @@ static void __init sama5d3_pmc_setup(struct device_node *np)
+@@ -255,4 +255,4 @@ err_free:
* The TCB is used as the clocksource so its clock is needed early. This means
* this can't be a platform driver.
*/
-CLK_OF_DECLARE_DRIVER(sama5d3_pmc, "atmel,sama5d3-pmc", sama5d3_pmc_setup);
+CLK_OF_DECLARE(sama5d3_pmc, "atmel,sama5d3-pmc", sama5d3_pmc_setup);
-diff --git a/drivers/clk/at91/sama5d4.c b/drivers/clk/at91/sama5d4.c
-index 57fff790188b..5cbaac68da44 100644
--- a/drivers/clk/at91/sama5d4.c
+++ b/drivers/clk/at91/sama5d4.c
-@@ -286,4 +286,5 @@ static void __init sama5d4_pmc_setup(struct device_node *np)
+@@ -286,4 +286,5 @@ static void __init sama5d4_pmc_setup(str
err_free:
kfree(sama5d4_pmc);
}
-CLK_OF_DECLARE_DRIVER(sama5d4_pmc, "atmel,sama5d4-pmc", sama5d4_pmc_setup);
+
+CLK_OF_DECLARE(sama5d4_pmc, "atmel,sama5d4-pmc", sama5d4_pmc_setup);
---
-2.32.0
-
drivers/clk/at91/sama7g5.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
-diff --git a/drivers/clk/at91/sama7g5.c b/drivers/clk/at91/sama7g5.c
-index a6e20b35960e..9e1ec48c4474 100644
--- a/drivers/clk/at91/sama7g5.c
+++ b/drivers/clk/at91/sama7g5.c
@@ -166,7 +166,7 @@ static const struct {
* @pp_count: PLL parents count
* @id: clock id
*/
---
-2.32.0
-
drivers/clk/at91/sama7g5.c | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
-diff --git a/drivers/clk/at91/sama7g5.c b/drivers/clk/at91/sama7g5.c
-index 9e1ec48c4474..cf8c079aa086 100644
--- a/drivers/clk/at91/sama7g5.c
+++ b/drivers/clk/at91/sama7g5.c
@@ -35,7 +35,7 @@ static DEFINE_SPINLOCK(pmc_pll_lock);
* PLL type identifiers
* @PLL_TYPE_FRAC: fractional PLL identifier
* @PLL_TYPE_DIV: divider PLL identifier
-@@ -118,7 +118,7 @@ static const struct clk_pll_characteristics pll_characteristics = {
+@@ -118,7 +118,7 @@ static const struct clk_pll_characterist
.output = pll_outputs,
};
* Generic clock description
* @n: clock name
* @pp: PLL parents
---
-2.32.0
-
drivers/net/ethernet/cadence/macb_main.c | 28 ++++++++++++++++++++----
2 files changed, 34 insertions(+), 4 deletions(-)
-diff --git a/drivers/net/ethernet/cadence/macb.h b/drivers/net/ethernet/cadence/macb.h
-index 5de47f6fde5a..e9385a1390a9 100644
--- a/drivers/net/ethernet/cadence/macb.h
+++ b/drivers/net/ethernet/cadence/macb.h
@@ -1104,6 +1104,14 @@ struct macb_pm_data {
};
#ifdef CONFIG_MACB_USE_HWSTAMP
-diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c
-index 1e8bf6b9834b..a8326b75eca8 100644
--- a/drivers/net/ethernet/cadence/macb_main.c
+++ b/drivers/net/ethernet/cadence/macb_main.c
-@@ -3800,15 +3800,15 @@ static int macb_init(struct platform_device *pdev)
+@@ -3800,15 +3800,15 @@ static int macb_init(struct platform_dev
if (!(bp->caps & MACB_CAPS_USRIO_DISABLED)) {
val = 0;
if (phy_interface_mode_is_rgmii(bp->phy_interface))
macb_or_gem_writel(bp, USRIO, val);
}
-@@ -4326,6 +4326,13 @@ static int fu540_c000_init(struct platform_device *pdev)
+@@ -4326,6 +4326,13 @@ static int fu540_c000_init(struct platfo
return macb_init(pdev);
}
static const struct macb_config fu540_c000_config = {
.caps = MACB_CAPS_GIGABIT_MODE_AVAILABLE | MACB_CAPS_JUMBO |
MACB_CAPS_GEM_HAS_PTP,
-@@ -4333,12 +4340,14 @@ static const struct macb_config fu540_c000_config = {
+@@ -4333,12 +4340,14 @@ static const struct macb_config fu540_c0
.clk_init = fu540_c000_clk_init,
.init = fu540_c000_init,
.jumbo_max_len = 10240,
};
static const struct macb_config sama5d3macb_config = {
-@@ -4346,6 +4355,7 @@ static const struct macb_config sama5d3macb_config = {
+@@ -4346,6 +4355,7 @@ static const struct macb_config sama5d3m
| MACB_CAPS_USRIO_HAS_CLKEN | MACB_CAPS_USRIO_DEFAULT_IS_MII_GMII,
.clk_init = macb_clk_init,
.init = macb_init,
};
static const struct macb_config pc302gem_config = {
-@@ -4353,6 +4363,7 @@ static const struct macb_config pc302gem_config = {
+@@ -4353,6 +4363,7 @@ static const struct macb_config pc302gem
.dma_burst_length = 16,
.clk_init = macb_clk_init,
.init = macb_init,
};
static const struct macb_config sama5d2_config = {
-@@ -4360,6 +4371,7 @@ static const struct macb_config sama5d2_config = {
+@@ -4360,6 +4371,7 @@ static const struct macb_config sama5d2_
.dma_burst_length = 16,
.clk_init = macb_clk_init,
.init = macb_init,
};
static const struct macb_config sama5d3_config = {
-@@ -4369,6 +4381,7 @@ static const struct macb_config sama5d3_config = {
+@@ -4369,6 +4381,7 @@ static const struct macb_config sama5d3_
.clk_init = macb_clk_init,
.init = macb_init,
.jumbo_max_len = 10240,
};
static const struct macb_config sama5d4_config = {
-@@ -4376,18 +4389,21 @@ static const struct macb_config sama5d4_config = {
+@@ -4376,18 +4389,21 @@ static const struct macb_config sama5d4_
.dma_burst_length = 4,
.clk_init = macb_clk_init,
.init = macb_init,
};
static const struct macb_config zynqmp_config = {
-@@ -4398,6 +4414,7 @@ static const struct macb_config zynqmp_config = {
+@@ -4398,6 +4414,7 @@ static const struct macb_config zynqmp_c
.clk_init = macb_clk_init,
.init = macb_init,
.jumbo_max_len = 10240,
};
static const struct macb_config zynq_config = {
-@@ -4406,6 +4423,7 @@ static const struct macb_config zynq_config = {
+@@ -4406,6 +4423,7 @@ static const struct macb_config zynq_con
.dma_burst_length = 16,
.clk_init = macb_clk_init,
.init = macb_init,
};
static const struct of_device_id macb_dt_ids[] = {
-@@ -4527,6 +4545,8 @@ static int macb_probe(struct platform_device *pdev)
+@@ -4526,6 +4544,8 @@ static int macb_probe(struct platform_de
bp->wol |= MACB_WOL_HAS_MAGIC_PACKET;
device_set_wakeup_capable(&pdev->dev, bp->wol & MACB_WOL_HAS_MAGIC_PACKET);
spin_lock_init(&bp->lock);
/* setup capabilities */
---
-2.32.0
-
drivers/net/ethernet/cadence/macb_main.c | 18 +++++++++---------
2 files changed, 10 insertions(+), 9 deletions(-)
-diff --git a/drivers/net/ethernet/cadence/macb.h b/drivers/net/ethernet/cadence/macb.h
-index e9385a1390a9..23d294748779 100644
--- a/drivers/net/ethernet/cadence/macb.h
+++ b/drivers/net/ethernet/cadence/macb.h
@@ -658,6 +658,7 @@
#define MACB_CAPS_MACB_IS_EMAC 0x08000000
#define MACB_CAPS_FIFO_MODE 0x10000000
#define MACB_CAPS_GIGABIT_MODE_AVAILABLE 0x20000000
-diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c
-index a8326b75eca8..5d0d11eb6711 100644
--- a/drivers/net/ethernet/cadence/macb_main.c
+++ b/drivers/net/ethernet/cadence/macb_main.c
-@@ -457,15 +457,14 @@ static void macb_init_buffers(struct macb *bp)
+@@ -457,15 +457,14 @@ static void macb_init_buffers(struct mac
/**
* macb_set_tx_clk() - Set a clock to a new frequency
return;
switch (speed) {
-@@ -482,7 +481,7 @@ static void macb_set_tx_clk(struct clk *clk, int speed, struct net_device *dev)
+@@ -482,7 +481,7 @@ static void macb_set_tx_clk(struct clk *
return;
}
if (rate_rounded < 0)
return;
-@@ -492,11 +491,12 @@ static void macb_set_tx_clk(struct clk *clk, int speed, struct net_device *dev)
+@@ -492,11 +491,12 @@ static void macb_set_tx_clk(struct clk *
ferr = abs(rate_rounded - rate);
ferr = DIV_ROUND_UP(ferr, rate / 100000);
if (ferr > 5)
}
static void macb_validate(struct phylink_config *config,
-@@ -649,7 +649,7 @@ static void macb_mac_link_up(struct phylink_config *config,
+@@ -649,7 +649,7 @@ static void macb_mac_link_up(struct phyl
if (rx_pause)
ctrl |= MACB_BIT(PAE);
/* Initialize rings & buffers as clearing MACB_BIT(TE) in link down
* cleared the pipeline and control registers.
---
-2.32.0
-
drivers/net/ethernet/cadence/macb_main.c | 38 +++++++++++++-----------
1 file changed, 21 insertions(+), 17 deletions(-)
-diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c
-index 5d0d11eb6711..eacf907a365d 100644
--- a/drivers/net/ethernet/cadence/macb_main.c
+++ b/drivers/net/ethernet/cadence/macb_main.c
-@@ -3575,6 +3575,20 @@ static void macb_probe_queues(void __iomem *mem,
+@@ -3575,6 +3575,20 @@ static void macb_probe_queues(void __iom
*num_queues = hweight32(*queue_mask);
}
static int macb_clk_init(struct platform_device *pdev, struct clk **pclk,
struct clk **hclk, struct clk **tx_clk,
struct clk **rx_clk, struct clk **tsu_clk)
-@@ -4642,11 +4656,7 @@ static int macb_probe(struct platform_device *pdev)
+@@ -4637,11 +4651,7 @@ err_out_free_netdev:
free_netdev(dev);
err_disable_clocks:
pm_runtime_disable(&pdev->dev);
pm_runtime_set_suspended(&pdev->dev);
pm_runtime_dont_use_autosuspend(&pdev->dev);
-@@ -4671,11 +4681,8 @@ static int macb_remove(struct platform_device *pdev)
+@@ -4666,11 +4676,8 @@ static int macb_remove(struct platform_d
pm_runtime_disable(&pdev->dev);
pm_runtime_dont_use_autosuspend(&pdev->dev);
if (!pm_runtime_suspended(&pdev->dev)) {
pm_runtime_set_suspended(&pdev->dev);
}
phylink_destroy(bp->phylink);
-@@ -4854,13 +4861,10 @@ static int __maybe_unused macb_runtime_suspend(struct device *dev)
+@@ -4849,13 +4856,10 @@ static int __maybe_unused macb_runtime_s
struct net_device *netdev = dev_get_drvdata(dev);
struct macb *bp = netdev_priv(netdev);
return 0;
}
---
-2.32.0
-
drivers/net/ethernet/cadence/macb_main.c | 24 ++++++++++++++++++------
1 file changed, 18 insertions(+), 6 deletions(-)
-diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c
-index eacf907a365d..c8d66f966a8b 100644
--- a/drivers/net/ethernet/cadence/macb_main.c
+++ b/drivers/net/ethernet/cadence/macb_main.c
-@@ -4307,8 +4307,10 @@ static int fu540_c000_clk_init(struct platform_device *pdev, struct clk **pclk,
+@@ -4307,8 +4307,10 @@ static int fu540_c000_clk_init(struct pl
return err;
mgmt = devm_kzalloc(&pdev->dev, sizeof(*mgmt), GFP_KERNEL);
init.name = "sifive-gemgxl-mgmt";
init.ops = &fu540_c000_ops;
-@@ -4319,16 +4321,26 @@ static int fu540_c000_clk_init(struct platform_device *pdev, struct clk **pclk,
+@@ -4319,16 +4321,26 @@ static int fu540_c000_clk_init(struct pl
mgmt->hw.init = &init;
*tx_clk = devm_clk_register(&pdev->dev, &mgmt->hw);
}
static int fu540_c000_init(struct platform_device *pdev)
---
-2.32.0
-
drivers/net/ethernet/cadence/macb_main.c | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
-diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c
-index c8d66f966a8b..ebcc46d8aa9d 100644
--- a/drivers/net/ethernet/cadence/macb_main.c
+++ b/drivers/net/ethernet/cadence/macb_main.c
-@@ -4359,6 +4359,14 @@ static const struct macb_usrio_config macb_default_usrio = {
+@@ -4359,6 +4359,14 @@ static const struct macb_usrio_config ma
.refclk = MACB_BIT(CLKEN),
};
static const struct macb_config fu540_c000_config = {
.caps = MACB_CAPS_GIGABIT_MODE_AVAILABLE | MACB_CAPS_JUMBO |
MACB_CAPS_GEM_HAS_PTP,
-@@ -4452,6 +4460,14 @@ static const struct macb_config zynq_config = {
+@@ -4452,6 +4460,14 @@ static const struct macb_config zynq_con
.usrio = &macb_default_usrio,
};
static const struct of_device_id macb_dt_ids[] = {
{ .compatible = "cdns,at32ap7000-macb" },
{ .compatible = "cdns,at91sam9260-macb", .data = &at91sam9260_config },
-@@ -4469,6 +4485,7 @@ static const struct of_device_id macb_dt_ids[] = {
+@@ -4469,6 +4485,7 @@ static const struct of_device_id macb_dt
{ .compatible = "cdns,zynqmp-gem", .data = &zynqmp_config},
{ .compatible = "cdns,zynq-gem", .data = &zynq_config },
{ .compatible = "sifive,fu540-c000-gem", .data = &fu540_c000_config },
{ /* sentinel */ }
};
MODULE_DEVICE_TABLE(of, macb_dt_ids);
---
-2.32.0
-
drivers/net/ethernet/cadence/macb_main.c | 9 +++++++++
1 file changed, 9 insertions(+)
-diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c
-index ebcc46d8aa9d..4ce302e03735 100644
--- a/drivers/net/ethernet/cadence/macb_main.c
+++ b/drivers/net/ethernet/cadence/macb_main.c
-@@ -4468,6 +4468,14 @@ static const struct macb_config sama7g5_gem_config = {
+@@ -4468,6 +4468,14 @@ static const struct macb_config sama7g5_
.usrio = &sama7g5_usrio,
};
static const struct of_device_id macb_dt_ids[] = {
{ .compatible = "cdns,at32ap7000-macb" },
{ .compatible = "cdns,at91sam9260-macb", .data = &at91sam9260_config },
-@@ -4486,6 +4494,7 @@ static const struct of_device_id macb_dt_ids[] = {
+@@ -4486,6 +4494,7 @@ static const struct of_device_id macb_dt
{ .compatible = "cdns,zynq-gem", .data = &zynq_config },
{ .compatible = "sifive,fu540-c000-gem", .data = &fu540_c000_config },
{ .compatible = "microchip,sama7g5-gem", .data = &sama7g5_gem_config },
{ /* sentinel */ }
};
MODULE_DEVICE_TABLE(of, macb_dt_ids);
---
-2.32.0
-
sound/soc/codecs/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig
-index 34c6dd04b85a..5791b7056af6 100644
--- a/sound/soc/codecs/Kconfig
+++ b/sound/soc/codecs/Kconfig
@@ -1003,7 +1003,7 @@ config SND_SOC_PCM3168A_SPI
config SND_SOC_PCM512x
tristate
---
-2.32.0
-
sound/soc/atmel/atmel-i2s.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
-diff --git a/sound/soc/atmel/atmel-i2s.c b/sound/soc/atmel/atmel-i2s.c
-index d870f56c44cf..7483c474ccd7 100644
--- a/sound/soc/atmel/atmel-i2s.c
+++ b/sound/soc/atmel/atmel-i2s.c
-@@ -581,8 +581,8 @@ static int atmel_i2s_sama5d2_mck_init(struct atmel_i2s_dev *dev,
+@@ -581,8 +581,8 @@ static int atmel_i2s_sama5d2_mck_init(st
err = PTR_ERR(muxclk);
if (err == -EPROBE_DEFER)
return -EPROBE_DEFER;
return 0;
}
---
-2.32.0
-
drivers/regulator/mcp16502.c | 1 +
1 file changed, 1 insertion(+)
-diff --git a/drivers/regulator/mcp16502.c b/drivers/regulator/mcp16502.c
-index 6d0ad74935b3..ab78f831f5bf 100644
--- a/drivers/regulator/mcp16502.c
+++ b/drivers/regulator/mcp16502.c
-@@ -93,6 +93,7 @@ static unsigned int mcp16502_of_map_mode(unsigned int mode)
+@@ -93,6 +93,7 @@ static unsigned int mcp16502_of_map_mode
.owner = THIS_MODULE, \
.n_voltages = MCP16502_VSEL + 1, \
.linear_ranges = _ranges, \
.n_linear_ranges = ARRAY_SIZE(_ranges), \
.of_match = of_match_ptr(_name), \
.of_map_mode = mcp16502_of_map_mode, \
---
-2.32.0
-
drivers/regulator/mcp16502.c | 43 ++++++++++++++++++++++--------------
1 file changed, 27 insertions(+), 16 deletions(-)
-diff --git a/drivers/regulator/mcp16502.c b/drivers/regulator/mcp16502.c
-index ab78f831f5bf..48eb64bc4018 100644
--- a/drivers/regulator/mcp16502.c
+++ b/drivers/regulator/mcp16502.c
@@ -54,13 +54,9 @@
static unsigned int mcp16502_of_map_mode(unsigned int mode)
{
if (mode == REGULATOR_MODE_NORMAL || mode == REGULATOR_MODE_IDLE)
-@@ -144,22 +157,20 @@ static void mcp16502_gpio_set_mode(struct mcp16502 *mcp, int mode)
+@@ -144,22 +157,20 @@ static void mcp16502_gpio_set_mode(struc
}
/*
default:
return -EINVAL;
}
-@@ -179,7 +190,7 @@ static unsigned int mcp16502_get_mode(struct regulator_dev *rdev)
+@@ -179,7 +190,7 @@ static unsigned int mcp16502_get_mode(st
unsigned int val;
int ret, reg;
if (reg < 0)
return reg;
-@@ -210,7 +221,7 @@ static int _mcp16502_set_mode(struct regulator_dev *rdev, unsigned int mode,
+@@ -210,7 +221,7 @@ static int _mcp16502_set_mode(struct reg
int val;
int reg;
if (reg < 0)
return reg;
-@@ -269,10 +280,10 @@ static int mcp16502_suspend_get_target_reg(struct regulator_dev *rdev)
+@@ -269,10 +280,10 @@ static int mcp16502_suspend_get_target_r
{
switch (pm_suspend_target_state) {
case PM_SUSPEND_STANDBY:
default:
dev_err(&rdev->dev, "invalid suspend target: %d\n",
pm_suspend_target_state);
---
-2.32.0
-
drivers/regulator/mcp16502.c | 89 +++++++++++++++++++++++++++++++++++-
1 file changed, 87 insertions(+), 2 deletions(-)
-diff --git a/drivers/regulator/mcp16502.c b/drivers/regulator/mcp16502.c
-index 48eb64bc4018..f81afeeddb19 100644
--- a/drivers/regulator/mcp16502.c
+++ b/drivers/regulator/mcp16502.c
@@ -22,8 +22,9 @@
static unsigned int mcp16502_of_map_mode(unsigned int mode)
{
if (mode == REGULATOR_MODE_NORMAL || mode == REGULATOR_MODE_IDLE)
-@@ -271,6 +278,80 @@ static int mcp16502_get_status(struct regulator_dev *rdev)
+@@ -271,6 +278,80 @@ static int mcp16502_get_status(struct re
return REGULATOR_STATUS_UNDEFINED;
}
#ifdef CONFIG_SUSPEND
/*
* mcp16502_suspend_get_target_reg() - get the reg of the target suspend PMIC
-@@ -365,6 +446,8 @@ static const struct regulator_ops mcp16502_buck_ops = {
+@@ -365,6 +446,8 @@ static const struct regulator_ops mcp165
.disable = regulator_disable_regmap,
.is_enabled = regulator_is_enabled_regmap,
.get_status = mcp16502_get_status,
.set_mode = mcp16502_set_mode,
.get_mode = mcp16502_get_mode,
-@@ -389,6 +472,8 @@ static const struct regulator_ops mcp16502_ldo_ops = {
+@@ -389,6 +472,8 @@ static const struct regulator_ops mcp165
.disable = regulator_disable_regmap,
.is_enabled = regulator_is_enabled_regmap,
.get_status = mcp16502_get_status,
#ifdef CONFIG_SUSPEND
.set_suspend_voltage = mcp16502_set_suspend_voltage,
---
-2.32.0
-
drivers/regulator/mcp16502.c | 2 --
1 file changed, 2 deletions(-)
-diff --git a/drivers/regulator/mcp16502.c b/drivers/regulator/mcp16502.c
-index f81afeeddb19..74ad92dc664a 100644
--- a/drivers/regulator/mcp16502.c
+++ b/drivers/regulator/mcp16502.c
@@ -135,8 +135,6 @@ enum {
* @lpm: LPM GPIO descriptor
*/
struct mcp16502 {
---
-2.32.0
-
drivers/regulator/helpers.c | 3 ++-
2 files changed, 9 insertions(+), 3 deletions(-)
-diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c
-index 043b5f63b94a..dfdd42b9d773 100644
--- a/drivers/regulator/core.c
+++ b/drivers/regulator/core.c
-@@ -2984,7 +2984,8 @@ static int _regulator_list_voltage(struct regulator_dev *rdev,
+@@ -2984,7 +2984,8 @@ static int _regulator_list_voltage(struc
return rdev->desc->fixed_uV;
if (ops->list_voltage) {
return -EINVAL;
if (lock)
regulator_lock(rdev);
-@@ -3135,7 +3136,8 @@ int regulator_list_hardware_vsel(struct regulator *regulator,
+@@ -3135,7 +3136,8 @@ int regulator_list_hardware_vsel(struct
struct regulator_dev *rdev = regulator->rdev;
const struct regulator_ops *ops = rdev->desc->ops;
return -EINVAL;
if (ops->set_voltage_sel != regulator_set_voltage_sel_regmap)
return -EOPNOTSUPP;
-@@ -4058,6 +4060,9 @@ int regulator_set_voltage_time(struct regulator *regulator,
+@@ -4058,6 +4060,9 @@ int regulator_set_voltage_time(struct re
for (i = 0; i < rdev->desc->n_voltages; i++) {
/* We only look for exact voltage matches here */
voltage = regulator_list_voltage(regulator, i);
if (voltage < 0)
return -EINVAL;
-diff --git a/drivers/regulator/helpers.c b/drivers/regulator/helpers.c
-index e4bb09bbd3fa..974f1a63993d 100644
--- a/drivers/regulator/helpers.c
+++ b/drivers/regulator/helpers.c
-@@ -647,7 +647,8 @@ int regulator_list_voltage_table(struct regulator_dev *rdev,
+@@ -647,7 +647,8 @@ int regulator_list_voltage_table(struct
return -EINVAL;
}
return -EINVAL;
return rdev->desc->volt_table[selector];
---
-2.32.0
-
drivers/regulator/core.c | 3 +++
1 file changed, 3 insertions(+)
-diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c
-index dfdd42b9d773..0b7a23cdbcac 100644
--- a/drivers/regulator/core.c
+++ b/drivers/regulator/core.c
-@@ -4063,6 +4063,9 @@ int regulator_set_voltage_time(struct regulator *regulator,
+@@ -4063,6 +4063,9 @@ int regulator_set_voltage_time(struct re
if (i < rdev->desc->linear_min_sel)
continue;
voltage = regulator_list_voltage(regulator, i);
if (voltage < 0)
return -EINVAL;
---
-2.32.0
-
drivers/regulator/helpers.c | 5 +++--
2 files changed, 9 insertions(+), 6 deletions(-)
-diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c
-index 0b7a23cdbcac..65ecf872b4e0 100644
--- a/drivers/regulator/core.c
+++ b/drivers/regulator/core.c
-@@ -2984,9 +2984,10 @@ static int _regulator_list_voltage(struct regulator_dev *rdev,
+@@ -2984,9 +2984,10 @@ static int _regulator_list_voltage(struc
return rdev->desc->fixed_uV;
if (ops->list_voltage) {
if (lock)
regulator_lock(rdev);
ret = ops->list_voltage(rdev, selector);
-@@ -3136,9 +3137,10 @@ int regulator_list_hardware_vsel(struct regulator *regulator,
+@@ -3136,9 +3137,10 @@ int regulator_list_hardware_vsel(struct
struct regulator_dev *rdev = regulator->rdev;
const struct regulator_ops *ops = rdev->desc->ops;
if (ops->set_voltage_sel != regulator_set_voltage_sel_regmap)
return -EOPNOTSUPP;
-diff --git a/drivers/regulator/helpers.c b/drivers/regulator/helpers.c
-index 974f1a63993d..f42b394a0c46 100644
--- a/drivers/regulator/helpers.c
+++ b/drivers/regulator/helpers.c
-@@ -647,9 +647,10 @@ int regulator_list_voltage_table(struct regulator_dev *rdev,
+@@ -647,9 +647,10 @@ int regulator_list_voltage_table(struct
return -EINVAL;
}
return rdev->desc->volt_table[selector];
}
---
-2.32.0
-
drivers/regulator/mcp16502.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/drivers/regulator/mcp16502.c b/drivers/regulator/mcp16502.c
-index 74ad92dc664a..88c6bd5b6c78 100644
--- a/drivers/regulator/mcp16502.c
+++ b/drivers/regulator/mcp16502.c
-@@ -550,7 +550,7 @@ static int mcp16502_probe(struct i2c_client *client,
+@@ -550,7 +550,7 @@ static int mcp16502_probe(struct i2c_cli
config.regmap = rmap;
config.driver_data = mcp;
if (IS_ERR(mcp->lpm)) {
dev_err(dev, "failed to get lpm pin: %ld\n", PTR_ERR(mcp->lpm));
return PTR_ERR(mcp->lpm);
---
-2.32.0
-
drivers/pinctrl/pinctrl-at91-pio4.c | 18 ++++++++++++++++--
1 file changed, 16 insertions(+), 2 deletions(-)
-diff --git a/drivers/pinctrl/pinctrl-at91-pio4.c b/drivers/pinctrl/pinctrl-at91-pio4.c
-index 578b387100d9..d267367d94b9 100644
--- a/drivers/pinctrl/pinctrl-at91-pio4.c
+++ b/drivers/pinctrl/pinctrl-at91-pio4.c
@@ -71,8 +71,15 @@
};
struct atmel_group {
-@@ -980,11 +987,13 @@ static const struct dev_pm_ops atmel_pctrl_pm_ops = {
+@@ -980,11 +987,13 @@ static const struct dev_pm_ops atmel_pct
* We can have up to 16 banks.
*/
static const struct atmel_pioctrl_data atmel_sama5d2_pioctrl_data = {
};
static const struct of_device_id atmel_pctrl_of_match[] = {
-@@ -1025,6 +1034,11 @@ static int atmel_pinctrl_probe(struct platform_device *pdev)
+@@ -1025,6 +1034,11 @@ static int atmel_pinctrl_probe(struct pl
atmel_pioctrl_data = match->data;
atmel_pioctrl->nbanks = atmel_pioctrl_data->nbanks;
atmel_pioctrl->npins = atmel_pioctrl->nbanks * ATMEL_PIO_NPINS_PER_BANK;
atmel_pioctrl->reg_base = devm_platform_ioremap_resource(pdev, 0);
if (IS_ERR(atmel_pioctrl->reg_base))
---
-2.32.0
-
drivers/dma/at_xdmac.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
-diff --git a/drivers/dma/at_xdmac.c b/drivers/dma/at_xdmac.c
-index 90afba0b36fe..85fe260ccd07 100644
--- a/drivers/dma/at_xdmac.c
+++ b/drivers/dma/at_xdmac.c
-@@ -865,7 +865,7 @@ at_xdmac_interleaved_queue_desc(struct dma_chan *chan,
+@@ -865,7 +865,7 @@ at_xdmac_interleaved_queue_desc(struct d
* match the one of another channel. If not, it could lead to spurious
* flag status.
*/
| AT_XDMAC_CC_DIF(0)
| AT_XDMAC_CC_SIF(0)
| AT_XDMAC_CC_MBSIZE_SIXTEEN
-@@ -1047,7 +1047,7 @@ at_xdmac_prep_dma_memcpy(struct dma_chan *chan, dma_addr_t dest, dma_addr_t src,
+@@ -1047,7 +1047,7 @@ at_xdmac_prep_dma_memcpy(struct dma_chan
* match the one of another channel. If not, it could lead to spurious
* flag status.
*/
| AT_XDMAC_CC_DAM_INCREMENTED_AM
| AT_XDMAC_CC_SAM_INCREMENTED_AM
| AT_XDMAC_CC_DIF(0)
-@@ -1153,7 +1153,7 @@ static struct at_xdmac_desc *at_xdmac_memset_create_desc(struct dma_chan *chan,
+@@ -1153,7 +1153,7 @@ static struct at_xdmac_desc *at_xdmac_me
* match the one of another channel. If not, it could lead to spurious
* flag status.
*/
| AT_XDMAC_CC_DAM_UBS_AM
| AT_XDMAC_CC_SAM_INCREMENTED_AM
| AT_XDMAC_CC_DIF(0)
---
-2.32.0
-
drivers/dma/at_xdmac.c | 110 +++++++++++++++++++++++++++++++----------
1 file changed, 84 insertions(+), 26 deletions(-)
-diff --git a/drivers/dma/at_xdmac.c b/drivers/dma/at_xdmac.c
-index 85fe260ccd07..2b096ea04018 100644
--- a/drivers/dma/at_xdmac.c
+++ b/drivers/dma/at_xdmac.c
@@ -38,13 +38,6 @@
}
#define at_xdmac_read(atxdmac, reg) readl_relaxed((atxdmac)->regs + (reg))
-@@ -343,8 +380,10 @@ static void at_xdmac_start_xfer(struct at_xdmac_chan *atchan,
+@@ -343,8 +380,10 @@ static void at_xdmac_start_xfer(struct a
first->active_xfer = true;
/* Tell xdmac where to get the first descriptor. */
at_xdmac_chan_write(atchan, AT_XDMAC_CNDA, reg);
/*
-@@ -539,6 +578,7 @@ static int at_xdmac_compute_chan_conf(struct dma_chan *chan,
+@@ -539,6 +578,7 @@ static int at_xdmac_compute_chan_conf(st
enum dma_transfer_direction direction)
{
struct at_xdmac_chan *atchan = to_at_xdmac_chan(chan);
int csize, dwidth;
if (direction == DMA_DEV_TO_MEM) {
-@@ -546,12 +586,14 @@ static int at_xdmac_compute_chan_conf(struct dma_chan *chan,
+@@ -546,12 +586,14 @@ static int at_xdmac_compute_chan_conf(st
AT91_XDMAC_DT_PERID(atchan->perid)
| AT_XDMAC_CC_DAM_INCREMENTED_AM
| AT_XDMAC_CC_SAM_FIXED_AM
csize = ffs(atchan->sconfig.src_maxburst) - 1;
if (csize < 0) {
dev_err(chan2dev(chan), "invalid src maxburst value\n");
-@@ -569,12 +611,14 @@ static int at_xdmac_compute_chan_conf(struct dma_chan *chan,
+@@ -569,12 +611,14 @@ static int at_xdmac_compute_chan_conf(st
AT91_XDMAC_DT_PERID(atchan->perid)
| AT_XDMAC_CC_DAM_FIXED_AM
| AT_XDMAC_CC_SAM_INCREMENTED_AM
csize = ffs(atchan->sconfig.dst_maxburst) - 1;
if (csize < 0) {
dev_err(chan2dev(chan), "invalid src maxburst value\n");
-@@ -864,10 +908,12 @@ at_xdmac_interleaved_queue_desc(struct dma_chan *chan,
+@@ -864,10 +908,12 @@ at_xdmac_interleaved_queue_desc(struct d
* ERRATA: Even if useless for memory transfers, the PERID has to not
* match the one of another channel. If not, it could lead to spurious
* flag status.
| AT_XDMAC_CC_MBSIZE_SIXTEEN
| AT_XDMAC_CC_TYPE_MEM_TRAN;
-@@ -1046,12 +1092,14 @@ at_xdmac_prep_dma_memcpy(struct dma_chan *chan, dma_addr_t dest, dma_addr_t src,
+@@ -1046,12 +1092,14 @@ at_xdmac_prep_dma_memcpy(struct dma_chan
* ERRATA: Even if useless for memory transfers, the PERID has to not
* match the one of another channel. If not, it could lead to spurious
* flag status.
| AT_XDMAC_CC_MBSIZE_SIXTEEN
| AT_XDMAC_CC_TYPE_MEM_TRAN;
unsigned long irqflags;
-@@ -1152,12 +1200,14 @@ static struct at_xdmac_desc *at_xdmac_memset_create_desc(struct dma_chan *chan,
+@@ -1152,12 +1200,14 @@ static struct at_xdmac_desc *at_xdmac_me
* ERRATA: Even if useless for memory transfers, the PERID has to not
* match the one of another channel. If not, it could lead to spurious
* flag status.
| AT_XDMAC_CC_MBSIZE_SIXTEEN
| AT_XDMAC_CC_MEMSET_HW_MODE
| AT_XDMAC_CC_TYPE_MEM_TRAN;
-@@ -1436,7 +1486,7 @@ at_xdmac_tx_status(struct dma_chan *chan, dma_cookie_t cookie,
+@@ -1436,7 +1486,7 @@ at_xdmac_tx_status(struct dma_chan *chan
mask = AT_XDMAC_CC_TYPE | AT_XDMAC_CC_DSYNC;
value = AT_XDMAC_CC_TYPE_PER_TRAN | AT_XDMAC_CC_DSYNC_PER2MEM;
if ((desc->lld.mbr_cfg & mask) == value) {
while (!(at_xdmac_chan_read(atchan, AT_XDMAC_CIS) & AT_XDMAC_CIS_FIS))
cpu_relax();
}
-@@ -1494,7 +1544,7 @@ at_xdmac_tx_status(struct dma_chan *chan, dma_cookie_t cookie,
+@@ -1494,7 +1544,7 @@ at_xdmac_tx_status(struct dma_chan *chan
* FIFO flush ensures that data are really written.
*/
if ((desc->lld.mbr_cfg & mask) == value) {
while (!(at_xdmac_chan_read(atchan, AT_XDMAC_CIS) & AT_XDMAC_CIS_FIS))
cpu_relax();
}
-@@ -1760,7 +1810,7 @@ static int at_xdmac_device_pause(struct dma_chan *chan)
+@@ -1760,7 +1810,7 @@ static int at_xdmac_device_pause(struct
return 0;
spin_lock_irqsave(&atchan->lock, flags);
while (at_xdmac_chan_read(atchan, AT_XDMAC_CC)
& (AT_XDMAC_CC_WRIP | AT_XDMAC_CC_RDIP))
cpu_relax();
-@@ -1783,7 +1833,7 @@ static int at_xdmac_device_resume(struct dma_chan *chan)
+@@ -1783,7 +1833,7 @@ static int at_xdmac_device_resume(struct
return 0;
}
clear_bit(AT_XDMAC_CHAN_IS_PAUSED, &atchan->status);
spin_unlock_irqrestore(&atchan->lock, flags);
-@@ -1985,6 +2035,10 @@ static int at_xdmac_probe(struct platform_device *pdev)
+@@ -1985,6 +2035,10 @@ static int at_xdmac_probe(struct platfor
atxdmac->regs = base;
atxdmac->irq = irq;
atxdmac->clk = devm_clk_get(&pdev->dev, "dma_clk");
if (IS_ERR(atxdmac->clk)) {
dev_err(&pdev->dev, "can't get dma_clk\n");
-@@ -2127,6 +2181,10 @@ static const struct dev_pm_ops atmel_xdmac_dev_pm_ops = {
+@@ -2127,6 +2181,10 @@ static const struct dev_pm_ops atmel_xdm
static const struct of_device_id atmel_xdmac_dt_ids[] = {
{
.compatible = "atmel,sama5d4-dma",
}, {
/* sentinel */
}
---
-2.32.0
-
drivers/dma/at_xdmac.c | 47 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 47 insertions(+)
-diff --git a/drivers/dma/at_xdmac.c b/drivers/dma/at_xdmac.c
-index 2b096ea04018..8ca86d09b255 100644
--- a/drivers/dma/at_xdmac.c
+++ b/drivers/dma/at_xdmac.c
@@ -30,7 +30,24 @@
};
/* ----- Channels ----- */
-@@ -268,6 +287,7 @@ static const struct at_xdmac_layout at_xdmac_sama5d4_layout = {
+@@ -268,6 +287,7 @@ static const struct at_xdmac_layout at_x
.gswf = 0x40,
.chan_cc_reg_base = 0x50,
.sdif = true,
};
static const struct at_xdmac_layout at_xdmac_sama7g5_layout = {
-@@ -280,6 +300,7 @@ static const struct at_xdmac_layout at_xdmac_sama7g5_layout = {
+@@ -280,6 +300,7 @@ static const struct at_xdmac_layout at_x
.gswf = 0x50,
.chan_cc_reg_base = 0x60,
.sdif = false,
};
static inline void __iomem *at_xdmac_chan_reg_base(struct at_xdmac *atxdmac, unsigned int chan_nb)
-@@ -1996,6 +2017,30 @@ static int atmel_xdmac_resume(struct device *dev)
+@@ -1996,6 +2017,30 @@ static int atmel_xdmac_resume(struct dev
}
#endif /* CONFIG_PM_SLEEP */
static int at_xdmac_probe(struct platform_device *pdev)
{
struct at_xdmac *atxdmac;
-@@ -2140,6 +2185,8 @@ static int at_xdmac_probe(struct platform_device *pdev)
+@@ -2140,6 +2185,8 @@ static int at_xdmac_probe(struct platfor
dev_info(&pdev->dev, "%d channels, mapped at 0x%p\n",
nr_channels, atxdmac->regs);
return 0;
err_dma_unregister:
---
-2.32.0
-
drivers/net/ethernet/cadence/macb_main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c
-index 4ce302e03735..d5bd640d3fa4 100644
--- a/drivers/net/ethernet/cadence/macb_main.c
+++ b/drivers/net/ethernet/cadence/macb_main.c
-@@ -464,7 +464,7 @@ static void macb_set_tx_clk(struct macb *bp, int speed)
+@@ -464,7 +464,7 @@ static void macb_set_tx_clk(struct macb
{
long ferr, rate, rate_rounded;
return;
switch (speed) {
---
-2.32.0
-
drivers/soc/atmel/soc.h | 3 +++
2 files changed, 9 insertions(+)
-diff --git a/drivers/soc/atmel/soc.c b/drivers/soc/atmel/soc.c
-index 5d06ee70a36b..698d21f50516 100644
--- a/drivers/soc/atmel/soc.c
+++ b/drivers/soc/atmel/soc.c
-@@ -69,6 +69,12 @@ static const struct at91_soc __initconst socs[] = {
+@@ -69,6 +69,12 @@ static const struct at91_soc __initconst
#endif
#ifdef CONFIG_SOC_SAM9X60
AT91_SOC(SAM9X60_CIDR_MATCH, SAM9X60_EXID_MATCH, "sam9x60", "sam9x60"),
#endif
#ifdef CONFIG_SOC_SAMA5
AT91_SOC(SAMA5D2_CIDR_MATCH, SAMA5D21CU_EXID_MATCH,
-diff --git a/drivers/soc/atmel/soc.h b/drivers/soc/atmel/soc.h
-index ee652e4841a5..5849846a69d6 100644
--- a/drivers/soc/atmel/soc.h
+++ b/drivers/soc/atmel/soc.h
-@@ -60,6 +60,9 @@ at91_soc_init(const struct at91_soc *socs);
+@@ -60,6 +60,9 @@ at91_soc_init(const struct at91_soc *soc
#define AT91SAM9CN11_EXID_MATCH 0x00000009
#define SAM9X60_EXID_MATCH 0x00000000
#define AT91SAM9XE128_CIDR_MATCH 0x329973a0
#define AT91SAM9XE256_CIDR_MATCH 0x329a93a0
---
-2.32.0
-
drivers/soc/atmel/soc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/drivers/soc/atmel/soc.c b/drivers/soc/atmel/soc.c
-index 698d21f50516..c3f920ee5c6f 100644
--- a/drivers/soc/atmel/soc.c
+++ b/drivers/soc/atmel/soc.c
@@ -27,7 +27,7 @@
static const struct at91_soc __initconst socs[] = {
#ifdef CONFIG_SOC_AT91RM9200
---
-2.32.0
-
drivers/soc/atmel/soc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/drivers/soc/atmel/soc.c b/drivers/soc/atmel/soc.c
-index c3f920ee5c6f..03f3c742716c 100644
--- a/drivers/soc/atmel/soc.c
+++ b/drivers/soc/atmel/soc.c
@@ -29,7 +29,7 @@
#ifdef CONFIG_SOC_AT91RM9200
AT91_SOC(AT91RM9200_CIDR_MATCH, 0, "at91rm9200 BGA", "at91rm9200"),
#endif
---
-2.32.0
-
drivers/soc/atmel/soc.h | 7 +-
2 files changed, 140 insertions(+), 66 deletions(-)
-diff --git a/drivers/soc/atmel/soc.c b/drivers/soc/atmel/soc.c
-index 03f3c742716c..f9052f45cb3e 100644
--- a/drivers/soc/atmel/soc.c
+++ b/drivers/soc/atmel/soc.c
@@ -25,135 +25,200 @@
"samv70q19", "samv7"),
#endif
{ /* sentinel */ },
-@@ -191,8 +256,12 @@ static int __init at91_get_cidr_exid_from_chipid(u32 *cidr, u32 *exid)
+@@ -191,8 +256,12 @@ static int __init at91_get_cidr_exid_fro
{
struct device_node *np;
void __iomem *regs;
if (!np)
return -ENODEV;
-@@ -235,7 +304,7 @@ struct soc_device * __init at91_soc_init(const struct at91_soc *socs)
+@@ -235,7 +304,7 @@ struct soc_device * __init at91_soc_init
}
for (soc = socs; soc->name; soc++) {
continue;
if (!(cidr & AT91_CIDR_EXT) || soc->exid_match == exid)
-@@ -254,7 +323,7 @@ struct soc_device * __init at91_soc_init(const struct at91_soc *socs)
+@@ -254,7 +323,7 @@ struct soc_device * __init at91_soc_init
soc_dev_attr->family = soc->family;
soc_dev_attr->soc_id = soc->name;
soc_dev_attr->revision = kasprintf(GFP_KERNEL, "%X",
soc_dev = soc_device_register(soc_dev_attr);
if (IS_ERR(soc_dev)) {
kfree(soc_dev_attr->revision);
-@@ -266,7 +335,7 @@ struct soc_device * __init at91_soc_init(const struct at91_soc *socs)
+@@ -266,7 +335,7 @@ struct soc_device * __init at91_soc_init
if (soc->family)
pr_info("Detected SoC family: %s\n", soc->family);
pr_info("Detected SoC: %s, revision %X\n", soc->name,
return soc_dev;
}
-diff --git a/drivers/soc/atmel/soc.h b/drivers/soc/atmel/soc.h
-index 5849846a69d6..02198a4de22b 100644
--- a/drivers/soc/atmel/soc.h
+++ b/drivers/soc/atmel/soc.h
@@ -16,14 +16,19 @@
.exid_match = (__exid), \
.name = (__name), \
.family = (__family), \
---
-2.32.0
-
drivers/soc/atmel/soc.h | 6 ++++++
2 files changed, 24 insertions(+)
-diff --git a/drivers/soc/atmel/soc.c b/drivers/soc/atmel/soc.c
-index f9052f45cb3e..bc8e72fd431a 100644
--- a/drivers/soc/atmel/soc.c
+++ b/drivers/soc/atmel/soc.c
@@ -27,8 +27,10 @@
static const struct at91_soc socs[] __initconst = {
#ifdef CONFIG_SOC_AT91RM9200
-@@ -220,6 +222,20 @@ static const struct at91_soc socs[] __initconst = {
- AT91_SOC(SAMV70Q19_CIDR_MATCH, AT91_CIDR_MATCH_MASK,
+@@ -221,6 +223,20 @@ static const struct at91_soc socs[] __in
AT91_CIDR_VERSION_MASK, SAMV70Q19_EXID_MATCH,
"samv70q19", "samv7"),
-+#endif
+ #endif
+#ifdef CONFIG_SOC_SAMA7
+ AT91_SOC(SAMA7G5_CIDR_MATCH, AT91_CIDR_MATCH_MASK,
+ AT91_CIDR_VERSION_MASK_SAMA7G5, SAMA7G51_EXID_MATCH,
+ AT91_SOC(SAMA7G5_CIDR_MATCH, AT91_CIDR_MATCH_MASK,
+ AT91_CIDR_VERSION_MASK_SAMA7G5, SAMA7G54_EXID_MATCH,
+ "sama7g54", "sama7g5"),
- #endif
++#endif
{ /* sentinel */ },
};
-@@ -258,6 +274,7 @@ static int __init at91_get_cidr_exid_from_chipid(u32 *cidr, u32 *exid)
+
+@@ -258,6 +274,7 @@ static int __init at91_get_cidr_exid_fro
void __iomem *regs;
static const struct of_device_id chipids[] = {
{ .compatible = "atmel,sama5d2-chipid" },
{ },
};
-@@ -345,6 +362,7 @@ static const struct of_device_id at91_soc_allowed_list[] __initconst = {
+@@ -345,6 +362,7 @@ static const struct of_device_id at91_so
{ .compatible = "atmel,at91sam9", },
{ .compatible = "atmel,sama5", },
{ .compatible = "atmel,samv7", },
{ }
};
-diff --git a/drivers/soc/atmel/soc.h b/drivers/soc/atmel/soc.h
-index 02198a4de22b..93c212533ff0 100644
--- a/drivers/soc/atmel/soc.h
+++ b/drivers/soc/atmel/soc.h
-@@ -48,6 +48,7 @@ at91_soc_init(const struct at91_soc *socs);
+@@ -48,6 +48,7 @@ at91_soc_init(const struct at91_soc *soc
#define AT91SAM9X5_CIDR_MATCH 0x019a05a0
#define AT91SAM9N12_CIDR_MATCH 0x019a07a0
#define SAM9X60_CIDR_MATCH 0x019b35a0
#define AT91SAM9M11_EXID_MATCH 0x00000001
#define AT91SAM9M10_EXID_MATCH 0x00000002
-@@ -69,6 +70,11 @@ at91_soc_init(const struct at91_soc *socs);
+@@ -69,6 +70,11 @@ at91_soc_init(const struct at91_soc *soc
#define SAM9X60_D1G_EXID_MATCH 0x00000010
#define SAM9X60_D6K_EXID_MATCH 0x00000011
#define AT91SAM9XE128_CIDR_MATCH 0x329973a0
#define AT91SAM9XE256_CIDR_MATCH 0x329a93a0
#define AT91SAM9XE512_CIDR_MATCH 0x329aa3a0
---
-2.32.0
-
drivers/soc/atmel/soc.h | 6 +-----
2 files changed, 2 insertions(+), 10 deletions(-)
-diff --git a/drivers/soc/atmel/soc.c b/drivers/soc/atmel/soc.c
-index bc8e72fd431a..a2967846809f 100644
--- a/drivers/soc/atmel/soc.c
+++ b/drivers/soc/atmel/soc.c
@@ -1,13 +1,9 @@
*/
#define pr_fmt(fmt) "AT91: " fmt
-diff --git a/drivers/soc/atmel/soc.h b/drivers/soc/atmel/soc.h
-index 93c212533ff0..c3eb3c8f0834 100644
--- a/drivers/soc/atmel/soc.h
+++ b/drivers/soc/atmel/soc.h
@@ -1,12 +1,8 @@
*/
#ifndef __AT91_SOC_H
---
-2.32.0
-
drivers/soc/atmel/soc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/drivers/soc/atmel/soc.c b/drivers/soc/atmel/soc.c
-index a2967846809f..a490ad7e090f 100644
--- a/drivers/soc/atmel/soc.c
+++ b/drivers/soc/atmel/soc.c
-@@ -191,7 +191,7 @@ static const struct at91_soc socs[] __initconst = {
+@@ -191,7 +191,7 @@ static const struct at91_soc socs[] __in
AT91_SOC(SAME70Q20_CIDR_MATCH, AT91_CIDR_MATCH_MASK,
AT91_CIDR_VERSION_MASK, SAME70Q20_EXID_MATCH,
"same70q20", "same7"),
AT91_CIDR_VERSION_MASK, SAME70Q19_EXID_MATCH,
"same70q19", "same7"),
AT91_SOC(SAMS70Q21_CIDR_MATCH, AT91_CIDR_MATCH_MASK,
---
-2.32.0
-
drivers/clocksource/timer-microchip-pit64b.c | 86 ++++++++++++++++----
1 file changed, 71 insertions(+), 15 deletions(-)
-diff --git a/drivers/clocksource/timer-microchip-pit64b.c b/drivers/clocksource/timer-microchip-pit64b.c
-index 59e11ca8ee73..ab623b25a47b 100644
--- a/drivers/clocksource/timer-microchip-pit64b.c
+++ b/drivers/clocksource/timer-microchip-pit64b.c
@@ -71,10 +71,24 @@ struct mchp_pit64b_clkevt {
/* Base address for clocksource timer. */
static void __iomem *mchp_pit64b_cs_base;
/* Default cycles for clockevent timer. */
-@@ -116,6 +130,36 @@ static inline void mchp_pit64b_reset(struct mchp_pit64b_timer *timer,
+@@ -116,6 +130,36 @@ static inline void mchp_pit64b_reset(str
writel_relaxed(MCHP_PIT64B_CR_START, timer->base + MCHP_PIT64B_CR);
}
static u64 mchp_pit64b_clksrc_read(struct clocksource *cs)
{
return mchp_pit64b_cnt_read(mchp_pit64b_cs_base);
-@@ -128,7 +172,7 @@ static u64 mchp_pit64b_sched_read_clk(void)
+@@ -128,7 +172,7 @@ static u64 mchp_pit64b_sched_read_clk(vo
static int mchp_pit64b_clkevt_shutdown(struct clock_event_device *cedev)
{
writel_relaxed(MCHP_PIT64B_CR_SWRST, timer->base + MCHP_PIT64B_CR);
-@@ -137,7 +181,7 @@ static int mchp_pit64b_clkevt_shutdown(struct clock_event_device *cedev)
+@@ -137,7 +181,7 @@ static int mchp_pit64b_clkevt_shutdown(s
static int mchp_pit64b_clkevt_set_periodic(struct clock_event_device *cedev)
{
mchp_pit64b_reset(timer, mchp_pit64b_ce_cycles, MCHP_PIT64B_MR_CONT,
MCHP_PIT64B_IER_PERIOD);
-@@ -148,7 +192,7 @@ static int mchp_pit64b_clkevt_set_periodic(struct clock_event_device *cedev)
+@@ -148,7 +192,7 @@ static int mchp_pit64b_clkevt_set_period
static int mchp_pit64b_clkevt_set_next_event(unsigned long evt,
struct clock_event_device *cedev)
{
mchp_pit64b_reset(timer, evt, MCHP_PIT64B_MR_ONE_SHOT,
MCHP_PIT64B_IER_PERIOD);
-@@ -158,21 +202,16 @@ static int mchp_pit64b_clkevt_set_next_event(unsigned long evt,
+@@ -158,21 +202,16 @@ static int mchp_pit64b_clkevt_set_next_e
static void mchp_pit64b_clkevt_suspend(struct clock_event_device *cedev)
{
}
static irqreturn_t mchp_pit64b_interrupt(int irq, void *dev_id)
-@@ -296,20 +335,37 @@ static int __init mchp_pit64b_init_mode(struct mchp_pit64b_timer *timer,
+@@ -296,20 +335,37 @@ done:
static int __init mchp_pit64b_init_clksrc(struct mchp_pit64b_timer *timer,
u32 clk_rate)
{
return ret;
}
---
-2.32.0
-
sound/soc/atmel/atmel-pcm-pdc.c | 78 ++-------------------------------
1 file changed, 4 insertions(+), 74 deletions(-)
-diff --git a/sound/soc/atmel/atmel-pcm-pdc.c b/sound/soc/atmel/atmel-pcm-pdc.c
-index 704f700013d3..3e7ea2021b46 100644
--- a/sound/soc/atmel/atmel-pcm-pdc.c
+++ b/sound/soc/atmel/atmel-pcm-pdc.c
@@ -34,86 +34,21 @@
}
/*--------------------------------------------------------------------------*\
-@@ -210,9 +145,6 @@ static int atmel_pcm_hw_params(struct snd_soc_component *component,
+@@ -210,9 +145,6 @@ static int atmel_pcm_hw_params(struct sn
/* this may get called several times by oss emulation
* with different params */
prtd->params = snd_soc_dai_get_dma_data(asoc_rtd_to_cpu(rtd, 0), substream);
prtd->params->dma_intr_handler = atmel_pcm_dma_irq;
-@@ -384,9 +316,7 @@ static const struct snd_soc_component_driver atmel_soc_platform = {
+@@ -384,9 +316,7 @@ static const struct snd_soc_component_dr
.prepare = atmel_pcm_prepare,
.trigger = atmel_pcm_trigger,
.pointer = atmel_pcm_pointer,
};
int atmel_pcm_pdc_platform_register(struct device *dev)
---
-2.32.0
-
drivers/power/reset/at91-sama5d2_shdwc.c | 72 ++++++++++++++++++------
1 file changed, 54 insertions(+), 18 deletions(-)
-diff --git a/drivers/power/reset/at91-sama5d2_shdwc.c b/drivers/power/reset/at91-sama5d2_shdwc.c
-index d9cf91e5b06d..125e592af445 100644
--- a/drivers/power/reset/at91-sama5d2_shdwc.c
+++ b/drivers/power/reset/at91-sama5d2_shdwc.c
@@ -78,9 +78,15 @@ struct pmc_reg_config {
};
struct shdwc {
-@@ -262,6 +268,10 @@ static const struct reg_config sama5d2_reg_config = {
+@@ -262,6 +268,10 @@ static const struct reg_config sama5d2_r
.pmc = {
.mckr = 0x30,
},
};
static const struct reg_config sam9x60_reg_config = {
-@@ -275,6 +285,23 @@ static const struct reg_config sam9x60_reg_config = {
+@@ -275,6 +285,23 @@ static const struct reg_config sam9x60_r
.pmc = {
.mckr = 0x28,
},
};
static const struct of_device_id at91_shdwc_of_match[] = {
-@@ -285,6 +312,10 @@ static const struct of_device_id at91_shdwc_of_match[] = {
+@@ -285,6 +312,10 @@ static const struct of_device_id at91_sh
{
.compatible = "microchip,sam9x60-shdwc",
.data = &sam9x60_reg_config,
}, {
/*sentinel*/
}
-@@ -294,6 +325,7 @@ MODULE_DEVICE_TABLE(of, at91_shdwc_of_match);
+@@ -294,6 +325,7 @@ MODULE_DEVICE_TABLE(of, at91_shdwc_of_ma
static const struct of_device_id at91_pmc_ids[] = {
{ .compatible = "atmel,sama5d2-pmc" },
{ .compatible = "microchip,sam9x60-pmc" },
{ /* Sentinel. */ }
};
-@@ -355,30 +387,34 @@ static int __init at91_shdwc_probe(struct platform_device *pdev)
+@@ -355,30 +387,34 @@ static int __init at91_shdwc_probe(struc
goto clk_disable;
}
return 0;
unmap:
---
-2.32.0
-
drivers/pinctrl/pinctrl-at91-pio4.c | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
-diff --git a/drivers/pinctrl/pinctrl-at91-pio4.c b/drivers/pinctrl/pinctrl-at91-pio4.c
-index d267367d94b9..f202cdb6dc3c 100644
--- a/drivers/pinctrl/pinctrl-at91-pio4.c
+++ b/drivers/pinctrl/pinctrl-at91-pio4.c
@@ -36,6 +36,7 @@
};
static const char * const atmel_functions[] = {
-@@ -760,6 +765,13 @@ static int atmel_conf_pin_config_group_get(struct pinctrl_dev *pctldev,
+@@ -760,6 +765,13 @@ static int atmel_conf_pin_config_group_g
return -EINVAL;
arg = 1;
break;
case ATMEL_PIN_CONFIG_DRIVE_STRENGTH:
if (!(res & ATMEL_PIO_DRVSTR_MASK))
return -EINVAL;
-@@ -793,6 +805,10 @@ static int atmel_conf_pin_config_group_set(struct pinctrl_dev *pctldev,
+@@ -793,6 +805,10 @@ static int atmel_conf_pin_config_group_s
dev_dbg(pctldev->dev, "%s: pin=%u, config=0x%lx\n",
__func__, pin_id, configs[i]);
switch (param) {
case PIN_CONFIG_BIAS_DISABLE:
conf &= (~ATMEL_PIO_PUEN_MASK);
-@@ -850,6 +866,13 @@ static int atmel_conf_pin_config_group_set(struct pinctrl_dev *pctldev,
+@@ -850,6 +866,13 @@ static int atmel_conf_pin_config_group_s
ATMEL_PIO_SODR);
}
break;
case ATMEL_PIN_CONFIG_DRIVE_STRENGTH:
switch (arg) {
case ATMEL_PIO_DRVSTR_LO:
-@@ -901,6 +924,8 @@ static void atmel_conf_pin_config_dbg_show(struct pinctrl_dev *pctldev,
+@@ -901,6 +924,8 @@ static void atmel_conf_pin_config_dbg_sh
seq_printf(s, "%s ", "open-drain");
if (conf & ATMEL_PIO_SCHMITT_MASK)
seq_printf(s, "%s ", "schmitt");
if (conf & ATMEL_PIO_DRVSTR_MASK) {
switch ((conf & ATMEL_PIO_DRVSTR_MASK) >> ATMEL_PIO_DRVSTR_OFFSET) {
case ATMEL_PIO_DRVSTR_ME:
-@@ -994,6 +1019,7 @@ static const struct atmel_pioctrl_data atmel_sama5d2_pioctrl_data = {
+@@ -994,6 +1019,7 @@ static const struct atmel_pioctrl_data a
static const struct atmel_pioctrl_data microchip_sama7g5_pioctrl_data = {
.nbanks = 5,
.last_bank_count = 8, /* sama7g5 has only PE0 to PE7 */
};
static const struct of_device_id atmel_pctrl_of_match[] = {
-@@ -1039,6 +1065,7 @@ static int atmel_pinctrl_probe(struct platform_device *pdev)
+@@ -1039,6 +1065,7 @@ static int atmel_pinctrl_probe(struct pl
atmel_pioctrl->npins -= ATMEL_PIO_NPINS_PER_BANK;
atmel_pioctrl->npins += atmel_pioctrl_data->last_bank_count;
}
atmel_pioctrl->reg_base = devm_platform_ioremap_resource(pdev, 0);
if (IS_ERR(atmel_pioctrl->reg_base))
---
-2.32.0
-
drivers/pinctrl/pinctrl-at91-pio4.c | 110 ++++++++++++++--------------
1 file changed, 57 insertions(+), 53 deletions(-)
-diff --git a/drivers/pinctrl/pinctrl-at91-pio4.c b/drivers/pinctrl/pinctrl-at91-pio4.c
-index f202cdb6dc3c..a5d328808e4c 100644
--- a/drivers/pinctrl/pinctrl-at91-pio4.c
+++ b/drivers/pinctrl/pinctrl-at91-pio4.c
@@ -80,8 +80,8 @@
struct {
u32 imr;
u32 odsr;
-@@ -177,11 +177,11 @@ static void atmel_gpio_irq_ack(struct irq_data *d)
+@@ -177,11 +177,11 @@ static void atmel_gpio_irq_ack(struct ir
*/
}
atmel_gpio_write(atmel_pioctrl, pin->bank, ATMEL_PIO_MSKR,
BIT(pin->line));
-@@ -268,7 +268,7 @@ static struct irq_chip atmel_gpio_irq_chip = {
+@@ -268,7 +268,7 @@ static struct irq_chip atmel_gpio_irq_ch
.irq_set_wake = atmel_gpio_irq_set_wake,
};
{
struct atmel_pioctrl *atmel_pioctrl = gpiochip_get_data(chip);
-@@ -316,11 +316,12 @@ static void atmel_gpio_irq_handler(struct irq_desc *desc)
+@@ -316,11 +316,12 @@ static void atmel_gpio_irq_handler(struc
chained_irq_exit(chip, desc);
}
atmel_gpio_write(atmel_pioctrl, pin->bank, ATMEL_PIO_MSKR,
BIT(pin->line));
-@@ -331,11 +332,11 @@ static int atmel_gpio_direction_input(struct gpio_chip *chip, unsigned offset)
+@@ -331,11 +332,11 @@ static int atmel_gpio_direction_input(st
return 0;
}
reg = atmel_gpio_read(atmel_pioctrl, pin->bank, ATMEL_PIO_PDSR);
-@@ -369,12 +370,13 @@ static int atmel_gpio_get_multiple(struct gpio_chip *chip, unsigned long *mask,
+@@ -369,12 +370,13 @@ static int atmel_gpio_get_multiple(struc
return 0;
}
atmel_gpio_write(atmel_pioctrl, pin->bank,
value ? ATMEL_PIO_SODR : ATMEL_PIO_CODR,
-@@ -389,7 +391,7 @@ static int atmel_gpio_direction_output(struct gpio_chip *chip, unsigned offset,
+@@ -389,7 +391,7 @@ static int atmel_gpio_direction_output(s
return 0;
}
{
struct atmel_pioctrl *atmel_pioctrl = gpiochip_get_data(chip);
struct atmel_pin *pin = atmel_pioctrl->pins[offset];
-@@ -445,11 +447,11 @@ static struct gpio_chip atmel_gpio_chip = {
+@@ -445,11 +447,11 @@ static struct gpio_chip atmel_gpio_chip
/* --- PINCTRL --- */
static unsigned int atmel_pin_config_read(struct pinctrl_dev *pctldev,
void __iomem *addr = atmel_pioctrl->reg_base
+ bank * ATMEL_PIO_BANK_OFFSET;
-@@ -461,11 +463,11 @@ static unsigned int atmel_pin_config_read(struct pinctrl_dev *pctldev,
+@@ -461,11 +463,11 @@ static unsigned int atmel_pin_config_rea
}
static void atmel_pin_config_write(struct pinctrl_dev *pctldev,
void __iomem *addr = atmel_pioctrl->reg_base
+ bank * ATMEL_PIO_BANK_OFFSET;
-@@ -483,7 +485,7 @@ static int atmel_pctl_get_groups_count(struct pinctrl_dev *pctldev)
+@@ -483,7 +485,7 @@ static int atmel_pctl_get_groups_count(s
}
static const char *atmel_pctl_get_group_name(struct pinctrl_dev *pctldev,
{
struct atmel_pioctrl *atmel_pioctrl = pinctrl_dev_get_drvdata(pctldev);
-@@ -491,19 +493,20 @@ static const char *atmel_pctl_get_group_name(struct pinctrl_dev *pctldev,
+@@ -491,19 +493,20 @@ static const char *atmel_pctl_get_group_
}
static int atmel_pctl_get_group_pins(struct pinctrl_dev *pctldev,
{
struct atmel_pioctrl *atmel_pioctrl = pinctrl_dev_get_drvdata(pctldev);
int i;
-@@ -524,7 +527,7 @@ static int atmel_pctl_xlate_pinfunc(struct pinctrl_dev *pctldev,
+@@ -524,7 +527,7 @@ static int atmel_pctl_xlate_pinfunc(stru
const char **func_name)
{
struct atmel_pioctrl *atmel_pioctrl = pinctrl_dev_get_drvdata(pctldev);
struct atmel_group *grp;
pin_id = ATMEL_GET_PIN_NO(pinfunc);
-@@ -554,10 +557,10 @@ static int atmel_pctl_xlate_pinfunc(struct pinctrl_dev *pctldev,
+@@ -554,10 +557,10 @@ static int atmel_pctl_xlate_pinfunc(stru
static int atmel_pctl_dt_subnode_to_map(struct pinctrl_dev *pctldev,
struct device_node *np,
struct pinctrl_map **map,
unsigned long *configs;
struct property *pins;
u32 pinfunc;
-@@ -628,10 +631,10 @@ static int atmel_pctl_dt_subnode_to_map(struct pinctrl_dev *pctldev,
+@@ -628,10 +631,10 @@ exit:
static int atmel_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
struct device_node *np_config,
struct pinctrl_map **map,
int ret;
*map = NULL;
-@@ -679,13 +682,13 @@ static int atmel_pmx_get_functions_count(struct pinctrl_dev *pctldev)
+@@ -679,13 +682,13 @@ static int atmel_pmx_get_functions_count
}
static const char *atmel_pmx_get_function_name(struct pinctrl_dev *pctldev,
const char * const **groups,
unsigned * const num_groups)
{
-@@ -698,11 +701,11 @@ static int atmel_pmx_get_function_groups(struct pinctrl_dev *pctldev,
+@@ -698,11 +701,11 @@ static int atmel_pmx_get_function_groups
}
static int atmel_pmx_set_mux(struct pinctrl_dev *pctldev,
u32 conf;
dev_dbg(pctldev->dev, "enable function %s group %s\n",
-@@ -726,13 +729,13 @@ static const struct pinmux_ops atmel_pmxops = {
+@@ -726,13 +729,13 @@ static const struct pinmux_ops atmel_pmx
};
static int atmel_conf_pin_config_group_get(struct pinctrl_dev *pctldev,
u32 res;
res = atmel_pin_config_read(pctldev, pin_id);
-@@ -786,21 +789,21 @@ static int atmel_conf_pin_config_group_get(struct pinctrl_dev *pctldev,
+@@ -786,21 +789,21 @@ static int atmel_conf_pin_config_group_g
}
static int atmel_conf_pin_config_group_set(struct pinctrl_dev *pctldev,
dev_dbg(pctldev->dev, "%s: pin=%u, config=0x%lx\n",
__func__, pin_id, configs[i]);
-@@ -900,7 +903,8 @@ static int atmel_conf_pin_config_group_set(struct pinctrl_dev *pctldev,
+@@ -900,7 +903,8 @@ static int atmel_conf_pin_config_group_s
}
static void atmel_conf_pin_config_dbg_show(struct pinctrl_dev *pctldev,
{
struct atmel_pioctrl *atmel_pioctrl = pinctrl_dev_get_drvdata(pctldev);
u32 conf;
-@@ -1108,8 +1112,8 @@ static int atmel_pinctrl_probe(struct platform_device *pdev)
+@@ -1108,8 +1112,8 @@ static int atmel_pinctrl_probe(struct pl
return -ENOMEM;
for (i = 0 ; i < atmel_pioctrl->npins; i++) {
struct atmel_group *group = atmel_pioctrl->groups + i;
atmel_pioctrl->pins[i] = devm_kzalloc(dev,
sizeof(**atmel_pioctrl->pins), GFP_KERNEL);
---
-2.32.0
-
drivers/net/ethernet/cadence/macb_main.c | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
-diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c
-index d5bd640d3fa4..a8d266d72779 100644
--- a/drivers/net/ethernet/cadence/macb_main.c
+++ b/drivers/net/ethernet/cadence/macb_main.c
-@@ -3837,6 +3837,13 @@ static int macb_init(struct platform_device *pdev)
+@@ -3837,6 +3837,13 @@ static int macb_init(struct platform_dev
return 0;
}
#if defined(CONFIG_OF)
/* 1518 rounded up */
#define AT91ETHER_MAX_RBUFF_SZ 0x600
-@@ -4352,13 +4359,6 @@ static int fu540_c000_init(struct platform_device *pdev)
+@@ -4352,13 +4359,6 @@ static int fu540_c000_init(struct platfo
return macb_init(pdev);
}
static const struct macb_usrio_config sama7g5_usrio = {
.mii = 0,
.rmii = 1,
-@@ -4507,6 +4507,7 @@ static const struct macb_config default_gem_config = {
+@@ -4507,6 +4507,7 @@ static const struct macb_config default_
.dma_burst_length = 16,
.clk_init = macb_clk_init,
.init = macb_init,
.jumbo_max_len = 10240,
};
---
-2.32.0
-
3 files changed, 26 insertions(+), 11 deletions(-)
create mode 100644 include/soc/at91/pm.h
-diff --git a/arch/arm/mach-at91/pm.c b/arch/arm/mach-at91/pm.c
-index 3f015cb6ec2b..2dee383f9050 100644
--- a/arch/arm/mach-at91/pm.c
+++ b/arch/arm/mach-at91/pm.c
@@ -17,6 +17,8 @@
struct at91_soc_pm {
int (*config_shdwc_ws)(void __iomem *shdwc, u32 *mode, u32 *polarity);
int (*config_pmc_ws)(void __iomem *pmc, u32 mode, u32 polarity);
-@@ -326,6 +317,12 @@ static void at91_pm_suspend(suspend_state_t state)
+@@ -326,6 +317,12 @@ static void at91_pm_suspend(suspend_stat
static int at91_pm_enter(suspend_state_t state)
{
#ifdef CONFIG_PINCTRL_AT91
at91_pinctrl_gpio_suspend();
#endif
-diff --git a/drivers/pinctrl/pinctrl-at91.c b/drivers/pinctrl/pinctrl-at91.c
-index 9015486e38c1..dcbb71fa1b2b 100644
--- a/drivers/pinctrl/pinctrl-at91.c
+++ b/drivers/pinctrl/pinctrl-at91.c
@@ -23,6 +23,8 @@
#include "pinctrl-at91.h"
#include "core.h"
-diff --git a/include/soc/at91/pm.h b/include/soc/at91/pm.h
-new file mode 100644
-index 000000000000..7a41e53a3ffa
--- /dev/null
+++ b/include/soc/at91/pm.h
@@ -0,0 +1,16 @@
+void at91_pinctrl_gpio_resume(void);
+
+#endif /* __SOC_ATMEL_PM_H */
---
-2.32.0
-
sound/soc/atmel/mchp-i2s-mcc.c | 3 +++
2 files changed, 6 insertions(+)
-diff --git a/sound/soc/atmel/Kconfig b/sound/soc/atmel/Kconfig
-index 89210048e6c2..802962935df0 100644
--- a/sound/soc/atmel/Kconfig
+++ b/sound/soc/atmel/Kconfig
@@ -126,10 +126,13 @@ config SND_MCHP_SOC_I2S_MCC
config SND_MCHP_SOC_SPDIFTX
tristate "Microchip ASoC driver for boards using S/PDIF TX"
-diff --git a/sound/soc/atmel/mchp-i2s-mcc.c b/sound/soc/atmel/mchp-i2s-mcc.c
-index 04acc18f2d72..6a754cef9607 100644
--- a/sound/soc/atmel/mchp-i2s-mcc.c
+++ b/sound/soc/atmel/mchp-i2s-mcc.c
-@@ -873,6 +873,9 @@ static const struct of_device_id mchp_i2s_mcc_dt_ids[] = {
+@@ -873,6 +873,9 @@ static const struct of_device_id mchp_i2
{
.compatible = "microchip,sam9x60-i2smcc",
},
{ /* sentinel */ }
};
MODULE_DEVICE_TABLE(of, mchp_i2s_mcc_dt_ids);
---
-2.32.0
-
sound/soc/atmel/mchp-i2s-mcc.c | 38 ++++++++++++++++++++++++++++++++++
1 file changed, 38 insertions(+)
-diff --git a/sound/soc/atmel/mchp-i2s-mcc.c b/sound/soc/atmel/mchp-i2s-mcc.c
-index 6a754cef9607..dca4fd1e2dfd 100644
--- a/sound/soc/atmel/mchp-i2s-mcc.c
+++ b/sound/soc/atmel/mchp-i2s-mcc.c
@@ -16,6 +16,7 @@
#include <sound/core.h>
#include <sound/pcm.h>
-@@ -225,6 +226,10 @@ static const struct regmap_config mchp_i2s_mcc_regmap_config = {
+@@ -225,6 +226,10 @@ static const struct regmap_config mchp_i
.max_register = MCHP_I2SMCC_VERSION,
};
struct snd_dmaengine_dai_dma_data playback;
struct snd_dmaengine_dai_dma_data capture;
unsigned int fmt;
-@@ -549,6 +555,17 @@ static int mchp_i2s_mcc_hw_params(struct snd_pcm_substream *substream,
+@@ -549,6 +555,17 @@ static int mchp_i2s_mcc_hw_params(struct
}
if (dev->fmt & (SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_LEFT_J)) {
switch (channels) {
case 1:
if (is_playback)
-@@ -558,6 +575,12 @@ static int mchp_i2s_mcc_hw_params(struct snd_pcm_substream *substream,
+@@ -558,6 +575,12 @@ static int mchp_i2s_mcc_hw_params(struct
break;
case 2:
break;
default:
dev_err(dev->dev, "unsupported number of audio channels\n");
return -EINVAL;
-@@ -869,12 +892,22 @@ static const struct snd_soc_component_driver mchp_i2s_mcc_component = {
+@@ -869,12 +892,22 @@ static const struct snd_soc_component_dr
};
#ifdef CONFIG_OF
},
{ /* sentinel */ }
};
-@@ -932,6 +965,11 @@ static int mchp_i2s_mcc_probe(struct platform_device *pdev)
+@@ -932,6 +965,11 @@ static int mchp_i2s_mcc_probe(struct pla
dev->gclk = NULL;
}
dev->dev = &pdev->dev;
dev->regmap = regmap;
platform_set_drvdata(pdev, dev);
---
-2.32.0
-
sound/soc/atmel/mchp-i2s-mcc.c | 52 +++++++++++++++++++++++++++++++---
1 file changed, 48 insertions(+), 4 deletions(-)
-diff --git a/sound/soc/atmel/mchp-i2s-mcc.c b/sound/soc/atmel/mchp-i2s-mcc.c
-index dca4fd1e2dfd..0818fa864f0e 100644
--- a/sound/soc/atmel/mchp-i2s-mcc.c
+++ b/sound/soc/atmel/mchp-i2s-mcc.c
@@ -100,6 +100,8 @@
unsigned int gclk_use:1;
unsigned int gclk_running:1;
unsigned int tx_rdy:1;
-@@ -589,6 +592,8 @@ static int mchp_i2s_mcc_hw_params(struct snd_pcm_substream *substream,
+@@ -589,6 +592,8 @@ static int mchp_i2s_mcc_hw_params(struct
if (!frame_length)
frame_length = 2 * params_physical_width(params);
} else if (dev->fmt & SND_SOC_DAIFMT_DSP_A) {
if (dev->tdm_slots) {
if (channels % 2 && channels * 2 <= dev->tdm_slots) {
/*
-@@ -914,6 +919,45 @@ static const struct of_device_id mchp_i2s_mcc_dt_ids[] = {
+@@ -914,6 +919,45 @@ static const struct of_device_id mchp_i2
MODULE_DEVICE_TABLE(of, mchp_i2s_mcc_dt_ids);
#endif
static int mchp_i2s_mcc_probe(struct platform_device *pdev)
{
struct mchp_i2s_mcc_dev *dev;
-@@ -966,10 +1010,10 @@ static int mchp_i2s_mcc_probe(struct platform_device *pdev)
+@@ -966,10 +1010,10 @@ static int mchp_i2s_mcc_probe(struct pla
}
dev->soc = of_device_get_match_data(&pdev->dev);
dev->dev = &pdev->dev;
dev->regmap = regmap;
platform_set_drvdata(pdev, dev);
---
-2.32.0
-
sound/soc/atmel/mchp-i2s-mcc.c | 76 +++++++++++++++++++++++++---------
1 file changed, 56 insertions(+), 20 deletions(-)
-diff --git a/sound/soc/atmel/mchp-i2s-mcc.c b/sound/soc/atmel/mchp-i2s-mcc.c
-index 0818fa864f0e..188484e84f94 100644
--- a/sound/soc/atmel/mchp-i2s-mcc.c
+++ b/sound/soc/atmel/mchp-i2s-mcc.c
@@ -176,7 +176,7 @@
#define MCHP_I2SMCC_MRB_DMACHUNK_MASK GENMASK(9, 8)
#define MCHP_I2SMCC_MRB_DMACHUNK(no_words) \
-@@ -230,6 +230,7 @@ static const struct regmap_config mchp_i2s_mcc_regmap_config = {
+@@ -230,6 +230,7 @@ static const struct regmap_config mchp_i
struct mchp_i2s_mcc_soc_data {
unsigned int data_pin_pair_num;
irqreturn_t ret = IRQ_NONE;
regmap_read(dev->regmap, MCHP_I2SMCC_IMRA, &imra);
-@@ -275,24 +276,36 @@ static irqreturn_t mchp_i2s_mcc_interrupt(int irq, void *dev_id)
+@@ -275,24 +276,36 @@ static irqreturn_t mchp_i2s_mcc_interrup
* Tx/Rx ready interrupts are enabled when stopping only, to assure
* availability and to disable clocks if necessary
*/
return ret;
}
-@@ -664,6 +677,10 @@ static int mchp_i2s_mcc_hw_params(struct snd_pcm_substream *substream,
+@@ -664,6 +677,10 @@ static int mchp_i2s_mcc_hw_params(struct
}
}
/*
* If we are already running, the wanted setup must be
* the same with the one that's currently ongoing
-@@ -726,8 +743,13 @@ static int mchp_i2s_mcc_hw_free(struct snd_pcm_substream *substream,
+@@ -726,8 +743,13 @@ static int mchp_i2s_mcc_hw_free(struct s
if (err == 0) {
dev_warn_once(dev->dev,
"Timeout waiting for Tx ready\n");
dev->tx_rdy = 1;
}
} else {
-@@ -737,8 +759,12 @@ static int mchp_i2s_mcc_hw_free(struct snd_pcm_substream *substream,
+@@ -737,8 +759,12 @@ static int mchp_i2s_mcc_hw_free(struct s
if (err == 0) {
dev_warn_once(dev->dev,
"Timeout waiting for Rx ready\n");
dev->rx_rdy = 1;
}
}
-@@ -765,7 +791,7 @@ static int mchp_i2s_mcc_trigger(struct snd_pcm_substream *substream, int cmd,
+@@ -765,7 +791,7 @@ static int mchp_i2s_mcc_trigger(struct s
struct mchp_i2s_mcc_dev *dev = snd_soc_dai_get_drvdata(dai);
bool is_playback = (substream->stream == SNDRV_PCM_STREAM_PLAYBACK);
u32 cr = 0;
u32 sr;
int err;
-@@ -789,7 +815,10 @@ static int mchp_i2s_mcc_trigger(struct snd_pcm_substream *substream, int cmd,
+@@ -789,7 +815,10 @@ static int mchp_i2s_mcc_trigger(struct s
* Enable Tx Ready interrupts on all channels
* to assure all data is sent
*/
} else if (!is_playback && (sr & MCHP_I2SMCC_SR_RXEN)) {
cr = MCHP_I2SMCC_CR_RXDIS;
dev->rx_rdy = 0;
-@@ -797,7 +826,10 @@ static int mchp_i2s_mcc_trigger(struct snd_pcm_substream *substream, int cmd,
+@@ -797,7 +826,10 @@ static int mchp_i2s_mcc_trigger(struct s
* Enable Rx Ready interrupts on all channels
* to assure all data is received
*/
}
break;
default:
-@@ -815,7 +847,10 @@ static int mchp_i2s_mcc_trigger(struct snd_pcm_substream *substream, int cmd,
+@@ -815,7 +847,10 @@ static int mchp_i2s_mcc_trigger(struct s
}
}
regmap_write(dev->regmap, MCHP_I2SMCC_CR, cr);
return 0;
-@@ -903,6 +938,7 @@ static struct mchp_i2s_mcc_soc_data mchp_i2s_mcc_sam9x60 = {
+@@ -903,6 +938,7 @@ static struct mchp_i2s_mcc_soc_data mchp
static struct mchp_i2s_mcc_soc_data mchp_i2s_mcc_sama7g5 = {
.data_pin_pair_num = 4,
};
static const struct of_device_id mchp_i2s_mcc_dt_ids[] = {
---
-2.32.0
-
drivers/pinctrl/pinctrl-at91-pio4.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
-diff --git a/drivers/pinctrl/pinctrl-at91-pio4.c b/drivers/pinctrl/pinctrl-at91-pio4.c
-index a5d328808e4c..4c01d8471ffa 100644
--- a/drivers/pinctrl/pinctrl-at91-pio4.c
+++ b/drivers/pinctrl/pinctrl-at91-pio4.c
-@@ -801,6 +801,10 @@ static int atmel_conf_pin_config_group_set(struct pinctrl_dev *pctldev,
+@@ -801,6 +801,10 @@ static int atmel_conf_pin_config_group_s
conf = atmel_pin_config_read(pctldev, pin_id);
for (i = 0; i < num_configs; i++) {
unsigned int param = pinconf_to_config_param(configs[i]);
unsigned int arg = pinconf_to_config_argument(configs[i]);
-@@ -808,10 +812,6 @@ static int atmel_conf_pin_config_group_set(struct pinctrl_dev *pctldev,
+@@ -808,10 +812,6 @@ static int atmel_conf_pin_config_group_s
dev_dbg(pctldev->dev, "%s: pin=%u, config=0x%lx\n",
__func__, pin_id, configs[i]);
switch (param) {
case PIN_CONFIG_BIAS_DISABLE:
conf &= (~ATMEL_PIO_PUEN_MASK);
---
-2.32.0
-
drivers/media/platform/atmel/atmel-isi.c | 19 +++++++++---
2 files changed, 38 insertions(+), 11 deletions(-)
-diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c
-index fe3ec8d0eaee..ce8e1351fa53 100644
--- a/drivers/media/platform/atmel/atmel-isc-base.c
+++ b/drivers/media/platform/atmel/atmel-isc-base.c
-@@ -294,9 +294,13 @@ static int isc_wait_clk_stable(struct clk_hw *hw)
+@@ -294,9 +294,13 @@ static int isc_wait_clk_stable(struct cl
static int isc_clk_prepare(struct clk_hw *hw)
{
struct isc_clk *isc_clk = to_isc_clk(hw);
return isc_wait_clk_stable(hw);
}
-@@ -353,9 +357,13 @@ static int isc_clk_is_enabled(struct clk_hw *hw)
+@@ -353,9 +357,13 @@ static int isc_clk_is_enabled(struct clk
{
struct isc_clk *isc_clk = to_isc_clk(hw);
u32 status;
regmap_read(isc_clk->regmap, ISC_CLKSR, &status);
-@@ -807,7 +815,12 @@ static int isc_start_streaming(struct vb2_queue *vq, unsigned int count)
+@@ -807,7 +815,12 @@ static int isc_start_streaming(struct vb
goto err_start_stream;
}
ret = isc_configure(isc);
if (unlikely(ret))
-@@ -838,7 +851,7 @@ static int isc_start_streaming(struct vb2_queue *vq, unsigned int count)
+@@ -838,7 +851,7 @@ static int isc_start_streaming(struct vb
err_configure:
pm_runtime_put_sync(isc->dev);
v4l2_subdev_call(isc->current_subdev->sd, video, s_stream, 0);
err_start_stream:
-@@ -1809,6 +1822,7 @@ static void isc_awb_work(struct work_struct *w)
+@@ -1809,6 +1822,7 @@ static void isc_awb_work(struct work_str
u32 baysel;
unsigned long flags;
u32 min, max;
/* streaming is not active anymore */
if (isc->stop)
-@@ -1831,7 +1845,9 @@ static void isc_awb_work(struct work_struct *w)
+@@ -1831,7 +1845,9 @@ static void isc_awb_work(struct work_str
ctrls->hist_id = hist_id;
baysel = isc->config.sd_format->cfa_baycfg << ISC_HIS_CFG_BAYSEL_SHIFT;
/*
* only update if we have all the required histograms and controls
-diff --git a/drivers/media/platform/atmel/atmel-isi.c b/drivers/media/platform/atmel/atmel-isi.c
-index d74aa73f26be..4ac5b7c19d0c 100644
--- a/drivers/media/platform/atmel/atmel-isi.c
+++ b/drivers/media/platform/atmel/atmel-isi.c
-@@ -423,7 +423,9 @@ static int start_streaming(struct vb2_queue *vq, unsigned int count)
+@@ -423,7 +423,9 @@ static int start_streaming(struct vb2_qu
struct frame_buffer *buf, *node;
int ret;
/* Enable stream on the sub device */
ret = v4l2_subdev_call(isi->entity.subdev, video, s_stream, 1);
-@@ -783,9 +785,10 @@ static int isi_enum_frameintervals(struct file *file, void *fh,
+@@ -783,9 +785,10 @@ static int isi_enum_frameintervals(struc
return 0;
}
/* set bus param for ISI */
if (isi->pdata.hsync_act_low)
-@@ -802,12 +805,16 @@ static void isi_camera_set_bus_param(struct atmel_isi *isi)
+@@ -802,12 +805,16 @@ static void isi_camera_set_bus_param(str
cfg1 |= ISI_CFG1_THMASK_BEATS_16;
/* Enable PM and peripheral clock before operate isi registers */
}
/* -----------------------------------------------------------------------*/
-@@ -1086,7 +1093,11 @@ static int isi_graph_notify_complete(struct v4l2_async_notifier *notifier)
+@@ -1086,7 +1093,11 @@ static int isi_graph_notify_complete(str
dev_err(isi->dev, "No supported mediabus format found\n");
return ret;
}
ret = isi_set_default_fmt(isi);
if (ret) {
---
-2.32.0
-
drivers/media/platform/atmel/atmel-isc-base.c | 1 -
1 file changed, 1 deletion(-)
-diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c
-index ce8e1351fa53..a017572c870c 100644
--- a/drivers/media/platform/atmel/atmel-isc-base.c
+++ b/drivers/media/platform/atmel/atmel-isc-base.c
-@@ -972,7 +972,6 @@ static int isc_enum_fmt_vid_cap(struct file *file, void *priv,
+@@ -972,7 +972,6 @@ static int isc_enum_fmt_vid_cap(struct f
index -= ARRAY_SIZE(controller_formats);
supported_index = 0;
for (i = 0; i < ARRAY_SIZE(formats_list); i++) {
---
-2.32.0
-
.../media/platform/atmel/atmel-sama5d2-isc.c | 45 ++++++++++++++++++
3 files changed, 56 insertions(+), 47 deletions(-)
-diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c
-index a017572c870c..46d384332a58 100644
--- a/drivers/media/platform/atmel/atmel-isc-base.c
+++ b/drivers/media/platform/atmel/atmel-isc-base.c
@@ -176,48 +176,6 @@ struct isc_format formats_list[] = {
#define ISC_IS_FORMAT_RAW(mbus_code) \
(((mbus_code) & 0xf000) == 0x3000)
-@@ -691,7 +649,7 @@ static void isc_set_pipeline(struct isc_device *isc, u32 pipeline)
+@@ -691,7 +649,7 @@ static void isc_set_pipeline(struct isc_
regmap_write(regmap, ISC_CFA_CFG, bay_cfg | ISC_CFA_CFG_EITPOL);
regmap_bulk_write(regmap, ISC_GAM_BENTRY, gamma, GAMMA_ENTRIES);
regmap_bulk_write(regmap, ISC_GAM_GENTRY, gamma, GAMMA_ENTRIES);
regmap_bulk_write(regmap, ISC_GAM_RENTRY, gamma, GAMMA_ENTRIES);
-@@ -2085,7 +2043,8 @@ static int isc_ctrl_init(struct isc_device *isc)
+@@ -2085,7 +2043,8 @@ static int isc_ctrl_init(struct isc_devi
v4l2_ctrl_new_std(hdl, ops, V4L2_CID_BRIGHTNESS, -1024, 1023, 1, 0);
v4l2_ctrl_new_std(hdl, ops, V4L2_CID_CONTRAST, -2048, 2047, 1, 256);
isc->awb_ctrl = v4l2_ctrl_new_std(hdl, &isc_awb_ops,
V4L2_CID_AUTO_WHITE_BALANCE,
0, 1, 1, 1);
-diff --git a/drivers/media/platform/atmel/atmel-isc.h b/drivers/media/platform/atmel/atmel-isc.h
-index 24b784b893d6..a85b99274e34 100644
--- a/drivers/media/platform/atmel/atmel-isc.h
+++ b/drivers/media/platform/atmel/atmel-isc.h
@@ -186,6 +186,10 @@ struct isc_ctrls {
extern const struct regmap_config isc_regmap_config;
extern const struct v4l2_async_notifier_operations isc_async_ops;
-diff --git a/drivers/media/platform/atmel/atmel-sama5d2-isc.c b/drivers/media/platform/atmel/atmel-sama5d2-isc.c
-index a3304f49e499..1b537cd1e09e 100644
--- a/drivers/media/platform/atmel/atmel-sama5d2-isc.c
+++ b/drivers/media/platform/atmel/atmel-sama5d2-isc.c
@@ -54,6 +54,48 @@
static int isc_parse_dt(struct device *dev, struct isc_device *isc)
{
struct device_node *np = dev->of_node;
-@@ -171,6 +213,9 @@ static int atmel_isc_probe(struct platform_device *pdev)
+@@ -171,6 +213,9 @@ static int atmel_isc_probe(struct platfo
return ret;
}
ret = isc_pipeline_init(isc);
if (ret)
return ret;
---
-2.32.0
-
drivers/media/platform/atmel/atmel-sama5d2-isc.c | 4 ++--
3 files changed, 4 insertions(+), 6 deletions(-)
-diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c
-index 46d384332a58..d987a8891bd9 100644
--- a/drivers/media/platform/atmel/atmel-isc-base.c
+++ b/drivers/media/platform/atmel/atmel-isc-base.c
-@@ -909,7 +909,7 @@ static int isc_querycap(struct file *file, void *priv,
+@@ -909,7 +909,7 @@ static int isc_querycap(struct file *fil
{
struct isc_device *isc = video_drvdata(file);
strscpy(cap->card, "Atmel Image Sensor Controller", sizeof(cap->card));
snprintf(cap->bus_info, sizeof(cap->bus_info),
"platform:%s", isc->v4l2_dev.name);
-@@ -2261,7 +2261,7 @@ static int isc_async_complete(struct v4l2_async_notifier *notifier)
+@@ -2261,7 +2261,7 @@ static int isc_async_complete(struct v4l
}
/* Register video device */
vdev->release = video_device_release_empty;
vdev->fops = &isc_fops;
vdev->ioctl_ops = &isc_ioctl_ops;
-diff --git a/drivers/media/platform/atmel/atmel-isc.h b/drivers/media/platform/atmel/atmel-isc.h
-index a85b99274e34..bb43d3a93052 100644
--- a/drivers/media/platform/atmel/atmel-isc.h
+++ b/drivers/media/platform/atmel/atmel-isc.h
@@ -255,8 +255,6 @@ struct isc_device {
extern struct isc_format formats_list[];
extern const struct isc_format controller_formats[];
extern const struct regmap_config isc_regmap_config;
-diff --git a/drivers/media/platform/atmel/atmel-sama5d2-isc.c b/drivers/media/platform/atmel/atmel-sama5d2-isc.c
-index 1b537cd1e09e..cba6e6c8810b 100644
--- a/drivers/media/platform/atmel/atmel-sama5d2-isc.c
+++ b/drivers/media/platform/atmel/atmel-sama5d2-isc.c
-@@ -206,7 +206,7 @@ static int atmel_isc_probe(struct platform_device *pdev)
+@@ -206,7 +206,7 @@ static int atmel_isc_probe(struct platfo
return irq;
ret = devm_request_irq(dev, irq, isc_interrupt, 0,
if (ret < 0) {
dev_err(dev, "can't register ISR for IRQ %u (ret=%i)\n",
irq, ret);
-@@ -378,7 +378,7 @@ static struct platform_driver atmel_isc_driver = {
+@@ -378,7 +378,7 @@ static struct platform_driver atmel_isc_
.probe = atmel_isc_probe,
.remove = atmel_isc_remove,
.driver = {
.pm = &atmel_isc_dev_pm_ops,
.of_match_table = of_match_ptr(atmel_isc_of_match),
},
---
-2.32.0
-
drivers/media/platform/atmel/atmel-isc-base.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
-diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c
-index d987a8891bd9..02f1d1c6b06e 100644
--- a/drivers/media/platform/atmel/atmel-isc-base.c
+++ b/drivers/media/platform/atmel/atmel-isc-base.c
-@@ -1338,6 +1338,12 @@ static int isc_try_fmt(struct isc_device *isc, struct v4l2_format *f,
+@@ -1338,6 +1338,12 @@ static int isc_try_fmt(struct isc_device
v4l2_fill_pix_format(pixfmt, &format.format);
pixfmt->field = V4L2_FIELD_NONE;
pixfmt->bytesperline = (pixfmt->width * isc->try_config.bpp) >> 3;
pixfmt->sizeimage = pixfmt->bytesperline * pixfmt->height;
-@@ -1373,6 +1379,12 @@ static int isc_set_fmt(struct isc_device *isc, struct v4l2_format *f)
+@@ -1373,6 +1379,12 @@ static int isc_set_fmt(struct isc_device
if (ret < 0)
return ret;
isc->fmt = *f;
if (isc->try_config.sd_format && isc->config.sd_format &&
---
-2.32.0
-
.../media/platform/atmel/atmel-sama5d2-isc.c | 7 +++--
3 files changed, 25 insertions(+), 19 deletions(-)
-diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c
-index 02f1d1c6b06e..ed0048e79f3b 100644
--- a/drivers/media/platform/atmel/atmel-isc-base.c
+++ b/drivers/media/platform/atmel/atmel-isc-base.c
-@@ -1216,8 +1216,8 @@ static void isc_try_fse(struct isc_device *isc,
+@@ -1216,8 +1216,8 @@ static void isc_try_fse(struct isc_devic
* just use the maximum ISC can receive.
*/
if (ret) {
} else {
pad_cfg->try_crop.width = fse.max_width;
pad_cfg->try_crop.height = fse.max_height;
-@@ -1294,10 +1294,10 @@ static int isc_try_fmt(struct isc_device *isc, struct v4l2_format *f,
+@@ -1294,10 +1294,10 @@ static int isc_try_fmt(struct isc_device
isc->try_config.sd_format = sd_fmt;
/* Limit to Atmel ISC hardware capabilities */
/*
* The mbus format is the one the subdev outputs.
-@@ -1339,10 +1339,10 @@ static int isc_try_fmt(struct isc_device *isc, struct v4l2_format *f,
+@@ -1339,10 +1339,10 @@ static int isc_try_fmt(struct isc_device
v4l2_fill_pix_format(pixfmt, &format.format);
/* Limit to Atmel ISC hardware capabilities */
pixfmt->field = V4L2_FIELD_NONE;
pixfmt->bytesperline = (pixfmt->width * isc->try_config.bpp) >> 3;
-@@ -1380,10 +1380,10 @@ static int isc_set_fmt(struct isc_device *isc, struct v4l2_format *f)
+@@ -1380,10 +1380,10 @@ static int isc_set_fmt(struct isc_device
return ret;
/* Limit to Atmel ISC hardware capabilities */
isc->fmt = *f;
-diff --git a/drivers/media/platform/atmel/atmel-isc.h b/drivers/media/platform/atmel/atmel-isc.h
-index bb43d3a93052..f208fb691ac9 100644
--- a/drivers/media/platform/atmel/atmel-isc.h
+++ b/drivers/media/platform/atmel/atmel-isc.h
@@ -10,9 +10,6 @@
};
extern struct isc_format formats_list[];
-diff --git a/drivers/media/platform/atmel/atmel-sama5d2-isc.c b/drivers/media/platform/atmel/atmel-sama5d2-isc.c
-index cba6e6c8810b..39fc8d4f9bdc 100644
--- a/drivers/media/platform/atmel/atmel-sama5d2-isc.c
+++ b/drivers/media/platform/atmel/atmel-sama5d2-isc.c
@@ -49,8 +49,8 @@
#define ISC_CLK_MAX_DIV 255
-@@ -216,6 +216,9 @@ static int atmel_isc_probe(struct platform_device *pdev)
+@@ -216,6 +216,9 @@ static int atmel_isc_probe(struct platfo
isc->gamma_table = isc_sama5d2_gamma_table;
isc->gamma_max = 2;
ret = isc_pipeline_init(isc);
if (ret)
return ret;
---
-2.32.0
-
drivers/media/platform/atmel/atmel-sama5d2-isc.c | 3 +++
3 files changed, 6 insertions(+), 2 deletions(-)
-diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c
-index ed0048e79f3b..07ba439eb7e9 100644
--- a/drivers/media/platform/atmel/atmel-isc-base.c
+++ b/drivers/media/platform/atmel/atmel-isc-base.c
-@@ -724,8 +724,7 @@ static int isc_configure(struct isc_device *isc)
+@@ -724,8 +724,7 @@ static int isc_configure(struct isc_devi
rlp_mode = isc->config.rlp_cfg_mode;
pipeline = isc->config.bits_pipeline;
pfe_cfg0 |= subdev->pfe_cfg0 | ISC_PFE_CFG0_MODE_PROGRESSIVE;
mask = ISC_PFE_CFG0_BPS_MASK | ISC_PFE_CFG0_HPOL_LOW |
-diff --git a/drivers/media/platform/atmel/atmel-isc.h b/drivers/media/platform/atmel/atmel-isc.h
-index f208fb691ac9..88ec4268de11 100644
--- a/drivers/media/platform/atmel/atmel-isc.h
+++ b/drivers/media/platform/atmel/atmel-isc.h
@@ -149,6 +149,7 @@ struct isc_ctrls {
struct device *dev;
struct v4l2_device v4l2_dev;
-diff --git a/drivers/media/platform/atmel/atmel-sama5d2-isc.c b/drivers/media/platform/atmel/atmel-sama5d2-isc.c
-index 39fc8d4f9bdc..12edeb07b618 100644
--- a/drivers/media/platform/atmel/atmel-sama5d2-isc.c
+++ b/drivers/media/platform/atmel/atmel-sama5d2-isc.c
-@@ -219,6 +219,9 @@ static int atmel_isc_probe(struct platform_device *pdev)
+@@ -219,6 +219,9 @@ static int atmel_isc_probe(struct platfo
isc->max_width = ISC_SAMA5D2_MAX_SUPPORT_WIDTH;
isc->max_height = ISC_SAMA5D2_MAX_SUPPORT_HEIGHT;
ret = isc_pipeline_init(isc);
if (ret)
return ret;
---
-2.32.0
-
drivers/media/platform/atmel/atmel-sama5d2-isc.c | 15 +++++++++++++++
3 files changed, 23 insertions(+), 7 deletions(-)
-diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c
-index 07ba439eb7e9..6c709f6a408c 100644
--- a/drivers/media/platform/atmel/atmel-isc-base.c
+++ b/drivers/media/platform/atmel/atmel-isc-base.c
-@@ -654,13 +654,7 @@ static void isc_set_pipeline(struct isc_device *isc, u32 pipeline)
+@@ -654,13 +654,7 @@ static void isc_set_pipeline(struct isc_
regmap_bulk_write(regmap, ISC_GAM_GENTRY, gamma, GAMMA_ENTRIES);
regmap_bulk_write(regmap, ISC_GAM_RENTRY, gamma, GAMMA_ENTRIES);
regmap_write(regmap, ISC_CBC_BRIGHT, ctrls->brightness);
regmap_write(regmap, ISC_CBC_CONTRAST, ctrls->contrast);
-diff --git a/drivers/media/platform/atmel/atmel-isc.h b/drivers/media/platform/atmel/atmel-isc.h
-index 88ec4268de11..ebdb9ed791a7 100644
--- a/drivers/media/platform/atmel/atmel-isc.h
+++ b/drivers/media/platform/atmel/atmel-isc.h
@@ -191,6 +191,9 @@ struct isc_ctrls {
};
extern struct isc_format formats_list[];
-diff --git a/drivers/media/platform/atmel/atmel-sama5d2-isc.c b/drivers/media/platform/atmel/atmel-sama5d2-isc.c
-index 12edeb07b618..19d0f750636c 100644
--- a/drivers/media/platform/atmel/atmel-sama5d2-isc.c
+++ b/drivers/media/platform/atmel/atmel-sama5d2-isc.c
@@ -54,6 +54,19 @@
/* Gamma table with gamma 1/2.2 */
static const u32 isc_sama5d2_gamma_table[][GAMMA_ENTRIES] = {
/* 0 --> gamma 1/1.8 */
-@@ -219,6 +232,8 @@ static int atmel_isc_probe(struct platform_device *pdev)
+@@ -219,6 +232,8 @@ static int atmel_isc_probe(struct platfo
isc->max_width = ISC_SAMA5D2_MAX_SUPPORT_WIDTH;
isc->max_height = ISC_SAMA5D2_MAX_SUPPORT_HEIGHT;
/* sama5d2-isc - 8 bits per beat */
isc->dcfg = ISC_DCFG_YMBSIZE_BEATS8 | ISC_DCFG_CMBSIZE_BEATS8;
---
-2.32.0
-
drivers/media/platform/atmel/atmel-isc-base.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
-diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c
-index 6c709f6a408c..f9190fccb482 100644
--- a/drivers/media/platform/atmel/atmel-isc-base.c
+++ b/drivers/media/platform/atmel/atmel-isc-base.c
-@@ -281,8 +281,8 @@ static int isc_clk_enable(struct clk_hw *hw)
+@@ -281,8 +281,8 @@ static int isc_clk_enable(struct clk_hw
unsigned long flags;
unsigned int status;
spin_lock_irqsave(&isc_clk->lock, flags);
regmap_update_bits(regmap, ISC_CLKCFG,
---
-2.32.0
-
.../media/platform/atmel/atmel-sama5d2-isc.c | 20 +++++++++++++------
4 files changed, 30 insertions(+), 7 deletions(-)
-diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c
-index f9190fccb482..18136e58a754 100644
--- a/drivers/media/platform/atmel/atmel-isc-base.c
+++ b/drivers/media/platform/atmel/atmel-isc-base.c
-@@ -2326,7 +2326,7 @@ int isc_pipeline_init(struct isc_device *isc)
+@@ -2326,7 +2326,7 @@ int isc_pipeline_init(struct isc_device
REG_FIELD(ISC_GAM_CTRL, 1, 1),
REG_FIELD(ISC_GAM_CTRL, 2, 2),
REG_FIELD(ISC_GAM_CTRL, 3, 3),
REG_FIELD(ISC_CBC_CTRL, 0, 0),
REG_FIELD(ISC_SUB422_CTRL, 0, 0),
REG_FIELD(ISC_SUB420_CTRL, 0, 0),
-diff --git a/drivers/media/platform/atmel/atmel-isc-regs.h b/drivers/media/platform/atmel/atmel-isc-regs.h
-index f1e160ed4351..5a65600c5f88 100644
--- a/drivers/media/platform/atmel/atmel-isc-regs.h
+++ b/drivers/media/platform/atmel/atmel-isc-regs.h
@@ -153,6 +153,9 @@
/* Color Space Conversion Control Register */
#define ISC_CSC_CTRL 0x00000398
-diff --git a/drivers/media/platform/atmel/atmel-isc.h b/drivers/media/platform/atmel/atmel-isc.h
-index ebdb9ed791a7..db6b4d469dff 100644
--- a/drivers/media/platform/atmel/atmel-isc.h
+++ b/drivers/media/platform/atmel/atmel-isc.h
-@@ -143,6 +143,14 @@ struct isc_ctrls {
-
+@@ -144,6 +144,14 @@ struct isc_ctrls {
#define ISC_PIPE_LINE_NODE_NUM 11
-+/*
+ /*
+ * struct isc_reg_offsets - ISC device register offsets
+ * @csc: Offset for the CSC register
+ */
+ u32 csc;
+};
+
- /*
++/*
* struct isc_device - ISC device driver data/config struct
* @regmap: Register map
+ * @hclock: Hclock clock input (refer datasheet)
@@ -194,6 +202,8 @@ struct isc_ctrls {
*
* @config_csc: pointer to a function that initializes product
};
extern struct isc_format formats_list[];
-diff --git a/drivers/media/platform/atmel/atmel-sama5d2-isc.c b/drivers/media/platform/atmel/atmel-sama5d2-isc.c
-index 19d0f750636c..2ad6227aa2f5 100644
--- a/drivers/media/platform/atmel/atmel-sama5d2-isc.c
+++ b/drivers/media/platform/atmel/atmel-sama5d2-isc.c
-@@ -59,12 +59,18 @@ static void isc_sama5d2_config_csc(struct isc_device *isc)
+@@ -59,12 +59,18 @@ static void isc_sama5d2_config_csc(struc
struct regmap *regmap = isc->regmap;
/* Convert RGB to YUV */
}
/* Gamma table with gamma 1/2.2 */
-@@ -234,6 +240,8 @@ static int atmel_isc_probe(struct platform_device *pdev)
+@@ -234,6 +240,8 @@ static int atmel_isc_probe(struct platfo
isc->config_csc = isc_sama5d2_config_csc;
/* sama5d2-isc - 8 bits per beat */
isc->dcfg = ISC_DCFG_YMBSIZE_BEATS8 | ISC_DCFG_CMBSIZE_BEATS8;
---
-2.32.0
-
drivers/media/platform/atmel/atmel-sama5d2-isc.c | 9 +++++++++
3 files changed, 13 insertions(+), 3 deletions(-)
-diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c
-index 18136e58a754..865410e10e70 100644
--- a/drivers/media/platform/atmel/atmel-isc-base.c
+++ b/drivers/media/platform/atmel/atmel-isc-base.c
-@@ -655,9 +655,7 @@ static void isc_set_pipeline(struct isc_device *isc, u32 pipeline)
+@@ -655,9 +655,7 @@ static void isc_set_pipeline(struct isc_
regmap_bulk_write(regmap, ISC_GAM_RENTRY, gamma, GAMMA_ENTRIES);
isc->config_csc(isc);
}
static int isc_update_profile(struct isc_device *isc)
-diff --git a/drivers/media/platform/atmel/atmel-isc.h b/drivers/media/platform/atmel/atmel-isc.h
-index db6b4d469dff..65c3059afb8e 100644
--- a/drivers/media/platform/atmel/atmel-isc.h
+++ b/drivers/media/platform/atmel/atmel-isc.h
@@ -202,6 +202,8 @@ struct isc_reg_offsets {
};
struct isc_reg_offsets offsets;
-diff --git a/drivers/media/platform/atmel/atmel-sama5d2-isc.c b/drivers/media/platform/atmel/atmel-sama5d2-isc.c
-index 2ad6227aa2f5..770d62b483d0 100644
--- a/drivers/media/platform/atmel/atmel-sama5d2-isc.c
+++ b/drivers/media/platform/atmel/atmel-sama5d2-isc.c
-@@ -73,6 +73,14 @@ static void isc_sama5d2_config_csc(struct isc_device *isc)
+@@ -73,6 +73,14 @@ static void isc_sama5d2_config_csc(struc
0xFEE | (0x80 << 16));
}
/* Gamma table with gamma 1/2.2 */
static const u32 isc_sama5d2_gamma_table[][GAMMA_ENTRIES] = {
/* 0 --> gamma 1/1.8 */
-@@ -239,6 +247,7 @@ static int atmel_isc_probe(struct platform_device *pdev)
+@@ -239,6 +247,7 @@ static int atmel_isc_probe(struct platfo
isc->max_height = ISC_SAMA5D2_MAX_SUPPORT_HEIGHT;
isc->config_csc = isc_sama5d2_config_csc;
isc->offsets.csc = ISC_SAMA5D2_CSC_OFFSET;
---
-2.32.0
-
drivers/media/platform/atmel/atmel-sama5d2-isc.c | 7 +++++--
4 files changed, 11 insertions(+), 3 deletions(-)
-diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c
-index 865410e10e70..b7728914fda8 100644
--- a/drivers/media/platform/atmel/atmel-isc-base.c
+++ b/drivers/media/platform/atmel/atmel-isc-base.c
-@@ -2325,7 +2325,7 @@ int isc_pipeline_init(struct isc_device *isc)
+@@ -2325,7 +2325,7 @@ int isc_pipeline_init(struct isc_device
REG_FIELD(ISC_GAM_CTRL, 2, 2),
REG_FIELD(ISC_GAM_CTRL, 3, 3),
REG_FIELD(ISC_CSC_CTRL + isc->offsets.csc, 0, 0),
REG_FIELD(ISC_SUB422_CTRL, 0, 0),
REG_FIELD(ISC_SUB420_CTRL, 0, 0),
};
-diff --git a/drivers/media/platform/atmel/atmel-isc-regs.h b/drivers/media/platform/atmel/atmel-isc-regs.h
-index 5a65600c5f88..a5e2fe01ba9f 100644
--- a/drivers/media/platform/atmel/atmel-isc-regs.h
+++ b/drivers/media/platform/atmel/atmel-isc-regs.h
@@ -177,6 +177,9 @@
/* Contrast And Brightness Control Register */
#define ISC_CBC_CTRL 0x000003b4
-diff --git a/drivers/media/platform/atmel/atmel-isc.h b/drivers/media/platform/atmel/atmel-isc.h
-index 65c3059afb8e..d8b4b1959b94 100644
--- a/drivers/media/platform/atmel/atmel-isc.h
+++ b/drivers/media/platform/atmel/atmel-isc.h
@@ -146,9 +146,11 @@ struct isc_ctrls {
};
/*
-diff --git a/drivers/media/platform/atmel/atmel-sama5d2-isc.c b/drivers/media/platform/atmel/atmel-sama5d2-isc.c
-index 770d62b483d0..bb9362093efe 100644
--- a/drivers/media/platform/atmel/atmel-sama5d2-isc.c
+++ b/drivers/media/platform/atmel/atmel-sama5d2-isc.c
-@@ -77,8 +77,10 @@ static void isc_sama5d2_config_cbc(struct isc_device *isc)
+@@ -77,8 +77,10 @@ static void isc_sama5d2_config_cbc(struc
{
struct regmap *regmap = isc->regmap;
}
/* Gamma table with gamma 1/2.2 */
-@@ -250,6 +252,7 @@ static int atmel_isc_probe(struct platform_device *pdev)
+@@ -250,6 +252,7 @@ static int atmel_isc_probe(struct platfo
isc->config_cbc = isc_sama5d2_config_cbc;
isc->offsets.csc = ISC_SAMA5D2_CSC_OFFSET;
/* sama5d2-isc - 8 bits per beat */
isc->dcfg = ISC_DCFG_YMBSIZE_BEATS8 | ISC_DCFG_CMBSIZE_BEATS8;
---
-2.32.0
-
drivers/media/platform/atmel/atmel-sama5d2-isc.c | 2 ++
4 files changed, 12 insertions(+), 2 deletions(-)
-diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c
-index b7728914fda8..b398cdfdc2c9 100644
--- a/drivers/media/platform/atmel/atmel-isc-base.c
+++ b/drivers/media/platform/atmel/atmel-isc-base.c
-@@ -2326,8 +2326,8 @@ int isc_pipeline_init(struct isc_device *isc)
+@@ -2326,8 +2326,8 @@ int isc_pipeline_init(struct isc_device
REG_FIELD(ISC_GAM_CTRL, 3, 3),
REG_FIELD(ISC_CSC_CTRL + isc->offsets.csc, 0, 0),
REG_FIELD(ISC_CBC_CTRL + isc->offsets.cbc, 0, 0),
};
for (i = 0; i < ISC_PIPE_LINE_NODE_NUM; i++) {
-diff --git a/drivers/media/platform/atmel/atmel-isc-regs.h b/drivers/media/platform/atmel/atmel-isc-regs.h
-index a5e2fe01ba9f..04839def6ef6 100644
--- a/drivers/media/platform/atmel/atmel-isc-regs.h
+++ b/drivers/media/platform/atmel/atmel-isc-regs.h
@@ -194,9 +194,13 @@
/* Subsampling 4:2:2 to 4:2:0 Control Register */
#define ISC_SUB420_CTRL 0x000003cc
-diff --git a/drivers/media/platform/atmel/atmel-isc.h b/drivers/media/platform/atmel/atmel-isc.h
-index d8b4b1959b94..9eb85540d89d 100644
--- a/drivers/media/platform/atmel/atmel-isc.h
+++ b/drivers/media/platform/atmel/atmel-isc.h
@@ -147,10 +147,14 @@ struct isc_ctrls {
};
/*
-diff --git a/drivers/media/platform/atmel/atmel-sama5d2-isc.c b/drivers/media/platform/atmel/atmel-sama5d2-isc.c
-index bb9362093efe..57ea1ae50c44 100644
--- a/drivers/media/platform/atmel/atmel-sama5d2-isc.c
+++ b/drivers/media/platform/atmel/atmel-sama5d2-isc.c
-@@ -253,6 +253,8 @@ static int atmel_isc_probe(struct platform_device *pdev)
+@@ -253,6 +253,8 @@ static int atmel_isc_probe(struct platfo
isc->offsets.csc = ISC_SAMA5D2_CSC_OFFSET;
isc->offsets.cbc = ISC_SAMA5D2_CBC_OFFSET;
/* sama5d2-isc - 8 bits per beat */
isc->dcfg = ISC_DCFG_YMBSIZE_BEATS8 | ISC_DCFG_CMBSIZE_BEATS8;
---
-2.32.0
-
drivers/media/platform/atmel/atmel-sama5d2-isc.c | 1 +
4 files changed, 7 insertions(+), 2 deletions(-)
-diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c
-index b398cdfdc2c9..25c90b821067 100644
--- a/drivers/media/platform/atmel/atmel-isc-base.c
+++ b/drivers/media/platform/atmel/atmel-isc-base.c
-@@ -726,8 +726,8 @@ static int isc_configure(struct isc_device *isc)
+@@ -726,8 +726,8 @@ static int isc_configure(struct isc_devi
regmap_update_bits(regmap, ISC_PFE_CFG0, mask, pfe_cfg0);
regmap_write(regmap, ISC_DCFG, dcfg);
-diff --git a/drivers/media/platform/atmel/atmel-isc-regs.h b/drivers/media/platform/atmel/atmel-isc-regs.h
-index 04839def6ef6..2205484e04fc 100644
--- a/drivers/media/platform/atmel/atmel-isc-regs.h
+++ b/drivers/media/platform/atmel/atmel-isc-regs.h
@@ -204,6 +204,8 @@
/* Rounding, Limiting and Packing Configuration Register */
#define ISC_RLP_CFG 0x000003d0
-diff --git a/drivers/media/platform/atmel/atmel-isc.h b/drivers/media/platform/atmel/atmel-isc.h
-index 9eb85540d89d..4a5293c66f49 100644
--- a/drivers/media/platform/atmel/atmel-isc.h
+++ b/drivers/media/platform/atmel/atmel-isc.h
@@ -149,12 +149,14 @@ struct isc_ctrls {
};
/*
-diff --git a/drivers/media/platform/atmel/atmel-sama5d2-isc.c b/drivers/media/platform/atmel/atmel-sama5d2-isc.c
-index 57ea1ae50c44..b01b5b9f229b 100644
--- a/drivers/media/platform/atmel/atmel-sama5d2-isc.c
+++ b/drivers/media/platform/atmel/atmel-sama5d2-isc.c
-@@ -255,6 +255,7 @@ static int atmel_isc_probe(struct platform_device *pdev)
+@@ -255,6 +255,7 @@ static int atmel_isc_probe(struct platfo
isc->offsets.cbc = ISC_SAMA5D2_CBC_OFFSET;
isc->offsets.sub422 = ISC_SAMA5D2_SUB422_OFFSET;
isc->offsets.sub420 = ISC_SAMA5D2_SUB420_OFFSET;
/* sama5d2-isc - 8 bits per beat */
isc->dcfg = ISC_DCFG_YMBSIZE_BEATS8 | ISC_DCFG_CMBSIZE_BEATS8;
---
-2.32.0
-
drivers/media/platform/atmel/atmel-sama5d2-isc.c | 1 +
4 files changed, 12 insertions(+), 4 deletions(-)
-diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c
-index 25c90b821067..5c95aa45cf6c 100644
--- a/drivers/media/platform/atmel/atmel-isc-base.c
+++ b/drivers/media/platform/atmel/atmel-isc-base.c
-@@ -686,12 +686,13 @@ static void isc_set_histogram(struct isc_device *isc, bool enable)
+@@ -686,12 +686,13 @@ static void isc_set_histogram(struct isc
struct isc_ctrls *ctrls = &isc->ctrls;
if (enable) {
regmap_write(regmap, ISC_INTEN, ISC_INT_HISDONE);
ctrls->hist_id = ISC_HIS_CFG_MODE_GR;
isc_update_profile(isc);
-@@ -700,7 +701,8 @@ static void isc_set_histogram(struct isc_device *isc, bool enable)
+@@ -700,7 +701,8 @@ static void isc_set_histogram(struct isc
ctrls->hist_stat = HIST_ENABLED;
} else {
regmap_write(regmap, ISC_INTDIS, ISC_INT_HISDONE);
ctrls->hist_stat = HIST_DISABLED;
}
-@@ -1836,7 +1838,8 @@ static void isc_awb_work(struct work_struct *w)
+@@ -1836,7 +1838,8 @@ static void isc_awb_work(struct work_str
ctrls->awb = ISC_WB_NONE;
}
}
isc_update_profile(isc);
/* if awb has been disabled, we don't need to start another histogram */
if (ctrls->awb)
-diff --git a/drivers/media/platform/atmel/atmel-isc-regs.h b/drivers/media/platform/atmel/atmel-isc-regs.h
-index 2205484e04fc..0ab280ab59ec 100644
--- a/drivers/media/platform/atmel/atmel-isc-regs.h
+++ b/drivers/media/platform/atmel/atmel-isc-regs.h
@@ -224,6 +224,8 @@
/* Histogram Control Register */
#define ISC_HIS_CTRL 0x000003d4
-diff --git a/drivers/media/platform/atmel/atmel-isc.h b/drivers/media/platform/atmel/atmel-isc.h
-index 4a5293c66f49..97ec4c58297e 100644
--- a/drivers/media/platform/atmel/atmel-isc.h
+++ b/drivers/media/platform/atmel/atmel-isc.h
@@ -150,6 +150,7 @@ struct isc_ctrls {
};
/*
-diff --git a/drivers/media/platform/atmel/atmel-sama5d2-isc.c b/drivers/media/platform/atmel/atmel-sama5d2-isc.c
-index b01b5b9f229b..db93cb76c08b 100644
--- a/drivers/media/platform/atmel/atmel-sama5d2-isc.c
+++ b/drivers/media/platform/atmel/atmel-sama5d2-isc.c
-@@ -256,6 +256,7 @@ static int atmel_isc_probe(struct platform_device *pdev)
+@@ -256,6 +256,7 @@ static int atmel_isc_probe(struct platfo
isc->offsets.sub422 = ISC_SAMA5D2_SUB422_OFFSET;
isc->offsets.sub420 = ISC_SAMA5D2_SUB420_OFFSET;
isc->offsets.rlp = ISC_SAMA5D2_RLP_OFFSET;
/* sama5d2-isc - 8 bits per beat */
isc->dcfg = ISC_DCFG_YMBSIZE_BEATS8 | ISC_DCFG_CMBSIZE_BEATS8;
---
-2.32.0
-
.../media/platform/atmel/atmel-sama5d2-isc.c | 1 +
4 files changed, 18 insertions(+), 7 deletions(-)
-diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c
-index 5c95aa45cf6c..e010429fc44d 100644
--- a/drivers/media/platform/atmel/atmel-isc-base.c
+++ b/drivers/media/platform/atmel/atmel-isc-base.c
-@@ -601,16 +601,20 @@ static void isc_start_dma(struct isc_device *isc)
+@@ -601,16 +601,20 @@ static void isc_start_dma(struct isc_dev
ISC_PFE_CFG0_COLEN | ISC_PFE_CFG0_ROWEN);
addr0 = vb2_dma_contig_plane_dma_addr(&isc->cur_frm->vb.vb2_buf, 0);
break;
default:
break;
-@@ -618,7 +622,8 @@ static void isc_start_dma(struct isc_device *isc)
+@@ -618,7 +622,8 @@ static void isc_start_dma(struct isc_dev
dctrl_dview = isc->config.dctrl_dview;
spin_lock(&isc->awb_lock);
regmap_write(regmap, ISC_CTRLEN, ISC_CTRL_CAPTURE);
spin_unlock(&isc->awb_lock);
-@@ -731,7 +736,7 @@ static int isc_configure(struct isc_device *isc)
+@@ -731,7 +736,7 @@ static int isc_configure(struct isc_devi
regmap_update_bits(regmap, ISC_RLP_CFG + isc->offsets.rlp,
ISC_RLP_CFG_MODE_MASK, rlp_mode);
/* Set the pipeline */
isc_set_pipeline(isc, pipeline);
-diff --git a/drivers/media/platform/atmel/atmel-isc-regs.h b/drivers/media/platform/atmel/atmel-isc-regs.h
-index 0ab280ab59ec..4940998c82a2 100644
--- a/drivers/media/platform/atmel/atmel-isc-regs.h
+++ b/drivers/media/platform/atmel/atmel-isc-regs.h
@@ -247,6 +247,9 @@
/* DMA Configuration Register */
#define ISC_DCFG 0x000003e0
#define ISC_DCFG_IMODE_PACKED8 0x0
-diff --git a/drivers/media/platform/atmel/atmel-isc.h b/drivers/media/platform/atmel/atmel-isc.h
-index 97ec4c58297e..bea545327d3d 100644
--- a/drivers/media/platform/atmel/atmel-isc.h
+++ b/drivers/media/platform/atmel/atmel-isc.h
@@ -151,6 +151,7 @@ struct isc_ctrls {
};
/*
-diff --git a/drivers/media/platform/atmel/atmel-sama5d2-isc.c b/drivers/media/platform/atmel/atmel-sama5d2-isc.c
-index db93cb76c08b..bfd56ac5c921 100644
--- a/drivers/media/platform/atmel/atmel-sama5d2-isc.c
+++ b/drivers/media/platform/atmel/atmel-sama5d2-isc.c
-@@ -257,6 +257,7 @@ static int atmel_isc_probe(struct platform_device *pdev)
+@@ -257,6 +257,7 @@ static int atmel_isc_probe(struct platfo
isc->offsets.sub420 = ISC_SAMA5D2_SUB420_OFFSET;
isc->offsets.rlp = ISC_SAMA5D2_RLP_OFFSET;
isc->offsets.his = ISC_SAMA5D2_HIS_OFFSET;
/* sama5d2-isc - 8 bits per beat */
isc->dcfg = ISC_DCFG_YMBSIZE_BEATS8 | ISC_DCFG_CMBSIZE_BEATS8;
---
-2.32.0
-
drivers/media/platform/atmel/atmel-sama5d2-isc.c | 5 +++++
3 files changed, 12 insertions(+)
-diff --git a/drivers/media/platform/atmel/atmel-isc-regs.h b/drivers/media/platform/atmel/atmel-isc-regs.h
-index 4940998c82a2..344668dcfcf4 100644
--- a/drivers/media/platform/atmel/atmel-isc-regs.h
+++ b/drivers/media/platform/atmel/atmel-isc-regs.h
@@ -295,6 +295,11 @@
/* Histogram Entry */
#define ISC_HIS_ENTRY 0x00000410
-diff --git a/drivers/media/platform/atmel/atmel-isc.h b/drivers/media/platform/atmel/atmel-isc.h
-index bea545327d3d..13ee19d99c2e 100644
--- a/drivers/media/platform/atmel/atmel-isc.h
+++ b/drivers/media/platform/atmel/atmel-isc.h
@@ -152,6 +152,7 @@ struct isc_ctrls {
};
/*
-diff --git a/drivers/media/platform/atmel/atmel-sama5d2-isc.c b/drivers/media/platform/atmel/atmel-sama5d2-isc.c
-index bfd56ac5c921..aebf38dde2d2 100644
--- a/drivers/media/platform/atmel/atmel-sama5d2-isc.c
+++ b/drivers/media/platform/atmel/atmel-sama5d2-isc.c
-@@ -210,6 +210,7 @@ static int atmel_isc_probe(struct platform_device *pdev)
+@@ -210,6 +210,7 @@ static int atmel_isc_probe(struct platfo
struct isc_subdev_entity *subdev_entity;
int irq;
int ret;
isc = devm_kzalloc(dev, sizeof(*isc), GFP_KERNEL);
if (!isc)
-@@ -258,6 +259,7 @@ static int atmel_isc_probe(struct platform_device *pdev)
+@@ -258,6 +259,7 @@ static int atmel_isc_probe(struct platfo
isc->offsets.rlp = ISC_SAMA5D2_RLP_OFFSET;
isc->offsets.his = ISC_SAMA5D2_HIS_OFFSET;
isc->offsets.dma = ISC_SAMA5D2_DMA_OFFSET;
/* sama5d2-isc - 8 bits per beat */
isc->dcfg = ISC_DCFG_YMBSIZE_BEATS8 | ISC_DCFG_CMBSIZE_BEATS8;
-@@ -346,6 +348,9 @@ static int atmel_isc_probe(struct platform_device *pdev)
+@@ -346,6 +348,9 @@ static int atmel_isc_probe(struct platfo
pm_runtime_enable(dev);
pm_request_idle(dev);
return 0;
cleanup_subdev:
---
-2.32.0
-
drivers/media/platform/atmel/atmel-sama5d2-isc.c | 1 +
4 files changed, 7 insertions(+), 1 deletion(-)
-diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c
-index e010429fc44d..cfe60b2882ac 100644
--- a/drivers/media/platform/atmel/atmel-isc-base.c
+++ b/drivers/media/platform/atmel/atmel-isc-base.c
-@@ -1684,7 +1684,8 @@ static void isc_hist_count(struct isc_device *isc, u32 *min, u32 *max)
+@@ -1684,7 +1684,8 @@ static void isc_hist_count(struct isc_de
*min = 0;
*max = HIST_ENTRIES;
*hist_count = 0;
/*
-diff --git a/drivers/media/platform/atmel/atmel-isc-regs.h b/drivers/media/platform/atmel/atmel-isc-regs.h
-index 344668dcfcf4..a15c13e1a833 100644
--- a/drivers/media/platform/atmel/atmel-isc-regs.h
+++ b/drivers/media/platform/atmel/atmel-isc-regs.h
@@ -300,6 +300,8 @@
/* Histogram Entry */
#define ISC_HIS_ENTRY 0x00000410
-diff --git a/drivers/media/platform/atmel/atmel-isc.h b/drivers/media/platform/atmel/atmel-isc.h
-index 13ee19d99c2e..513b2b920b1f 100644
--- a/drivers/media/platform/atmel/atmel-isc.h
+++ b/drivers/media/platform/atmel/atmel-isc.h
@@ -153,6 +153,7 @@ struct isc_ctrls {
};
/*
-diff --git a/drivers/media/platform/atmel/atmel-sama5d2-isc.c b/drivers/media/platform/atmel/atmel-sama5d2-isc.c
-index aebf38dde2d2..ed575eb3726d 100644
--- a/drivers/media/platform/atmel/atmel-sama5d2-isc.c
+++ b/drivers/media/platform/atmel/atmel-sama5d2-isc.c
-@@ -260,6 +260,7 @@ static int atmel_isc_probe(struct platform_device *pdev)
+@@ -260,6 +260,7 @@ static int atmel_isc_probe(struct platfo
isc->offsets.his = ISC_SAMA5D2_HIS_OFFSET;
isc->offsets.dma = ISC_SAMA5D2_DMA_OFFSET;
isc->offsets.version = ISC_SAMA5D2_VERSION_OFFSET;
/* sama5d2-isc - 8 bits per beat */
isc->dcfg = ISC_DCFG_YMBSIZE_BEATS8 | ISC_DCFG_CMBSIZE_BEATS8;
---
-2.32.0
-
drivers/media/platform/atmel/atmel-isc-regs.h | 67 +++++++++++++++++++
1 file changed, 67 insertions(+)
-diff --git a/drivers/media/platform/atmel/atmel-isc-regs.h b/drivers/media/platform/atmel/atmel-isc-regs.h
-index a15c13e1a833..457eed74cda9 100644
--- a/drivers/media/platform/atmel/atmel-isc-regs.h
+++ b/drivers/media/platform/atmel/atmel-isc-regs.h
@@ -90,6 +90,46 @@
/* Offset for CSC register specific to sama5d2 product */
#define ISC_SAMA5D2_CSC_OFFSET 0
---
-2.32.0
-
drivers/media/platform/atmel/atmel-isc.h | 28 +++++++++++--------
2 files changed, 25 insertions(+), 14 deletions(-)
-diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c
-index cfe60b2882ac..a6b62e009c38 100644
--- a/drivers/media/platform/atmel/atmel-isc-base.c
+++ b/drivers/media/platform/atmel/atmel-isc-base.c
-@@ -2324,8 +2324,14 @@ int isc_pipeline_init(struct isc_device *isc)
+@@ -2324,8 +2324,14 @@ int isc_pipeline_init(struct isc_device
struct regmap_field *regs;
unsigned int i;
REG_FIELD(ISC_WB_CTRL, 0, 0),
REG_FIELD(ISC_CFA_CTRL, 0, 0),
REG_FIELD(ISC_CC_CTRL, 0, 0),
-@@ -2333,6 +2339,7 @@ int isc_pipeline_init(struct isc_device *isc)
+@@ -2333,6 +2339,7 @@ int isc_pipeline_init(struct isc_device
REG_FIELD(ISC_GAM_CTRL, 1, 1),
REG_FIELD(ISC_GAM_CTRL, 2, 2),
REG_FIELD(ISC_GAM_CTRL, 3, 3),
REG_FIELD(ISC_CSC_CTRL + isc->offsets.csc, 0, 0),
REG_FIELD(ISC_CBC_CTRL + isc->offsets.cbc, 0, 0),
REG_FIELD(ISC_SUB422_CTRL + isc->offsets.sub422, 0, 0),
-@@ -2351,7 +2358,7 @@ int isc_pipeline_init(struct isc_device *isc)
+@@ -2351,7 +2358,7 @@ int isc_pipeline_init(struct isc_device
}
/* regmap configuration */
const struct regmap_config isc_regmap_config = {
.reg_bits = 32,
.reg_stride = 4,
-diff --git a/drivers/media/platform/atmel/atmel-isc.h b/drivers/media/platform/atmel/atmel-isc.h
-index 513b2b920b1f..86edeea2d5cd 100644
--- a/drivers/media/platform/atmel/atmel-isc.h
+++ b/drivers/media/platform/atmel/atmel-isc.h
@@ -67,17 +67,21 @@ struct isc_format {
/*
* struct isc_reg_offsets - ISC device register offsets
---
-2.32.0
-
drivers/media/platform/atmel/atmel-sama5d2-isc.c | 14 ++++++++++++++
3 files changed, 18 insertions(+)
-diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c
-index a6b62e009c38..ffce8de2cf4d 100644
--- a/drivers/media/platform/atmel/atmel-isc-base.c
+++ b/drivers/media/platform/atmel/atmel-isc-base.c
-@@ -661,6 +661,7 @@ static void isc_set_pipeline(struct isc_device *isc, u32 pipeline)
+@@ -661,6 +661,7 @@ static void isc_set_pipeline(struct isc_
isc->config_csc(isc);
isc->config_cbc(isc);
}
static int isc_update_profile(struct isc_device *isc)
-diff --git a/drivers/media/platform/atmel/atmel-isc.h b/drivers/media/platform/atmel/atmel-isc.h
-index 86edeea2d5cd..293746664cef 100644
--- a/drivers/media/platform/atmel/atmel-isc.h
+++ b/drivers/media/platform/atmel/atmel-isc.h
@@ -224,6 +224,8 @@ struct isc_reg_offsets {
};
struct isc_reg_offsets offsets;
-diff --git a/drivers/media/platform/atmel/atmel-sama5d2-isc.c b/drivers/media/platform/atmel/atmel-sama5d2-isc.c
-index ed575eb3726d..903920b74965 100644
--- a/drivers/media/platform/atmel/atmel-sama5d2-isc.c
+++ b/drivers/media/platform/atmel/atmel-sama5d2-isc.c
-@@ -83,6 +83,19 @@ static void isc_sama5d2_config_cbc(struct isc_device *isc)
+@@ -83,6 +83,19 @@ static void isc_sama5d2_config_cbc(struc
isc->ctrls.contrast);
}
/* Gamma table with gamma 1/2.2 */
static const u32 isc_sama5d2_gamma_table[][GAMMA_ENTRIES] = {
/* 0 --> gamma 1/1.8 */
-@@ -251,6 +264,7 @@ static int atmel_isc_probe(struct platform_device *pdev)
+@@ -251,6 +264,7 @@ static int atmel_isc_probe(struct platfo
isc->config_csc = isc_sama5d2_config_csc;
isc->config_cbc = isc_sama5d2_config_cbc;
isc->offsets.csc = ISC_SAMA5D2_CSC_OFFSET;
isc->offsets.cbc = ISC_SAMA5D2_CBC_OFFSET;
---
-2.32.0
-
drivers/media/platform/atmel/atmel-sama5d2-isc.c | 12 ++++++++++++
3 files changed, 20 insertions(+), 2 deletions(-)
-diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c
-index ffce8de2cf4d..8ed8b8a4840c 100644
--- a/drivers/media/platform/atmel/atmel-isc-base.c
+++ b/drivers/media/platform/atmel/atmel-isc-base.c
-@@ -2051,11 +2051,12 @@ static int isc_ctrl_init(struct isc_device *isc)
+@@ -2051,11 +2051,12 @@ static int isc_ctrl_init(struct isc_devi
if (ret < 0)
return ret;
v4l2_ctrl_new_std(hdl, ops, V4L2_CID_GAMMA, 0, isc->gamma_max, 1,
isc->gamma_max);
isc->awb_ctrl = v4l2_ctrl_new_std(hdl, &isc_awb_ops,
-diff --git a/drivers/media/platform/atmel/atmel-isc.h b/drivers/media/platform/atmel/atmel-isc.h
-index 293746664cef..428419d5a07d 100644
--- a/drivers/media/platform/atmel/atmel-isc.h
+++ b/drivers/media/platform/atmel/atmel-isc.h
@@ -226,6 +226,8 @@ struct isc_reg_offsets {
};
struct isc_reg_offsets offsets;
-diff --git a/drivers/media/platform/atmel/atmel-sama5d2-isc.c b/drivers/media/platform/atmel/atmel-sama5d2-isc.c
-index 903920b74965..7512012cd9f3 100644
--- a/drivers/media/platform/atmel/atmel-sama5d2-isc.c
+++ b/drivers/media/platform/atmel/atmel-sama5d2-isc.c
-@@ -96,6 +96,17 @@ static void isc_sama5d2_config_cc(struct isc_device *isc)
+@@ -96,6 +96,17 @@ static void isc_sama5d2_config_cc(struct
regmap_write(regmap, ISC_CC_BB_OB, (1 << 8));
}
/* Gamma table with gamma 1/2.2 */
static const u32 isc_sama5d2_gamma_table[][GAMMA_ENTRIES] = {
/* 0 --> gamma 1/1.8 */
-@@ -265,6 +276,7 @@ static int atmel_isc_probe(struct platform_device *pdev)
+@@ -265,6 +276,7 @@ static int atmel_isc_probe(struct platfo
isc->config_csc = isc_sama5d2_config_csc;
isc->config_cbc = isc_sama5d2_config_cbc;
isc->config_cc = isc_sama5d2_config_cc;
isc->offsets.csc = ISC_SAMA5D2_CSC_OFFSET;
isc->offsets.cbc = ISC_SAMA5D2_CBC_OFFSET;
---
-2.32.0
-
drivers/media/platform/atmel/atmel-sama5d2-isc.c | 6 ++++++
3 files changed, 10 insertions(+)
-diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c
-index 8ed8b8a4840c..777a5dc19d6e 100644
--- a/drivers/media/platform/atmel/atmel-isc-base.c
+++ b/drivers/media/platform/atmel/atmel-isc-base.c
-@@ -659,6 +659,7 @@ static void isc_set_pipeline(struct isc_device *isc, u32 pipeline)
+@@ -659,6 +659,7 @@ static void isc_set_pipeline(struct isc_
regmap_bulk_write(regmap, ISC_GAM_GENTRY, gamma, GAMMA_ENTRIES);
regmap_bulk_write(regmap, ISC_GAM_RENTRY, gamma, GAMMA_ENTRIES);
isc->config_csc(isc);
isc->config_cbc(isc);
isc->config_cc(isc);
-diff --git a/drivers/media/platform/atmel/atmel-isc.h b/drivers/media/platform/atmel/atmel-isc.h
-index 428419d5a07d..2f093dc968cd 100644
--- a/drivers/media/platform/atmel/atmel-isc.h
+++ b/drivers/media/platform/atmel/atmel-isc.h
@@ -220,6 +220,8 @@ struct isc_reg_offsets {
void (*config_csc)(struct isc_device *isc);
void (*config_cbc)(struct isc_device *isc);
void (*config_cc)(struct isc_device *isc);
-diff --git a/drivers/media/platform/atmel/atmel-sama5d2-isc.c b/drivers/media/platform/atmel/atmel-sama5d2-isc.c
-index 7512012cd9f3..84d1bf3305f2 100644
--- a/drivers/media/platform/atmel/atmel-sama5d2-isc.c
+++ b/drivers/media/platform/atmel/atmel-sama5d2-isc.c
-@@ -107,6 +107,11 @@ static void isc_sama5d2_config_ctrls(struct isc_device *isc,
+@@ -107,6 +107,11 @@ static void isc_sama5d2_config_ctrls(str
v4l2_ctrl_new_std(hdl, ops, V4L2_CID_CONTRAST, -2048, 2047, 1, 256);
}
/* Gamma table with gamma 1/2.2 */
static const u32 isc_sama5d2_gamma_table[][GAMMA_ENTRIES] = {
/* 0 --> gamma 1/1.8 */
-@@ -273,6 +278,7 @@ static int atmel_isc_probe(struct platform_device *pdev)
+@@ -273,6 +278,7 @@ static int atmel_isc_probe(struct platfo
isc->max_width = ISC_SAMA5D2_MAX_SUPPORT_WIDTH;
isc->max_height = ISC_SAMA5D2_MAX_SUPPORT_HEIGHT;
isc->config_csc = isc_sama5d2_config_csc;
isc->config_cbc = isc_sama5d2_config_cbc;
isc->config_cc = isc_sama5d2_config_cc;
---
-2.32.0
-
drivers/media/platform/atmel/atmel-sama5d2-isc.c | 6 ++++++
3 files changed, 10 insertions(+)
-diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c
-index 777a5dc19d6e..aef0d6570d39 100644
--- a/drivers/media/platform/atmel/atmel-isc-base.c
+++ b/drivers/media/platform/atmel/atmel-isc-base.c
-@@ -663,6 +663,7 @@ static void isc_set_pipeline(struct isc_device *isc, u32 pipeline)
+@@ -663,6 +663,7 @@ static void isc_set_pipeline(struct isc_
isc->config_csc(isc);
isc->config_cbc(isc);
isc->config_cc(isc);
}
static int isc_update_profile(struct isc_device *isc)
-diff --git a/drivers/media/platform/atmel/atmel-isc.h b/drivers/media/platform/atmel/atmel-isc.h
-index 2f093dc968cd..151997c11f56 100644
--- a/drivers/media/platform/atmel/atmel-isc.h
+++ b/drivers/media/platform/atmel/atmel-isc.h
@@ -228,6 +228,8 @@ struct isc_reg_offsets {
void (*config_ctrls)(struct isc_device *isc,
const struct v4l2_ctrl_ops *ops);
-diff --git a/drivers/media/platform/atmel/atmel-sama5d2-isc.c b/drivers/media/platform/atmel/atmel-sama5d2-isc.c
-index 84d1bf3305f2..b99849ecb8a1 100644
--- a/drivers/media/platform/atmel/atmel-sama5d2-isc.c
+++ b/drivers/media/platform/atmel/atmel-sama5d2-isc.c
-@@ -112,6 +112,11 @@ static void isc_sama5d2_config_dpc(struct isc_device *isc)
+@@ -112,6 +112,11 @@ static void isc_sama5d2_config_dpc(struc
/* This module is not present on sama5d2 pipeline */
}
/* Gamma table with gamma 1/2.2 */
static const u32 isc_sama5d2_gamma_table[][GAMMA_ENTRIES] = {
/* 0 --> gamma 1/1.8 */
-@@ -282,6 +287,7 @@ static int atmel_isc_probe(struct platform_device *pdev)
+@@ -282,6 +287,7 @@ static int atmel_isc_probe(struct platfo
isc->config_csc = isc_sama5d2_config_csc;
isc->config_cbc = isc_sama5d2_config_cbc;
isc->config_cc = isc_sama5d2_config_cc;
isc->config_ctrls = isc_sama5d2_config_ctrls;
isc->offsets.csc = ISC_SAMA5D2_CSC_OFFSET;
---
-2.32.0
-
drivers/media/platform/atmel/atmel-sama5d2-isc.c | 10 ++++++++++
3 files changed, 15 insertions(+), 4 deletions(-)
-diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c
-index aef0d6570d39..67c16ca17672 100644
--- a/drivers/media/platform/atmel/atmel-isc-base.c
+++ b/drivers/media/platform/atmel/atmel-isc-base.c
-@@ -719,11 +719,10 @@ static void isc_set_histogram(struct isc_device *isc, bool enable)
+@@ -719,11 +719,10 @@ static void isc_set_histogram(struct isc
static int isc_configure(struct isc_device *isc)
{
struct regmap *regmap = isc->regmap;
pipeline = isc->config.bits_pipeline;
dcfg = isc->config.dcfg_imode | isc->dcfg;
-@@ -736,8 +735,7 @@ static int isc_configure(struct isc_device *isc)
+@@ -736,8 +735,7 @@ static int isc_configure(struct isc_devi
regmap_update_bits(regmap, ISC_PFE_CFG0, mask, pfe_cfg0);
regmap_write(regmap, ISC_DCFG + isc->offsets.dma, dcfg);
-diff --git a/drivers/media/platform/atmel/atmel-isc.h b/drivers/media/platform/atmel/atmel-isc.h
-index 151997c11f56..24006327c5e4 100644
--- a/drivers/media/platform/atmel/atmel-isc.h
+++ b/drivers/media/platform/atmel/atmel-isc.h
@@ -230,6 +230,8 @@ struct isc_reg_offsets {
void (*config_ctrls)(struct isc_device *isc,
const struct v4l2_ctrl_ops *ops);
-diff --git a/drivers/media/platform/atmel/atmel-sama5d2-isc.c b/drivers/media/platform/atmel/atmel-sama5d2-isc.c
-index b99849ecb8a1..86704a1a24b9 100644
--- a/drivers/media/platform/atmel/atmel-sama5d2-isc.c
+++ b/drivers/media/platform/atmel/atmel-sama5d2-isc.c
-@@ -117,6 +117,15 @@ static void isc_sama5d2_config_gam(struct isc_device *isc)
+@@ -117,6 +117,15 @@ static void isc_sama5d2_config_gam(struc
/* No specific gamma configuration */
}
/* Gamma table with gamma 1/2.2 */
static const u32 isc_sama5d2_gamma_table[][GAMMA_ENTRIES] = {
/* 0 --> gamma 1/1.8 */
-@@ -288,6 +297,7 @@ static int atmel_isc_probe(struct platform_device *pdev)
+@@ -288,6 +297,7 @@ static int atmel_isc_probe(struct platfo
isc->config_cbc = isc_sama5d2_config_cbc;
isc->config_cc = isc_sama5d2_config_cc;
isc->config_gam = isc_sama5d2_config_gam;
isc->config_ctrls = isc_sama5d2_config_ctrls;
isc->offsets.csc = ISC_SAMA5D2_CSC_OFFSET;
---
-2.32.0
-
.../media/platform/atmel/atmel-sama5d2-isc.c | 136 ++++++++++++++
3 files changed, 165 insertions(+), 150 deletions(-)
-diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c
-index 67c16ca17672..90a62d43fdb1 100644
--- a/drivers/media/platform/atmel/atmel-isc-base.c
+++ b/drivers/media/platform/atmel/atmel-isc-base.c
-@@ -45,137 +45,6 @@ module_param(sensor_preferred, uint, 0644);
+@@ -45,137 +45,6 @@ module_param(sensor_preferred, uint, 064
MODULE_PARM_DESC(sensor_preferred,
"Sensor is preferred to output the specified format (1-on 0-off), default 1");
#define ISC_IS_FORMAT_RAW(mbus_code) \
(((mbus_code) & 0xf000) == 0x3000)
-@@ -919,24 +788,25 @@ static int isc_querycap(struct file *file, void *priv,
+@@ -919,24 +788,25 @@ static int isc_querycap(struct file *fil
static int isc_enum_fmt_vid_cap(struct file *file, void *priv,
struct v4l2_fmtdesc *f)
{
return 0;
}
supported_index++;
-@@ -1477,8 +1347,8 @@ static int isc_enum_framesizes(struct file *file, void *fh,
+@@ -1477,8 +1347,8 @@ static int isc_enum_framesizes(struct fi
if (isc->user_formats[i]->fourcc == fsize->pixel_format)
ret = 0;
ret = 0;
if (ret)
-@@ -1514,8 +1384,8 @@ static int isc_enum_frameintervals(struct file *file, void *fh,
+@@ -1514,8 +1384,8 @@ static int isc_enum_frameintervals(struc
if (isc->user_formats[i]->fourcc == fival->pixel_format)
ret = 0;
ret = 0;
if (ret)
-@@ -2126,12 +1996,13 @@ static void isc_async_unbind(struct v4l2_async_notifier *notifier,
+@@ -2126,12 +1996,13 @@ static void isc_async_unbind(struct v4l2
v4l2_ctrl_handler_free(&isc->ctrls.handler);
}
if (fmt->mbus_code == code) {
*index = i;
return fmt;
-@@ -2148,7 +2019,7 @@ static int isc_formats_init(struct isc_device *isc)
+@@ -2148,7 +2019,7 @@ static int isc_formats_init(struct isc_d
struct isc_format *fmt;
struct v4l2_subdev *subdev = isc->current_subdev->sd;
unsigned int num_fmts, i, j;
struct v4l2_subdev_mbus_code_enum mbus_code = {
.which = V4L2_SUBDEV_FORMAT_ACTIVE,
};
-@@ -2158,7 +2029,7 @@ static int isc_formats_init(struct isc_device *isc)
+@@ -2158,7 +2029,7 @@ static int isc_formats_init(struct isc_d
NULL, &mbus_code)) {
mbus_code.index++;
if (!fmt) {
v4l2_warn(&isc->v4l2_dev, "Mbus code %x not supported\n",
mbus_code.code);
-@@ -2179,7 +2050,7 @@ static int isc_formats_init(struct isc_device *isc)
+@@ -2179,7 +2050,7 @@ static int isc_formats_init(struct isc_d
if (!isc->user_formats)
return -ENOMEM;
for (i = 0, j = 0; i < list_size; i++) {
if (fmt->sd_support)
isc->user_formats[j++] = fmt;
-diff --git a/drivers/media/platform/atmel/atmel-isc.h b/drivers/media/platform/atmel/atmel-isc.h
-index 24006327c5e4..b34737c09a5b 100644
--- a/drivers/media/platform/atmel/atmel-isc.h
+++ b/drivers/media/platform/atmel/atmel-isc.h
@@ -236,6 +236,12 @@ struct isc_reg_offsets {
extern const struct regmap_config isc_regmap_config;
extern const struct v4l2_async_notifier_operations isc_async_ops;
-diff --git a/drivers/media/platform/atmel/atmel-sama5d2-isc.c b/drivers/media/platform/atmel/atmel-sama5d2-isc.c
-index 86704a1a24b9..b8c1b57ed820 100644
--- a/drivers/media/platform/atmel/atmel-sama5d2-isc.c
+++ b/drivers/media/platform/atmel/atmel-sama5d2-isc.c
@@ -54,6 +54,137 @@
static void isc_sama5d2_config_csc(struct isc_device *isc)
{
struct regmap *regmap = isc->regmap;
-@@ -310,6 +441,11 @@ static int atmel_isc_probe(struct platform_device *pdev)
+@@ -310,6 +441,11 @@ static int atmel_isc_probe(struct platfo
isc->offsets.version = ISC_SAMA5D2_VERSION_OFFSET;
isc->offsets.his_entry = ISC_SAMA5D2_HIS_ENTRY_OFFSET;
/* sama5d2-isc - 8 bits per beat */
isc->dcfg = ISC_DCFG_YMBSIZE_BEATS8 | ISC_DCFG_CMBSIZE_BEATS8;
---
-2.32.0
-
drivers/media/platform/atmel/atmel-sama5d2-isc.c | 11 +++++++++++
3 files changed, 20 insertions(+)
-diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c
-index 90a62d43fdb1..7862d6bf850d 100644
--- a/drivers/media/platform/atmel/atmel-isc-base.c
+++ b/drivers/media/platform/atmel/atmel-isc-base.c
-@@ -1059,6 +1059,10 @@ static int isc_try_configure_pipeline(struct isc_device *isc)
+@@ -1059,6 +1059,10 @@ static int isc_try_configure_pipeline(st
default:
isc->try_config.bits_pipeline = 0x0;
}
return 0;
}
-diff --git a/drivers/media/platform/atmel/atmel-isc.h b/drivers/media/platform/atmel/atmel-isc.h
-index b34737c09a5b..f59b2426ae74 100644
--- a/drivers/media/platform/atmel/atmel-isc.h
+++ b/drivers/media/platform/atmel/atmel-isc.h
@@ -235,6 +235,9 @@ struct isc_reg_offsets {
};
struct isc_reg_offsets offsets;
-diff --git a/drivers/media/platform/atmel/atmel-sama5d2-isc.c b/drivers/media/platform/atmel/atmel-sama5d2-isc.c
-index b8c1b57ed820..26c971a380ca 100644
--- a/drivers/media/platform/atmel/atmel-sama5d2-isc.c
+++ b/drivers/media/platform/atmel/atmel-sama5d2-isc.c
@@ -54,6 +54,10 @@
/* This is a list of the formats that the ISC can *output* */
static const struct isc_format sama5d2_controller_formats[] = {
{
-@@ -257,6 +261,11 @@ static void isc_sama5d2_config_rlp(struct isc_device *isc)
+@@ -257,6 +261,11 @@ static void isc_sama5d2_config_rlp(struc
ISC_RLP_CFG_MODE_MASK, rlp_mode);
}
/* Gamma table with gamma 1/2.2 */
static const u32 isc_sama5d2_gamma_table[][GAMMA_ENTRIES] = {
/* 0 --> gamma 1/1.8 */
-@@ -431,6 +440,8 @@ static int atmel_isc_probe(struct platform_device *pdev)
+@@ -431,6 +440,8 @@ static int atmel_isc_probe(struct platfo
isc->config_rlp = isc_sama5d2_config_rlp;
isc->config_ctrls = isc_sama5d2_config_ctrls;
isc->offsets.csc = ISC_SAMA5D2_CSC_OFFSET;
isc->offsets.cbc = ISC_SAMA5D2_CBC_OFFSET;
isc->offsets.sub422 = ISC_SAMA5D2_SUB422_OFFSET;
---
-2.32.0
-
drivers/media/platform/atmel/atmel-isc-regs.h | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
-diff --git a/drivers/media/platform/atmel/atmel-isc-regs.h b/drivers/media/platform/atmel/atmel-isc-regs.h
-index 457eed74cda9..5f99bf7717c1 100644
--- a/drivers/media/platform/atmel/atmel-isc-regs.h
+++ b/drivers/media/platform/atmel/atmel-isc-regs.h
@@ -289,8 +289,18 @@
/* DMA Control Register */
#define ISC_DCTRL 0x000003e4
---
-2.32.0
-
drivers/media/platform/atmel/atmel-isc-base.c | 48 +++++++++++++++----
1 file changed, 38 insertions(+), 10 deletions(-)
-diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c
-index 7862d6bf850d..dcb321ad10b8 100644
--- a/drivers/media/platform/atmel/atmel-isc-base.c
+++ b/drivers/media/platform/atmel/atmel-isc-base.c
-@@ -855,6 +855,8 @@ static int isc_try_validate_formats(struct isc_device *isc)
+@@ -855,6 +855,8 @@ static int isc_try_validate_formats(stru
case V4L2_PIX_FMT_YUV420:
case V4L2_PIX_FMT_YUV422P:
case V4L2_PIX_FMT_YUYV:
ret = 0;
yuv = true;
break;
-@@ -869,6 +871,7 @@ static int isc_try_validate_formats(struct isc_device *isc)
+@@ -869,6 +871,7 @@ static int isc_try_validate_formats(stru
break;
case V4L2_PIX_FMT_GREY:
case V4L2_PIX_FMT_Y10:
ret = 0;
grey = true;
break;
-@@ -899,6 +902,8 @@ static int isc_try_validate_formats(struct isc_device *isc)
+@@ -899,6 +902,8 @@ static int isc_try_validate_formats(stru
*/
static int isc_try_configure_rlp_dma(struct isc_device *isc, bool direct_dump)
{
switch (isc->try_config.fourcc) {
case V4L2_PIX_FMT_SBGGR8:
case V4L2_PIX_FMT_SGBRG8:
-@@ -965,7 +970,19 @@ static int isc_try_configure_rlp_dma(struct isc_device *isc, bool direct_dump)
+@@ -965,7 +970,19 @@ static int isc_try_configure_rlp_dma(str
isc->try_config.bpp = 16;
break;
case V4L2_PIX_FMT_YUYV:
isc->try_config.dcfg_imode = ISC_DCFG_IMODE_PACKED32;
isc->try_config.dctrl_dview = ISC_DCTRL_DVIEW_PACKED;
isc->try_config.bpp = 16;
-@@ -976,8 +993,11 @@ static int isc_try_configure_rlp_dma(struct isc_device *isc, bool direct_dump)
+@@ -976,8 +993,11 @@ static int isc_try_configure_rlp_dma(str
isc->try_config.dctrl_dview = ISC_DCTRL_DVIEW_PACKED;
isc->try_config.bpp = 8;
break;
isc->try_config.dcfg_imode = ISC_DCFG_IMODE_PACKED16;
isc->try_config.dctrl_dview = ISC_DCTRL_DVIEW_PACKED;
isc->try_config.bpp = 16;
-@@ -1011,7 +1031,8 @@ static int isc_try_configure_pipeline(struct isc_device *isc)
+@@ -1011,7 +1031,8 @@ static int isc_try_configure_pipeline(st
/* if sensor format is RAW, we convert inside ISC */
if (ISC_IS_FORMAT_RAW(isc->try_config.sd_format->mbus_code)) {
isc->try_config.bits_pipeline = CFA_ENABLE |
} else {
isc->try_config.bits_pipeline = 0x0;
}
-@@ -1020,8 +1041,9 @@ static int isc_try_configure_pipeline(struct isc_device *isc)
+@@ -1020,8 +1041,9 @@ static int isc_try_configure_pipeline(st
/* if sensor format is RAW, we convert inside ISC */
if (ISC_IS_FORMAT_RAW(isc->try_config.sd_format->mbus_code)) {
isc->try_config.bits_pipeline = CFA_ENABLE |
} else {
isc->try_config.bits_pipeline = 0x0;
}
-@@ -1031,33 +1053,39 @@ static int isc_try_configure_pipeline(struct isc_device *isc)
+@@ -1031,33 +1053,39 @@ static int isc_try_configure_pipeline(st
if (ISC_IS_FORMAT_RAW(isc->try_config.sd_format->mbus_code)) {
isc->try_config.bits_pipeline = CFA_ENABLE |
CSC_ENABLE | WB_ENABLE | GAM_ENABLES |
}
/* Tune the pipeline to product specific */
---
-2.32.0
-
drivers/media/platform/atmel/atmel-sama5d2-isc.c | 2 --
1 file changed, 2 deletions(-)
-diff --git a/drivers/media/platform/atmel/atmel-sama5d2-isc.c b/drivers/media/platform/atmel/atmel-sama5d2-isc.c
-index 26c971a380ca..d6fd22b127fd 100644
--- a/drivers/media/platform/atmel/atmel-sama5d2-isc.c
+++ b/drivers/media/platform/atmel/atmel-sama5d2-isc.c
@@ -52,8 +52,6 @@
#define ISC_SAMA5D2_PIPELINE \
(WB_ENABLE | CFA_ENABLE | CC_ENABLE | GAM_ENABLES | CSC_ENABLE | \
CBC_ENABLE | SUB422_ENABLE | SUB420_ENABLE)
---
-2.32.0
-
6 files changed, 671 insertions(+), 1 deletion(-)
create mode 100644 drivers/media/platform/atmel/atmel-sama7g5-isc.c
-diff --git a/drivers/media/platform/Makefile b/drivers/media/platform/Makefile
-index 62b6cdc8c730..fd15c76402c9 100644
--- a/drivers/media/platform/Makefile
+++ b/drivers/media/platform/Makefile
-@@ -64,6 +64,7 @@ obj-$(CONFIG_VIDEO_RCAR_VIN) += rcar-vin/
+@@ -64,6 +64,7 @@ obj-$(CONFIG_VIDEO_RCAR_VIN) += rcar-vi
obj-$(CONFIG_VIDEO_ATMEL_ISC) += atmel/
obj-$(CONFIG_VIDEO_ATMEL_ISI) += atmel/
obj-$(CONFIG_VIDEO_STM32_DCMI) += stm32/
-diff --git a/drivers/media/platform/atmel/Kconfig b/drivers/media/platform/atmel/Kconfig
-index 1850fe7f9360..99b51213f871 100644
--- a/drivers/media/platform/atmel/Kconfig
+++ b/drivers/media/platform/atmel/Kconfig
@@ -12,6 +12,17 @@ config VIDEO_ATMEL_ISC
config VIDEO_ATMEL_ISI
tristate "ATMEL Image Sensor Interface (ISI) support"
depends on VIDEO_V4L2 && OF
-diff --git a/drivers/media/platform/atmel/Makefile b/drivers/media/platform/atmel/Makefile
-index 2dba38994a70..c5c01556c653 100644
--- a/drivers/media/platform/atmel/Makefile
+++ b/drivers/media/platform/atmel/Makefile
@@ -1,5 +1,7 @@
obj-$(CONFIG_VIDEO_ATMEL_ISI) += atmel-isi.o
obj-$(CONFIG_VIDEO_ATMEL_ISC) += atmel-isc.o
+obj-$(CONFIG_VIDEO_ATMEL_XISC) += atmel-xisc.o
-diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c
-index dcb321ad10b8..46c6e3e20f33 100644
--- a/drivers/media/platform/atmel/atmel-isc-base.c
+++ b/drivers/media/platform/atmel/atmel-isc-base.c
-@@ -600,7 +600,7 @@ static int isc_configure(struct isc_device *isc)
+@@ -600,7 +600,7 @@ static int isc_configure(struct isc_devi
mask = ISC_PFE_CFG0_BPS_MASK | ISC_PFE_CFG0_HPOL_LOW |
ISC_PFE_CFG0_VPOL_LOW | ISC_PFE_CFG0_PPOL_LOW |
ISC_PFE_CFG0_MODE_MASK | ISC_PFE_CFG0_CCIR_CRC |
regmap_update_bits(regmap, ISC_PFE_CFG0, mask, pfe_cfg0);
-diff --git a/drivers/media/platform/atmel/atmel-isc-regs.h b/drivers/media/platform/atmel/atmel-isc-regs.h
-index 5f99bf7717c1..d06b72228d4f 100644
--- a/drivers/media/platform/atmel/atmel-isc-regs.h
+++ b/drivers/media/platform/atmel/atmel-isc-regs.h
@@ -26,6 +26,7 @@
/* Histogram Entry */
#define ISC_HIS_ENTRY 0x00000410
-diff --git a/drivers/media/platform/atmel/atmel-sama7g5-isc.c b/drivers/media/platform/atmel/atmel-sama7g5-isc.c
-new file mode 100644
-index 000000000000..f2785131ff56
--- /dev/null
+++ b/drivers/media/platform/atmel/atmel-sama7g5-isc.c
@@ -0,0 +1,630 @@
+MODULE_AUTHOR("Eugen Hristev <eugen.hristev@microchip.com>");
+MODULE_DESCRIPTION("The V4L2 driver for Microchip-XISC");
+MODULE_LICENSE("GPL v2");
---
-2.32.0
-
sound/soc/atmel/atmel-classd.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
-diff --git a/sound/soc/atmel/atmel-classd.c b/sound/soc/atmel/atmel-classd.c
-index b1a28a9382fb..6023369e0f1a 100644
--- a/sound/soc/atmel/atmel-classd.c
+++ b/sound/soc/atmel/atmel-classd.c
-@@ -48,7 +48,7 @@ static struct atmel_classd_pdata *atmel_classd_dt_init(struct device *dev)
+@@ -48,7 +48,7 @@ static struct atmel_classd_pdata *atmel_
{
struct device_node *np = dev->of_node;
struct atmel_classd_pdata *pdata;
int ret;
if (!np) {
-@@ -60,8 +60,8 @@ static struct atmel_classd_pdata *atmel_classd_dt_init(struct device *dev)
+@@ -60,8 +60,8 @@ static struct atmel_classd_pdata *atmel_
if (!pdata)
return ERR_PTR(-ENOMEM);
pdata->pwm_type = CLASSD_MR_PWMTYP_DIFF;
else
pdata->pwm_type = CLASSD_MR_PWMTYP_SINGLE;
---
-2.32.0
-
sound/soc/atmel/atmel-i2s.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/sound/soc/atmel/atmel-i2s.c b/sound/soc/atmel/atmel-i2s.c
-index 7483c474ccd7..e7169c63becd 100644
--- a/sound/soc/atmel/atmel-i2s.c
+++ b/sound/soc/atmel/atmel-i2s.c
-@@ -613,7 +613,7 @@ static int atmel_i2s_probe(struct platform_device *pdev)
+@@ -613,7 +613,7 @@ static int atmel_i2s_probe(struct platfo
struct regmap *regmap;
void __iomem *base;
int irq;
unsigned int pcm_flags = 0;
unsigned int version;
---
-2.32.0
-
sound/soc/atmel/atmel-i2s.c | 1 +
1 file changed, 1 insertion(+)
-diff --git a/sound/soc/atmel/atmel-i2s.c b/sound/soc/atmel/atmel-i2s.c
-index e7169c63becd..2a5bc7a54e6c 100644
--- a/sound/soc/atmel/atmel-i2s.c
+++ b/sound/soc/atmel/atmel-i2s.c
-@@ -560,6 +560,7 @@ static struct snd_soc_dai_driver atmel_i2s_dai = {
+@@ -560,6 +560,7 @@ static struct snd_soc_dai_driver atmel_i
},
.ops = &atmel_i2s_dai_ops,
.symmetric_rates = 1,
};
static const struct snd_soc_component_driver atmel_i2s_component = {
---
-2.32.0
-
drivers/watchdog/sama5d4_wdt.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
-diff --git a/drivers/watchdog/sama5d4_wdt.c b/drivers/watchdog/sama5d4_wdt.c
-index e5d11d6a2600..ec20ad4e534f 100644
--- a/drivers/watchdog/sama5d4_wdt.c
+++ b/drivers/watchdog/sama5d4_wdt.c
-@@ -268,8 +268,10 @@ static int sama5d4_wdt_probe(struct platform_device *pdev)
+@@ -268,8 +268,10 @@ static int sama5d4_wdt_probe(struct plat
wdd->min_timeout = MIN_WDT_TIMEOUT;
wdd->max_timeout = MAX_WDT_TIMEOUT;
wdt->last_ping = jiffies;
watchdog_set_drvdata(wdd, wdt);
-@@ -329,6 +331,10 @@ static const struct of_device_id sama5d4_wdt_of_match[] = {
+@@ -329,6 +331,10 @@ static const struct of_device_id sama5d4
{
.compatible = "microchip,sam9x60-wdt",
},
{ }
};
MODULE_DEVICE_TABLE(of, sama5d4_wdt_of_match);
---
-2.32.0
-
drivers/media/platform/atmel/atmel-isc-base.c | 11 +++++++++++
3 files changed, 22 insertions(+), 2 deletions(-)
-diff --git a/drivers/media/platform/atmel/Kconfig b/drivers/media/platform/atmel/Kconfig
-index 99b51213f871..dda2f27da317 100644
--- a/drivers/media/platform/atmel/Kconfig
+++ b/drivers/media/platform/atmel/Kconfig
@@ -8,6 +8,7 @@ config VIDEO_ATMEL_ISC
config VIDEO_ATMEL_ISI
tristate "ATMEL Image Sensor Interface (ISI) support"
depends on VIDEO_V4L2 && OF
-diff --git a/drivers/media/platform/atmel/Makefile b/drivers/media/platform/atmel/Makefile
-index c5c01556c653..46d264ab7948 100644
--- a/drivers/media/platform/atmel/Makefile
+++ b/drivers/media/platform/atmel/Makefile
@@ -1,7 +1,8 @@
+obj-$(CONFIG_VIDEO_ATMEL_ISC_BASE) += atmel-isc-base.o
obj-$(CONFIG_VIDEO_ATMEL_ISC) += atmel-isc.o
obj-$(CONFIG_VIDEO_ATMEL_XISC) += atmel-xisc.o
-diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c
-index 46c6e3e20f33..54168b72fd2f 100644
--- a/drivers/media/platform/atmel/atmel-isc-base.c
+++ b/drivers/media/platform/atmel/atmel-isc-base.c
@@ -378,6 +378,7 @@ int isc_clk_init(struct isc_device *isc)
void isc_clk_cleanup(struct isc_device *isc)
{
-@@ -392,6 +393,7 @@ void isc_clk_cleanup(struct isc_device *isc)
+@@ -392,6 +393,7 @@ void isc_clk_cleanup(struct isc_device *
clk_unregister(isc_clk->clk);
}
}
static int isc_queue_setup(struct vb2_queue *vq,
unsigned int *nbuffers, unsigned int *nplanes,
-@@ -1575,6 +1577,7 @@ irqreturn_t isc_interrupt(int irq, void *dev_id)
+@@ -1575,6 +1577,7 @@ irqreturn_t isc_interrupt(int irq, void
return ret;
}
static void isc_hist_count(struct isc_device *isc, u32 *min, u32 *max)
{
-@@ -2209,6 +2212,7 @@ const struct v4l2_async_notifier_operations isc_async_ops = {
+@@ -2209,6 +2212,7 @@ const struct v4l2_async_notifier_operati
.unbind = isc_async_unbind,
.complete = isc_async_complete,
};
void isc_subdev_cleanup(struct isc_device *isc)
{
-@@ -2221,6 +2225,7 @@ void isc_subdev_cleanup(struct isc_device *isc)
+@@ -2221,6 +2225,7 @@ void isc_subdev_cleanup(struct isc_devic
INIT_LIST_HEAD(&isc->subdev_entities);
}
int isc_pipeline_init(struct isc_device *isc)
{
-@@ -2261,6 +2266,7 @@ int isc_pipeline_init(struct isc_device *isc)
+@@ -2261,6 +2266,7 @@ int isc_pipeline_init(struct isc_device
return 0;
}
/* regmap configuration */
#define ATMEL_ISC_REG_MAX 0xd5c
-@@ -2270,4 +2276,9 @@ const struct regmap_config isc_regmap_config = {
+@@ -2270,4 +2276,9 @@ const struct regmap_config isc_regmap_co
.val_bits = 32,
.max_register = ATMEL_ISC_REG_MAX,
};
+MODULE_AUTHOR("Eugen Hristev");
+MODULE_DESCRIPTION("Atmel ISC common code base");
+MODULE_LICENSE("GPL v2");
---
-2.32.0
-
drivers/i2c/busses/i2c-at91-core.c | 17 +++++------------
1 file changed, 5 insertions(+), 12 deletions(-)
-diff --git a/drivers/i2c/busses/i2c-at91-core.c b/drivers/i2c/busses/i2c-at91-core.c
-index e14edd236108..9f3c3e8e8011 100644
--- a/drivers/i2c/busses/i2c-at91-core.c
+++ b/drivers/i2c/busses/i2c-at91-core.c
-@@ -286,9 +286,7 @@ static int at91_twi_remove(struct platform_device *pdev)
+@@ -286,9 +286,7 @@ static int at91_twi_remove(struct platfo
return 0;
}
{
struct at91_twi_dev *twi_dev = dev_get_drvdata(dev);
-@@ -299,7 +297,7 @@ static int at91_twi_runtime_suspend(struct device *dev)
+@@ -299,7 +297,7 @@ static int at91_twi_runtime_suspend(stru
return 0;
}
{
struct at91_twi_dev *twi_dev = dev_get_drvdata(dev);
-@@ -308,7 +306,7 @@ static int at91_twi_runtime_resume(struct device *dev)
+@@ -308,7 +306,7 @@ static int at91_twi_runtime_resume(struc
return clk_prepare_enable(twi_dev->clk);
}
{
if (!pm_runtime_status_suspended(dev))
at91_twi_runtime_suspend(dev);
-@@ -316,7 +314,7 @@ static int at91_twi_suspend_noirq(struct device *dev)
+@@ -316,7 +314,7 @@ static int at91_twi_suspend_noirq(struct
return 0;
}
{
struct at91_twi_dev *twi_dev = dev_get_drvdata(dev);
int ret;
-@@ -342,11 +340,6 @@ static const struct dev_pm_ops at91_twi_pm = {
+@@ -342,11 +340,6 @@ static const struct dev_pm_ops at91_twi_
.runtime_resume = at91_twi_runtime_resume,
};
static struct platform_driver at91_twi_driver = {
.probe = at91_twi_probe,
.remove = at91_twi_remove,
-@@ -354,7 +347,7 @@ static struct platform_driver at91_twi_driver = {
+@@ -354,7 +347,7 @@ static struct platform_driver at91_twi_d
.driver = {
.name = "at91_i2c",
.of_match_table = of_match_ptr(atmel_twi_dt_ids),
},
};
---
-2.32.0
-
sound/soc/codecs/ad193x.h | 4 ++++
2 files changed, 32 insertions(+), 2 deletions(-)
-diff --git a/sound/soc/codecs/ad193x.c b/sound/soc/codecs/ad193x.c
-index f37ab7eda615..278a55af158b 100644
--- a/sound/soc/codecs/ad193x.c
+++ b/sound/soc/codecs/ad193x.c
-@@ -316,6 +316,13 @@ static int ad193x_hw_params(struct snd_pcm_substream *substream,
+@@ -316,6 +316,13 @@ static int ad193x_hw_params(struct snd_p
int word_len = 0, master_rate = 0;
struct snd_soc_component *component = dai->component;
struct ad193x_priv *ad193x = snd_soc_component_get_drvdata(component);
/* bit size */
switch (params_width(params)) {
-@@ -346,6 +353,25 @@ static int ad193x_hw_params(struct snd_pcm_substream *substream,
+@@ -346,6 +353,25 @@ static int ad193x_hw_params(struct snd_p
break;
}
regmap_update_bits(ad193x->regmap, AD193X_PLL_CLK_CTRL0,
AD193X_PLL_INPUT_MASK, master_rate);
-@@ -385,7 +411,7 @@ static struct snd_soc_dai_driver ad193x_dai = {
+@@ -385,7 +411,7 @@ static struct snd_soc_dai_driver ad193x_
.stream_name = "Playback",
.channels_min = 2,
.channels_max = 8,
.formats = SNDRV_PCM_FMTBIT_S32_LE | SNDRV_PCM_FMTBIT_S16_LE |
SNDRV_PCM_FMTBIT_S20_3LE | SNDRV_PCM_FMTBIT_S24_LE,
},
-@@ -407,7 +433,7 @@ static struct snd_soc_dai_driver ad193x_no_adc_dai = {
+@@ -407,7 +433,7 @@ static struct snd_soc_dai_driver ad193x_
.stream_name = "Playback",
.channels_min = 2,
.channels_max = 8,
.formats = SNDRV_PCM_FMTBIT_S32_LE | SNDRV_PCM_FMTBIT_S16_LE |
SNDRV_PCM_FMTBIT_S20_3LE | SNDRV_PCM_FMTBIT_S24_LE,
},
-diff --git a/sound/soc/codecs/ad193x.h b/sound/soc/codecs/ad193x.h
-index 377854712c20..61f4648861d5 100644
--- a/sound/soc/codecs/ad193x.h
+++ b/sound/soc/codecs/ad193x.h
-@@ -37,6 +37,10 @@ int ad193x_probe(struct device *dev, struct regmap *regmap,
+@@ -37,6 +37,10 @@ int ad193x_probe(struct device *dev, str
#define AD193X_PLL_CLK_SRC_MCLK (1 << 1)
#define AD193X_DAC_CTRL0 0x02
#define AD193X_DAC_POWERDOWN 0x01
#define AD193X_DAC_SERFMT_MASK 0xC0
#define AD193X_DAC_SERFMT_STEREO (0 << 6)
#define AD193X_DAC_SERFMT_TDM (1 << 6)
---
-2.32.0
-
.../media/platform/atmel/atmel-sama5d2-isc.c | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
-diff --git a/drivers/media/platform/atmel/atmel-sama5d2-isc.c b/drivers/media/platform/atmel/atmel-sama5d2-isc.c
-index d6fd22b127fd..4f09db71d152 100644
--- a/drivers/media/platform/atmel/atmel-sama5d2-isc.c
+++ b/drivers/media/platform/atmel/atmel-sama5d2-isc.c
-@@ -255,6 +255,23 @@ static void isc_sama5d2_config_rlp(struct isc_device *isc)
+@@ -255,6 +255,23 @@ static void isc_sama5d2_config_rlp(struc
struct regmap *regmap = isc->regmap;
u32 rlp_mode = isc->config.rlp_cfg_mode;
regmap_update_bits(regmap, ISC_RLP_CFG + isc->offsets.rlp,
ISC_RLP_CFG_MODE_MASK, rlp_mode);
}
---
-2.32.0
-
include/linux/clk/at91_pmc.h | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)
-diff --git a/include/linux/clk/at91_pmc.h b/include/linux/clk/at91_pmc.h
-index a4f82e836a7c..ccb3f034bfa9 100644
--- a/include/linux/clk/at91_pmc.h
+++ b/include/linux/clk/at91_pmc.h
@@ -137,6 +137,32 @@
#define AT91_PMC_XTALF 0x34 /* Main XTAL Frequency Register [SAMA7G5 only] */
#define AT91_PMC_USB 0x38 /* USB Clock Register [some SAM9 only] */
---
-2.32.0
-
arch/arm/mach-at91/Kconfig | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
-diff --git a/arch/arm/mach-at91/Kconfig b/arch/arm/mach-at91/Kconfig
-index ccd7e80ce943..b09bb2279f7f 100644
--- a/arch/arm/mach-at91/Kconfig
+++ b/arch/arm/mach-at91/Kconfig
@@ -57,6 +57,16 @@ config SOC_SAMA5D4
+ select SOC_SAM_V7
+ select SRAM if PM
endif
---
-2.32.0
-
arch/arm/Kconfig.debug | 10 ++++++++++
1 file changed, 10 insertions(+)
-diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
-index dd1cf7035398..09901118e3fb 100644
--- a/arch/arm/Kconfig.debug
+++ b/arch/arm/Kconfig.debug
@@ -191,6 +191,14 @@ choice
default 0xf0010000 if DEBUG_ASM9260_UART
default 0xf0100000 if DEBUG_DIGICOLOR_UA0
default 0xf01fb000 if DEBUG_NOMADIK_UART
---
-2.32.0
-
arch/arm/mach-at91/pm.c | 34 +++++++++++++++++++++-------------
1 file changed, 21 insertions(+), 13 deletions(-)
-diff --git a/arch/arm/mach-at91/pm.c b/arch/arm/mach-at91/pm.c
-index 2dee383f9050..3fa223c21618 100644
--- a/arch/arm/mach-at91/pm.c
+++ b/arch/arm/mach-at91/pm.c
@@ -27,10 +27,25 @@
struct at91_pm_data data;
};
-@@ -71,13 +86,6 @@ static int at91_pm_valid_state(suspend_state_t state)
+@@ -71,13 +86,6 @@ static int at91_pm_valid_state(suspend_s
static int canary = 0xA5A5A5A5;
struct wakeup_source_info {
unsigned int pmc_fsmr_bit;
unsigned int shdwc_mr_bit;
-@@ -288,7 +296,7 @@ static int at91_suspend_finish(unsigned long val)
+@@ -288,7 +296,7 @@ static int at91_suspend_finish(unsigned
static void at91_pm_suspend(suspend_state_t state)
{
if (soc_pm.data.mode == AT91_PM_BACKUP) {
cpu_suspend(0, at91_suspend_finish);
-@@ -672,16 +680,16 @@ static int __init at91_pm_backup_init(void)
+@@ -672,16 +680,16 @@ static int __init at91_pm_backup_init(vo
goto securam_fail;
}
return 0;
---
-2.32.0
-
arch/arm/mach-at91/pm.c | 15 ++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)
-diff --git a/arch/arm/mach-at91/pm.c b/arch/arm/mach-at91/pm.c
-index 3fa223c21618..f182d8bf6f82 100644
--- a/arch/arm/mach-at91/pm.c
+++ b/arch/arm/mach-at91/pm.c
-@@ -214,6 +214,8 @@ static int at91_sam9x60_config_pmc_ws(void __iomem *pmc, u32 mode, u32 polarity)
+@@ -214,6 +214,8 @@ static int at91_sam9x60_config_pmc_ws(vo
*/
static int at91_pm_begin(suspend_state_t state)
{
switch (state) {
case PM_SUSPEND_MEM:
soc_pm.data.mode = soc_pm.data.suspend_mode;
-@@ -227,7 +229,16 @@ static int at91_pm_begin(suspend_state_t state)
+@@ -227,7 +229,16 @@ static int at91_pm_begin(suspend_state_t
soc_pm.data.mode = -1;
}
}
/*
-@@ -296,8 +307,6 @@ static int at91_suspend_finish(unsigned long val)
+@@ -296,8 +307,6 @@ static int at91_suspend_finish(unsigned
static void at91_pm_suspend(suspend_state_t state)
{
if (soc_pm.data.mode == AT91_PM_BACKUP) {
cpu_suspend(0, at91_suspend_finish);
/* The SRAM is lost between suspend cycles */
---
-2.32.0
-
arch/arm/mach-at91/pm.c | 8 ++++++++
1 file changed, 8 insertions(+)
-diff --git a/arch/arm/mach-at91/pm.c b/arch/arm/mach-at91/pm.c
-index f182d8bf6f82..a060bec77f20 100644
--- a/arch/arm/mach-at91/pm.c
+++ b/arch/arm/mach-at91/pm.c
@@ -41,6 +41,14 @@ struct at91_pm_bu {
struct at91_soc_pm {
int (*config_shdwc_ws)(void __iomem *shdwc, u32 *mode, u32 *polarity);
int (*config_pmc_ws)(void __iomem *pmc, u32 mode, u32 polarity);
---
-2.32.0
-
arch/arm/mach-at91/pm.c | 143 +++++++++++++++++++++++++---------------
1 file changed, 91 insertions(+), 52 deletions(-)
-diff --git a/arch/arm/mach-at91/pm.c b/arch/arm/mach-at91/pm.c
-index a060bec77f20..e9f9fb410761 100644
--- a/arch/arm/mach-at91/pm.c
+++ b/arch/arm/mach-at91/pm.c
@@ -57,6 +57,18 @@ struct at91_soc_pm {
static struct at91_soc_pm soc_pm = {
.data = {
.standby_mode = AT91_PM_STANDBY,
-@@ -671,24 +683,15 @@ static int __init at91_pm_backup_init(void)
+@@ -671,24 +683,15 @@ static int __init at91_pm_backup_init(vo
if (!at91_is_pm_mode_active(AT91_PM_BACKUP))
return 0;
}
sram_pool = gen_pool_get(&pdev->dev, NULL);
-@@ -712,64 +715,92 @@ static int __init at91_pm_backup_init(void)
+@@ -712,64 +715,92 @@ static int __init at91_pm_backup_init(vo
securam_fail:
put_device(&pdev->dev);
+ if (soc_pm.data.suspend_mode == AT91_PM_BACKUP)
+ soc_pm.data.suspend_mode = AT91_PM_ULP0;
+ }
-
-- np = of_find_matching_node(NULL, atmel_shdwc_ids);
-- if (!np) {
-- pr_warn("%s: failed to find shdwc!\n", __func__);
-- goto ulp1_default;
++
+ if (maps[soc_pm.data.standby_mode] & AT91_PM_IOMAP(SHDWC) ||
+ maps[soc_pm.data.suspend_mode] & AT91_PM_IOMAP(SHDWC)) {
+ np = of_find_matching_node(NULL, atmel_shdwc_ids);
+ soc_pm.data.shdwc = of_iomap(np, 0);
+ of_node_put(np);
+ }
- }
++ }
-- soc_pm.data.shdwc = of_iomap(np, 0);
-- of_node_put(np);
+- np = of_find_matching_node(NULL, atmel_shdwc_ids);
+- if (!np) {
+- pr_warn("%s: failed to find shdwc!\n", __func__);
+- goto ulp1_default;
+ if (maps[soc_pm.data.standby_mode] & AT91_PM_IOMAP(SFRBU) ||
+ maps[soc_pm.data.suspend_mode] & AT91_PM_IOMAP(SFRBU)) {
+ np = of_find_compatible_node(NULL, NULL, "atmel,sama5d2-sfrbu");
+ soc_pm.data.sfrbu = of_iomap(np, 0);
+ of_node_put(np);
+ }
-+ }
+ }
-- ret = at91_pm_backup_init();
-- if (ret) {
-- if (!at91_is_pm_mode_active(AT91_PM_ULP1))
-- goto unmap;
-- else
-- goto backup_default;
+- soc_pm.data.shdwc = of_iomap(np, 0);
+- of_node_put(np);
+ /* Unmap all unnecessary. */
+ if (soc_pm.data.shdwc &&
+ !(maps[soc_pm.data.standby_mode] & AT91_PM_IOMAP(SHDWC) ||
+ maps[soc_pm.data.suspend_mode] & AT91_PM_IOMAP(SHDWC))) {
+ iounmap(soc_pm.data.shdwc);
+ soc_pm.data.shdwc = NULL;
- }
++ }
-- return;
+- ret = at91_pm_backup_init();
+- if (ret) {
+- if (!at91_is_pm_mode_active(AT91_PM_ULP1))
+- goto unmap;
+- else
+- goto backup_default;
+ if (soc_pm.data.sfrbu &&
+ !(maps[soc_pm.data.standby_mode] & AT91_PM_IOMAP(SFRBU) ||
+ maps[soc_pm.data.suspend_mode] & AT91_PM_IOMAP(SFRBU))) {
+ iounmap(soc_pm.data.sfrbu);
+ soc_pm.data.sfrbu = NULL;
-+ }
+ }
+ return;
+-
-unmap:
- iounmap(soc_pm.data.shdwc);
- soc_pm.data.shdwc = NULL;
- at91_pm_use_default_mode(AT91_PM_ULP1);
-backup_default:
- at91_pm_use_default_mode(AT91_PM_BACKUP);
-+ return;
}
struct pmc_info {
ret = at91_dt_ramc();
if (ret)
return;
---
-2.32.0
-
arch/arm/mach-at91/pm.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/arch/arm/mach-at91/pm.c b/arch/arm/mach-at91/pm.c
-index e9f9fb410761..96f2be0a53cb 100644
--- a/arch/arm/mach-at91/pm.c
+++ b/arch/arm/mach-at91/pm.c
-@@ -674,7 +674,7 @@ static int __init at91_pm_backup_init(void)
+@@ -674,7 +674,7 @@ static int __init at91_pm_backup_init(vo
{
struct gen_pool *sram_pool;
struct device_node *np;
int ret = -ENODEV;
if (!IS_ENABLED(CONFIG_SOC_SAMA5D2))
---
-2.32.0
-
arch/arm/mach-at91/pm_suspend.S | 18 ++++++++++++------
1 file changed, 12 insertions(+), 6 deletions(-)
-diff --git a/arch/arm/mach-at91/pm_suspend.S b/arch/arm/mach-at91/pm_suspend.S
-index b683c2caa40b..3d20c9880fee 100644
--- a/arch/arm/mach-at91/pm_suspend.S
+++ b/arch/arm/mach-at91/pm_suspend.S
@@ -31,30 +31,36 @@ tmp3 .req r6
dsb
---
-2.32.0
-
arch/arm/mach-at91/pm_suspend.S | 397 +++++++++++++++++---------------
1 file changed, 205 insertions(+), 192 deletions(-)
-diff --git a/arch/arm/mach-at91/pm_suspend.S b/arch/arm/mach-at91/pm_suspend.S
-index 3d20c9880fee..960ad29cce51 100644
--- a/arch/arm/mach-at91/pm_suspend.S
+++ b/arch/arm/mach-at91/pm_suspend.S
@@ -75,98 +75,147 @@ tmp3 .req r6
.pmc_base:
.word 0
---
-2.32.0
-
arch/arm/mach-at91/pm_suspend.S | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
-diff --git a/arch/arm/mach-at91/pm_suspend.S b/arch/arm/mach-at91/pm_suspend.S
-index 960ad29cce51..1f63bbfad728 100644
--- a/arch/arm/mach-at91/pm_suspend.S
+++ b/arch/arm/mach-at91/pm_suspend.S
@@ -422,7 +422,7 @@ sr_dis_exit:
/* step 1. */
ldr tmp1, [pmc, #AT91_PMC_PLL_UPDT]
bic tmp1, tmp1, #AT91_PMC_PLL_UPDT_ID
---
-2.32.0
-
arch/arm/mach-at91/pm_suspend.S | 48 ++++++++++++++++++++++++---------
1 file changed, 35 insertions(+), 13 deletions(-)
-diff --git a/arch/arm/mach-at91/pm_suspend.S b/arch/arm/mach-at91/pm_suspend.S
-index 1f63bbfad728..7669b32d5257 100644
--- a/arch/arm/mach-at91/pm_suspend.S
+++ b/arch/arm/mach-at91/pm_suspend.S
@@ -22,11 +22,23 @@ tmp3 .req r6
/*BUMEN*/
ldr r0, .sfrbu
---
-2.32.0
-
1 file changed, 34 insertions(+)
create mode 100644 include/soc/at91/sama7-sfrbu.h
-diff --git a/include/soc/at91/sama7-sfrbu.h b/include/soc/at91/sama7-sfrbu.h
-new file mode 100644
-index 000000000000..76b740810d34
--- /dev/null
+++ b/include/soc/at91/sama7-sfrbu.h
@@ -0,0 +1,34 @@
+
+#endif /* __SAMA7_SFRBU_H__ */
+
---
-2.32.0
-
1 file changed, 80 insertions(+)
create mode 100644 include/soc/at91/sama7-ddr.h
-diff --git a/include/soc/at91/sama7-ddr.h b/include/soc/at91/sama7-ddr.h
-new file mode 100644
-index 000000000000..f6542584ca13
--- /dev/null
+++ b/include/soc/at91/sama7-ddr.h
@@ -0,0 +1,80 @@
+#endif /* CONFIG_SOC_SAMA7 */
+
+#endif /* __SAMA7_DDR_H__ */
---
-2.32.0
-
arch/arm/mach-at91/pm_suspend.S | 199 +++++++++++++++++++++++++++
3 files changed, 203 insertions(+)
-diff --git a/arch/arm/mach-at91/pm.h b/arch/arm/mach-at91/pm.h
-index bfb260be371e..666474088d55 100644
--- a/arch/arm/mach-at91/pm.h
+++ b/arch/arm/mach-at91/pm.h
@@ -12,6 +12,7 @@
unsigned long uhp_udp_mask;
unsigned int memctrl;
unsigned int mode;
-diff --git a/arch/arm/mach-at91/pm_data-offsets.c b/arch/arm/mach-at91/pm_data-offsets.c
-index 82089ff258c0..40bd4e8fe40a 100644
--- a/arch/arm/mach-at91/pm_data-offsets.c
+++ b/arch/arm/mach-at91/pm_data-offsets.c
@@ -8,6 +8,8 @@ int main(void)
DEFINE(PM_DATA_MEMCTRL, offsetof(struct at91_pm_data, memctrl));
DEFINE(PM_DATA_MODE, offsetof(struct at91_pm_data, mode));
DEFINE(PM_DATA_SHDWC, offsetof(struct at91_pm_data, shdwc));
-diff --git a/arch/arm/mach-at91/pm_suspend.S b/arch/arm/mach-at91/pm_suspend.S
-index 7669b32d5257..84418120ba67 100644
--- a/arch/arm/mach-at91/pm_suspend.S
+++ b/arch/arm/mach-at91/pm_suspend.S
@@ -87,6 +87,200 @@ tmp3 .req r6
.shdwc:
.word 0
.sfrbu:
---
-2.32.0
-
arch/arm/mach-at91/pm_suspend.S | 126 ++++++++++++++++++++++++++++++++
1 file changed, 126 insertions(+)
-diff --git a/arch/arm/mach-at91/pm_suspend.S b/arch/arm/mach-at91/pm_suspend.S
-index 84418120ba67..8b0b8619ee8a 100644
--- a/arch/arm/mach-at91/pm_suspend.S
+++ b/arch/arm/mach-at91/pm_suspend.S
@@ -765,7 +765,122 @@ sr_dis_exit:
ENTRY(at91_pm_suspend_in_sram_sz)
.word .-at91_pm_suspend_in_sram
---
-2.32.0
-
arch/arm/mach-at91/pm_suspend.S | 29 +++++++++++++++++++++++++++++
2 files changed, 30 insertions(+)
-diff --git a/arch/arm/mach-at91/pm.h b/arch/arm/mach-at91/pm.h
-index 666474088d55..53bdc9000e44 100644
--- a/arch/arm/mach-at91/pm.h
+++ b/arch/arm/mach-at91/pm.h
@@ -13,6 +13,7 @@
#define AT91_MEMCTRL_MC 0
#define AT91_MEMCTRL_SDRAMC 1
-diff --git a/arch/arm/mach-at91/pm_suspend.S b/arch/arm/mach-at91/pm_suspend.S
-index 8b0b8619ee8a..9c9e08fd8300 100644
--- a/arch/arm/mach-at91/pm_suspend.S
+++ b/arch/arm/mach-at91/pm_suspend.S
@@ -83,6 +83,29 @@ tmp3 .req r6
ldr pmc, .pmc_base
at91_plla_enable
---
-2.32.0
-
arch/arm/mach-at91/pm_suspend.S | 5 +++++
1 file changed, 5 insertions(+)
-diff --git a/arch/arm/mach-at91/pm_suspend.S b/arch/arm/mach-at91/pm_suspend.S
-index 9c9e08fd8300..7396e18dd7e5 100644
--- a/arch/arm/mach-at91/pm_suspend.S
+++ b/arch/arm/mach-at91/pm_suspend.S
@@ -980,6 +980,11 @@ ulp_exit:
/* Shutdown */
ldr r0, .shdwc
mov tmp1, #0xA5000000
---
-2.32.0
-
arch/arm/mach-at91/pm.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
-diff --git a/arch/arm/mach-at91/pm.c b/arch/arm/mach-at91/pm.c
-index 96f2be0a53cb..622d68724c3f 100644
--- a/arch/arm/mach-at91/pm.c
+++ b/arch/arm/mach-at91/pm.c
-@@ -548,6 +548,7 @@ static const struct of_device_id ramc_ids[] __initconst = {
+@@ -548,6 +548,7 @@ static const struct of_device_id ramc_id
{ .compatible = "atmel,at91sam9260-sdramc", .data = &ramc_infos[1] },
{ .compatible = "atmel,at91sam9g45-ddramc", .data = &ramc_infos[2] },
{ .compatible = "atmel,sama5d3-ddramc", .data = &ramc_infos[3] },
idx++;
}
---
-2.32.0
-
arch/arm/mach-at91/pm.c | 27 +++++++++++++++++++++------
1 file changed, 21 insertions(+), 6 deletions(-)
-diff --git a/arch/arm/mach-at91/pm.c b/arch/arm/mach-at91/pm.c
-index 622d68724c3f..b047a1f2ddfb 100644
--- a/arch/arm/mach-at91/pm.c
+++ b/arch/arm/mach-at91/pm.c
-@@ -552,7 +552,12 @@ static const struct of_device_id ramc_ids[] __initconst = {
+@@ -552,7 +552,12 @@ static const struct of_device_id ramc_id
{ /*sentinel*/ }
};
if (ret)
return;
---
-2.32.0
-
arch/arm/mach-at91/pm.c | 60 ++++++++++++++++++++++++++++++++++++++++-
1 file changed, 59 insertions(+), 1 deletion(-)
-diff --git a/arch/arm/mach-at91/pm.c b/arch/arm/mach-at91/pm.c
-index b047a1f2ddfb..fd3beaeec17d 100644
--- a/arch/arm/mach-at91/pm.c
+++ b/arch/arm/mach-at91/pm.c
@@ -10,6 +10,7 @@
flush_cache_all();
outer_disable();
-@@ -688,12 +709,40 @@ static bool __init at91_is_pm_mode_active(int pm_mode)
+@@ -688,12 +709,40 @@ static bool __init at91_is_pm_mode_activ
soc_pm.data.suspend_mode == pm_mode);
}
if (!IS_ENABLED(CONFIG_SOC_SAMA5D2))
return -EPERM;
-@@ -728,6 +777,15 @@ static int __init at91_pm_backup_init(void)
+@@ -728,6 +777,15 @@ static int __init at91_pm_backup_init(vo
soc_pm.bu->suspended = 0;
soc_pm.bu->canary = __pa_symbol(&canary);
soc_pm.bu->resume = __pa_symbol(cpu_resume);
return 0;
---
-2.32.0
-
arch/arm/mach-at91/pm_suspend.S | 7 +++++++
2 files changed, 9 insertions(+), 1 deletion(-)
-diff --git a/arch/arm/mach-at91/pm.c b/arch/arm/mach-at91/pm.c
-index fd3beaeec17d..653350eec9b6 100644
--- a/arch/arm/mach-at91/pm.c
+++ b/arch/arm/mach-at91/pm.c
-@@ -744,7 +744,8 @@ static int __init at91_pm_backup_init(void)
+@@ -744,7 +744,8 @@ static int __init at91_pm_backup_init(vo
struct platform_device *pdev;
int ret = -ENODEV, located = 0;
return -EPERM;
if (!at91_is_pm_mode_active(AT91_PM_BACKUP))
-diff --git a/arch/arm/mach-at91/pm_suspend.S b/arch/arm/mach-at91/pm_suspend.S
-index 7396e18dd7e5..cbd61a3bcab1 100644
--- a/arch/arm/mach-at91/pm_suspend.S
+++ b/arch/arm/mach-at91/pm_suspend.S
@@ -106,6 +106,12 @@ lp_done_\ena:
str tmp1, [r0, #0]
.endm
---
-2.32.0
-
arch/arm/mach-at91/pm.c | 6 ++++++
1 file changed, 6 insertions(+)
-diff --git a/arch/arm/mach-at91/pm.c b/arch/arm/mach-at91/pm.c
-index 653350eec9b6..687ce8582b4f 100644
--- a/arch/arm/mach-at91/pm.c
+++ b/arch/arm/mach-at91/pm.c
-@@ -912,6 +912,11 @@ static const struct pmc_info pmc_infos[] __initconst = {
+@@ -912,6 +912,11 @@ static const struct pmc_info pmc_infos[]
.mckr = 0x28,
.version = AT91_PMC_V2,
},
};
static const struct of_device_id atmel_pmc_ids[] __initconst = {
-@@ -927,6 +932,7 @@ static const struct of_device_id atmel_pmc_ids[] __initconst = {
+@@ -927,6 +932,7 @@ static const struct of_device_id atmel_p
{ .compatible = "atmel,sama5d4-pmc", .data = &pmc_infos[1] },
{ .compatible = "atmel,sama5d2-pmc", .data = &pmc_infos[1] },
{ .compatible = "microchip,sam9x60-pmc", .data = &pmc_infos[4] },
{ /* sentinel */ },
};
---
-2.32.0
-
2 files changed, 33 insertions(+)
create mode 100644 arch/arm/mach-at91/sama7.c
-diff --git a/arch/arm/mach-at91/Makefile b/arch/arm/mach-at91/Makefile
-index f565490f1b70..522b680b6446 100644
--- a/arch/arm/mach-at91/Makefile
+++ b/arch/arm/mach-at91/Makefile
-@@ -8,6 +8,7 @@ obj-$(CONFIG_SOC_AT91RM9200) += at91rm9200.o
+@@ -8,6 +8,7 @@ obj-$(CONFIG_SOC_AT91RM9200) += at91rm92
obj-$(CONFIG_SOC_AT91SAM9) += at91sam9.o
obj-$(CONFIG_SOC_SAM9X60) += sam9x60.o
obj-$(CONFIG_SOC_SAMA5) += sama5.o
obj-$(CONFIG_SOC_SAMV7) += samv7.o
# Power Management
-diff --git a/arch/arm/mach-at91/sama7.c b/arch/arm/mach-at91/sama7.c
-new file mode 100644
-index 000000000000..19d7bcbc97f1
--- /dev/null
+++ b/arch/arm/mach-at91/sama7.c
@@ -0,0 +1,32 @@
+ .dt_compat = sama7_dt_board_compat,
+MACHINE_END
+
---
-2.32.0
-
arch/arm/mach-at91/sama7.c | 1 +
3 files changed, 40 insertions(+)
-diff --git a/arch/arm/mach-at91/generic.h b/arch/arm/mach-at91/generic.h
-index 0a4cdcb4985b..0c3960a8b3eb 100644
--- a/arch/arm/mach-at91/generic.h
+++ b/arch/arm/mach-at91/generic.h
-@@ -14,12 +14,14 @@ extern void __init at91sam9_pm_init(void);
+@@ -14,12 +14,14 @@ extern void __init at91sam9_pm_init(void
extern void __init sam9x60_pm_init(void);
extern void __init sama5_pm_init(void);
extern void __init sama5d2_pm_init(void);
#endif
#endif /* _AT91_GENERIC_H */
-diff --git a/arch/arm/mach-at91/pm.c b/arch/arm/mach-at91/pm.c
-index 687ce8582b4f..9c8c998cf9f4 100644
--- a/arch/arm/mach-at91/pm.c
+++ b/arch/arm/mach-at91/pm.c
-@@ -152,6 +152,17 @@ static const struct of_device_id sam9x60_ws_ids[] = {
+@@ -152,6 +152,17 @@ static const struct of_device_id sam9x60
{ /* sentinel */ }
};
static int __init at91_pm_modes_select(char *str)
{
char *s;
-diff --git a/arch/arm/mach-at91/sama7.c b/arch/arm/mach-at91/sama7.c
-index 19d7bcbc97f1..bd43733ede18 100644
--- a/arch/arm/mach-at91/sama7.c
+++ b/arch/arm/mach-at91/sama7.c
@@ -17,6 +17,7 @@
}
static const char *const sama7_dt_board_compat[] __initconst = {
---
-2.32.0
-
arch/arm/mach-at91/pm.c | 1 +
1 file changed, 1 insertion(+)
-diff --git a/arch/arm/mach-at91/pm.c b/arch/arm/mach-at91/pm.c
-index 9c8c998cf9f4..a07e14d89ba4 100644
--- a/arch/arm/mach-at91/pm.c
+++ b/arch/arm/mach-at91/pm.c
-@@ -809,6 +809,7 @@ static int __init at91_pm_backup_init(void)
+@@ -809,6 +809,7 @@ securam_fail:
static const struct of_device_id atmel_shdwc_ids[] = {
{ .compatible = "atmel,sama5d2-shdwc" },
{ .compatible = "microchip,sam9x60-shdwc" },
{ /* sentinel. */ }
};
---
-2.32.0
-
1 file changed, 209 insertions(+)
create mode 100644 arch/arm/configs/sama7_defconfig
-diff --git a/arch/arm/configs/sama7_defconfig b/arch/arm/configs/sama7_defconfig
-new file mode 100644
-index 000000000000..938aae4bd80b
--- /dev/null
+++ b/arch/arm/configs/sama7_defconfig
@@ -0,0 +1,209 @@
+# CONFIG_FTRACE is not set
+CONFIG_DEBUG_USER=y
+# CONFIG_RUNTIME_TESTING_MENU is not set
---
-2.32.0
-
arch/arm/configs/multi_v7_defconfig | 2 ++
1 file changed, 2 insertions(+)
-diff --git a/arch/arm/configs/multi_v7_defconfig b/arch/arm/configs/multi_v7_defconfig
-index a611b0c1e540..4974f9bf163f 100644
--- a/arch/arm/configs/multi_v7_defconfig
+++ b/arch/arm/configs/multi_v7_defconfig
@@ -15,6 +15,7 @@ CONFIG_ARCH_AT91=y
CONFIG_BCM2835_MBOX=y
CONFIG_ROCKCHIP_IOMMU=y
CONFIG_TEGRA_IOMMU_GART=y
---
-2.32.0
-
create mode 100644 arch/arm/boot/dts/sama7g5-pinfunc.h
create mode 100644 arch/arm/boot/dts/sama7g5.dtsi
-diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
-index ce66ffd5a1bb..2345a2304bd0 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
-@@ -78,6 +78,8 @@ dtb-$(CONFIG_ARCH_ATLAS6) += \
+@@ -79,6 +79,8 @@ dtb-$(CONFIG_ARCH_ATLAS6) += \
atlas6-evb.dtb
dtb-$(CONFIG_ARCH_ATLAS7) += \
atlas7-evb.dtb
dtb-$(CONFIG_ARCH_AXXIA) += \
axm5516-amarillo.dtb
dtb-$(CONFIG_ARCH_BCM2835) += \
-diff --git a/arch/arm/boot/dts/at91-sama7g5ek.dts b/arch/arm/boot/dts/at91-sama7g5ek.dts
-new file mode 100644
-index 000000000000..4cbed98cc2f4
--- /dev/null
+++ b/arch/arm/boot/dts/at91-sama7g5ek.dts
@@ -0,0 +1,656 @@
+ vin-supply = <&vdd_3v3>;
+ status = "okay";
+};
-diff --git a/arch/arm/boot/dts/sama7g5-pinfunc.h b/arch/arm/boot/dts/sama7g5-pinfunc.h
-new file mode 100644
-index 000000000000..22fe9e522a97
--- /dev/null
+++ b/arch/arm/boot/dts/sama7g5-pinfunc.h
@@ -0,0 +1,923 @@
+#define PIN_PE7__TIOA4 PINMUX_PIN(PIN_PE7, 3, 3)
+#define PIN_PE7__ISC_D11 PINMUX_PIN(PIN_PE7, 5, 2)
+#define PIN_PE7__G1_TSUCOMP PINMUX_PIN(PIN_PE7, 7, 1)
-diff --git a/arch/arm/boot/dts/sama7g5.dtsi b/arch/arm/boot/dts/sama7g5.dtsi
-new file mode 100644
-index 000000000000..cc6be6db7b80
--- /dev/null
+++ b/arch/arm/boot/dts/sama7g5.dtsi
@@ -0,0 +1,528 @@
+ };
+ };
+};
---
-2.32.0
-
arch/arm/mach-at91/pm.c | 22 ++++++++++++++++------
1 file changed, 16 insertions(+), 6 deletions(-)
-diff --git a/arch/arm/mach-at91/pm.c b/arch/arm/mach-at91/pm.c
-index a07e14d89ba4..d92afca64b49 100644
--- a/arch/arm/mach-at91/pm.c
+++ b/arch/arm/mach-at91/pm.c
-@@ -589,7 +589,7 @@ static const struct of_device_id ramc_phy_ids[] __initconst = {
+@@ -589,7 +589,7 @@ static const struct of_device_id ramc_ph
{ /* Sentinel. */ },
};
{
struct device_node *np;
const struct of_device_id *of_id;
-@@ -625,12 +625,18 @@ static __init void at91_dt_ramc(bool phy_mandatory)
+@@ -625,12 +625,18 @@ static __init void at91_dt_ramc(bool phy
/* Lookup for DDR PHY node, if any. */
for_each_matching_node_and_match(np, ramc_phy_ids, &of_id) {
soc_pm.data.ramc_phy = of_iomap(np, 0);
at91_pm_modes_init(iomaps, ARRAY_SIZE(iomaps));
at91_pm_init(NULL);
---
-2.32.0
-
arch/arm/boot/dts/sama7g5.dtsi | 12 ++++++++++++
1 file changed, 12 insertions(+)
-diff --git a/arch/arm/boot/dts/sama7g5.dtsi b/arch/arm/boot/dts/sama7g5.dtsi
-index cc6be6db7b80..ecabab4343b6 100644
--- a/arch/arm/boot/dts/sama7g5.dtsi
+++ b/arch/arm/boot/dts/sama7g5.dtsi
-@@ -515,6 +515,18 @@ spi11: spi@400 {
+@@ -515,6 +515,18 @@
};
};
gic: interrupt-controller@e8c11000 {
compatible = "arm,cortex-a7-gic";
#interrupt-cells = <3>;
---
-2.32.0
-
arch/arm/boot/dts/sama7g5.dtsi | 11 +++++++++++
1 file changed, 11 insertions(+)
-diff --git a/arch/arm/boot/dts/sama7g5.dtsi b/arch/arm/boot/dts/sama7g5.dtsi
-index ecabab4343b6..3a4315ac0eb0 100644
--- a/arch/arm/boot/dts/sama7g5.dtsi
+++ b/arch/arm/boot/dts/sama7g5.dtsi
-@@ -75,6 +75,17 @@ soc {
+@@ -75,6 +75,17 @@
#size-cells = <1>;
ranges;
secumod: secumod@e0004000 {
compatible = "microchip,sama7g5-secumod", "atmel,sama5d2-secumod", "syscon";
reg = <0xe0004000 0x4000>;
---
-2.32.0
-
arch/arm/boot/dts/sama7g5.dtsi | 11 +++++++++++
2 files changed, 20 insertions(+)
-diff --git a/arch/arm/boot/dts/at91-sama7g5ek.dts b/arch/arm/boot/dts/at91-sama7g5ek.dts
-index 4cbed98cc2f4..8b13b031a167 100644
--- a/arch/arm/boot/dts/at91-sama7g5ek.dts
+++ b/arch/arm/boot/dts/at91-sama7g5ek.dts
-@@ -634,6 +634,15 @@ &sdmmc2 {
+@@ -634,6 +634,15 @@
pinctrl-0 = <&pinctrl_sdmmc2_default>;
};
&spdifrx {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_spdifrx_default>;
-diff --git a/arch/arm/boot/dts/sama7g5.dtsi b/arch/arm/boot/dts/sama7g5.dtsi
-index 3a4315ac0eb0..e50806cf7660 100644
--- a/arch/arm/boot/dts/sama7g5.dtsi
+++ b/arch/arm/boot/dts/sama7g5.dtsi
-@@ -122,6 +122,17 @@ pmc: pmc@e0018000 {
+@@ -122,6 +122,17 @@
clock-names = "td_slck", "md_slck", "main_xtal";
};
rtt: rtt@e001d020 {
compatible = "microchip,sama7g5-rtt", "microchip,sam9x60-rtt", "atmel,at91sam9260-rtt";
reg = <0xe001d020 0x30>;
---
-2.32.0
-
arch/arm/boot/dts/sama7g5.dtsi | 5 +++++
1 file changed, 5 insertions(+)
-diff --git a/arch/arm/boot/dts/sama7g5.dtsi b/arch/arm/boot/dts/sama7g5.dtsi
-index e50806cf7660..6c58c151c6d9 100644
--- a/arch/arm/boot/dts/sama7g5.dtsi
+++ b/arch/arm/boot/dts/sama7g5.dtsi
-@@ -159,6 +159,11 @@ ps_wdt: watchdog@e001d180 {
+@@ -159,6 +159,11 @@
clocks = <&clk32k 0>;
};
sdmmc0: mmc@e1204000 {
compatible = "microchip,sama7g5-sdhci", "microchip,sam9x60-sdhci";
reg = <0xe1204000 0x4000>;
---
-2.32.0
-
arch/arm/mach-at91/pm.c | 52 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
-diff --git a/arch/arm/mach-at91/pm.c b/arch/arm/mach-at91/pm.c
-index d92afca64b49..8711d6824c1f 100644
--- a/arch/arm/mach-at91/pm.c
+++ b/arch/arm/mach-at91/pm.c
@@ -47,12 +47,26 @@ struct at91_pm_bu {
void *memcs;
};
-@@ -356,9 +371,36 @@ static int at91_suspend_finish(unsigned long val)
+@@ -356,9 +371,36 @@ static int at91_suspend_finish(unsigned
return 0;
}
}
static int __init at91_pm_modes_select(char *str)
---
-2.32.0
-
arch/arm/boot/dts/at91-sama7g5ek.dts | 2 ++
1 file changed, 2 insertions(+)
-diff --git a/arch/arm/boot/dts/at91-sama7g5ek.dts b/arch/arm/boot/dts/at91-sama7g5ek.dts
-index 8b13b031a167..f0772fa01751 100644
--- a/arch/arm/boot/dts/at91-sama7g5ek.dts
+++ b/arch/arm/boot/dts/at91-sama7g5ek.dts
-@@ -196,11 +196,13 @@ vddioddr: VDD_DDR {
+@@ -196,11 +196,13 @@
regulator-state-standby {
regulator-on-in-suspend;
regulator-mode = <4>;
};
};
---
-2.32.0
-
arch/arm/mach-at91/pm_suspend.S | 17 +++++++++--------
1 file changed, 9 insertions(+), 8 deletions(-)
-diff --git a/arch/arm/mach-at91/pm_suspend.S b/arch/arm/mach-at91/pm_suspend.S
-index cbd61a3bcab1..34f251fdb743 100644
--- a/arch/arm/mach-at91/pm_suspend.S
+++ b/arch/arm/mach-at91/pm_suspend.S
@@ -1014,6 +1014,15 @@ ENTRY(at91_pm_suspend_in_sram)
/* Both ldrne below are here to preload their address in the TLB */
ldr tmp1, [r0, #PM_DATA_SHDWC]
str tmp1, .shdwc
---
-2.32.0
-
arch/arm/mach-at91/pm_suspend.S | 25 ++++++++++++++++++++++++-
1 file changed, 24 insertions(+), 1 deletion(-)
-diff --git a/arch/arm/mach-at91/pm_suspend.S b/arch/arm/mach-at91/pm_suspend.S
-index 34f251fdb743..fdb4f63ecde4 100644
--- a/arch/arm/mach-at91/pm_suspend.S
+++ b/arch/arm/mach-at91/pm_suspend.S
@@ -1014,6 +1014,10 @@ ENTRY(at91_pm_suspend_in_sram)
/* Active the self-refresh mode */
at91_sramc_self_refresh_ena
---
-2.32.0
-
arch/arm/boot/dts/at91-sama7g5ek.dts | 28 ++++++++++++++++++++++------
1 file changed, 22 insertions(+), 6 deletions(-)
-diff --git a/arch/arm/boot/dts/at91-sama7g5ek.dts b/arch/arm/boot/dts/at91-sama7g5ek.dts
-index f0772fa01751..30b67cad5f14 100644
--- a/arch/arm/boot/dts/at91-sama7g5ek.dts
+++ b/arch/arm/boot/dts/at91-sama7g5ek.dts
-@@ -355,7 +355,10 @@ &gmac0 {
+@@ -355,7 +355,10 @@
#address-cells = <1>;
#size-cells = <0>;
pinctrl-names = "default";
phy-mode = "rgmii-id";
status = "okay";
-@@ -370,7 +373,9 @@ &gmac1 {
+@@ -370,7 +373,9 @@
#address-cells = <1>;
#size-cells = <0>;
pinctrl-names = "default";
phy-mode = "rmii";
status = "okay";
-@@ -425,14 +430,20 @@ pinctrl_gmac0_default: gmac0_default {
+@@ -425,14 +430,20 @@
<PIN_PA15__G0_TXEN>,
<PIN_PA30__G0_RXCK>,
<PIN_PA18__G0_RXDV>,
bias-pull-up;
};
-@@ -449,8 +460,13 @@ pinctrl_gmac1_default: gmac1_default {
+@@ -449,8 +460,13 @@
<PIN_PD25__G1_RX0>,
<PIN_PD26__G1_RX1>,
<PIN_PD27__G1_RXER>,
<PIN_PD29__G1_MDIO>;
bias-disable;
};
---
-2.32.0
-
arch/arm/boot/dts/at91-sama7g5ek.dts | 6 ++++++
1 file changed, 6 insertions(+)
-diff --git a/arch/arm/boot/dts/at91-sama7g5ek.dts b/arch/arm/boot/dts/at91-sama7g5ek.dts
-index 30b67cad5f14..f3d6aaa3a78d 100644
--- a/arch/arm/boot/dts/at91-sama7g5ek.dts
+++ b/arch/arm/boot/dts/at91-sama7g5ek.dts
-@@ -558,6 +558,7 @@ cmd_data {
+@@ -558,6 +558,7 @@
<PIN_PA8__SDMMC0_DAT5>,
<PIN_PA9__SDMMC0_DAT6>,
<PIN_PA10__SDMMC0_DAT7>;
bias-pull-up;
};
-@@ -565,6 +566,7 @@ ck_cd_rstn_vddsel {
+@@ -565,6 +566,7 @@
pinmux = <PIN_PA0__SDMMC0_CK>,
<PIN_PA2__SDMMC0_RSTN>,
<PIN_PA11__SDMMC0_DS>;
bias-pull-up;
};
};
-@@ -576,6 +578,7 @@ cmd_data {
+@@ -576,6 +578,7 @@
<PIN_PC0__SDMMC1_DAT1>,
<PIN_PC1__SDMMC1_DAT2>,
<PIN_PC2__SDMMC1_DAT3>;
bias-pull-up;
};
-@@ -584,6 +587,7 @@ ck_cd_rstn_vddsel {
+@@ -584,6 +587,7 @@
<PIN_PB28__SDMMC1_RSTN>,
<PIN_PC5__SDMMC1_1V8SEL>,
<PIN_PC4__SDMMC1_CD>;
bias-pull-up;
};
};
-@@ -595,11 +599,13 @@ cmd_data {
+@@ -595,11 +599,13 @@
<PIN_PD6__SDMMC2_DAT1>,
<PIN_PD7__SDMMC2_DAT2>,
<PIN_PD8__SDMMC2_DAT3>;
bias-pull-up;
};
};
---
-2.32.0
-
drivers/clk/at91/pmc.h | 24 ++--
12 files changed, 558 insertions(+), 181 deletions(-)
-diff --git a/drivers/clk/at91/clk-generated.c b/drivers/clk/at91/clk-generated.c
-index b656d25a9767..23cc8297ec4c 100644
--- a/drivers/clk/at91/clk-generated.c
+++ b/drivers/clk/at91/clk-generated.c
@@ -27,6 +27,7 @@ struct clk_generated {
return 0;
}
-@@ -245,6 +256,23 @@ static int clk_generated_set_rate(struct clk_hw *hw,
+@@ -245,6 +256,23 @@ static int clk_generated_set_rate(struct
return 0;
}
static const struct clk_ops generated_ops = {
.enable = clk_generated_enable,
.disable = clk_generated_disable,
-@@ -254,6 +282,8 @@ static const struct clk_ops generated_ops = {
+@@ -254,6 +282,8 @@ static const struct clk_ops generated_op
.get_parent = clk_generated_get_parent,
.set_parent = clk_generated_set_parent,
.set_rate = clk_generated_set_rate,
};
/**
-@@ -320,8 +350,6 @@ at91_clk_register_generated(struct regmap *regmap, spinlock_t *lock,
+@@ -320,8 +350,6 @@ at91_clk_register_generated(struct regma
if (ret) {
kfree(gck);
hw = ERR_PTR(ret);
}
return hw;
-diff --git a/drivers/clk/at91/clk-main.c b/drivers/clk/at91/clk-main.c
-index cfae2f59df66..8601b27c1ae0 100644
--- a/drivers/clk/at91/clk-main.c
+++ b/drivers/clk/at91/clk-main.c
@@ -28,6 +28,7 @@
u8 parent;
};
-@@ -120,10 +123,29 @@ static int clk_main_osc_is_prepared(struct clk_hw *hw)
+@@ -120,10 +123,29 @@ static int clk_main_osc_is_prepared(stru
return (status & AT91_PMC_MOSCS) && clk_main_parent_select(tmp);
}
};
struct clk_hw * __init
-@@ -240,12 +262,31 @@ static unsigned long clk_main_rc_osc_recalc_accuracy(struct clk_hw *hw,
+@@ -240,12 +262,31 @@ static unsigned long clk_main_rc_osc_rec
return osc->accuracy;
}
};
struct clk_hw * __init
-@@ -465,12 +506,37 @@ static u8 clk_sam9x5_main_get_parent(struct clk_hw *hw)
+@@ -465,12 +506,37 @@ static u8 clk_sam9x5_main_get_parent(str
return clk_main_parent_select(status);
}
};
struct clk_hw * __init
-diff --git a/drivers/clk/at91/clk-master.c b/drivers/clk/at91/clk-master.c
-index a80427980bf7..f75549fff023 100644
--- a/drivers/clk/at91/clk-master.c
+++ b/drivers/clk/at91/clk-master.c
@@ -37,6 +37,7 @@ struct clk_master {
u32 *mux_table;
u32 mckr;
int chg_pid;
-@@ -112,10 +113,52 @@ static unsigned long clk_master_div_recalc_rate(struct clk_hw *hw,
+@@ -112,10 +113,52 @@ static unsigned long clk_master_div_reca
return rate;
}
};
static int clk_master_div_set_rate(struct clk_hw *hw, unsigned long rate,
-@@ -125,7 +168,9 @@ static int clk_master_div_set_rate(struct clk_hw *hw, unsigned long rate,
+@@ -125,7 +168,9 @@ static int clk_master_div_set_rate(struc
const struct clk_master_characteristics *characteristics =
master->characteristics;
unsigned long flags;
div = DIV_ROUND_CLOSEST(parent_rate, rate);
if (div > ARRAY_SIZE(characteristics->divisors))
-@@ -145,11 +190,24 @@ static int clk_master_div_set_rate(struct clk_hw *hw, unsigned long rate,
+@@ -145,11 +190,24 @@ static int clk_master_div_set_rate(struc
return -EINVAL;
spin_lock_irqsave(master->lock, flags);
spin_unlock_irqrestore(master->lock, flags);
return 0;
-@@ -197,12 +255,25 @@ static int clk_master_div_determine_rate(struct clk_hw *hw,
+@@ -197,12 +255,25 @@ static int clk_master_div_determine_rate
return 0;
}
};
static void clk_sama7g5_master_best_diff(struct clk_rate_request *req,
-@@ -272,7 +343,8 @@ static int clk_master_pres_set_rate(struct clk_hw *hw, unsigned long rate,
+@@ -272,7 +343,8 @@ static int clk_master_pres_set_rate(stru
{
struct clk_master *master = to_clk_master(hw);
unsigned long flags;
pres = DIV_ROUND_CLOSEST(parent_rate, rate);
if (pres > MASTER_PRES_MAX)
-@@ -284,15 +356,27 @@ static int clk_master_pres_set_rate(struct clk_hw *hw, unsigned long rate,
+@@ -284,15 +356,27 @@ static int clk_master_pres_set_rate(stru
pres = ffs(pres) - 1;
spin_lock_irqsave(master->lock, flags);
}
static unsigned long clk_master_pres_recalc_rate(struct clk_hw *hw,
-@@ -330,11 +414,68 @@ static u8 clk_master_pres_get_parent(struct clk_hw *hw)
+@@ -330,11 +414,68 @@ static u8 clk_master_pres_get_parent(str
return mckr & AT91_PMC_CSS;
}
};
static const struct clk_ops master_pres_ops_chg = {
-@@ -344,6 +485,8 @@ static const struct clk_ops master_pres_ops_chg = {
+@@ -344,6 +485,8 @@ static const struct clk_ops master_pres_
.recalc_rate = clk_master_pres_recalc_rate,
.get_parent = clk_master_pres_get_parent,
.set_rate = clk_master_pres_set_rate,
};
static struct clk_hw * __init
-@@ -539,20 +682,21 @@ static int clk_sama7g5_master_set_parent(struct clk_hw *hw, u8 index)
+@@ -539,20 +682,21 @@ static int clk_sama7g5_master_set_parent
return 0;
}
(master->div << MASTER_DIV_SHIFT) |
PMC_MCR_CMD | PMC_MCR_ID(master->id));
-@@ -563,6 +707,13 @@ static int clk_sama7g5_master_enable(struct clk_hw *hw)
+@@ -563,6 +707,13 @@ static int clk_sama7g5_master_enable(str
cpu_relax();
spin_unlock_irqrestore(master->lock, flags);
return 0;
}
-@@ -620,6 +771,23 @@ static int clk_sama7g5_master_set_rate(struct clk_hw *hw, unsigned long rate,
+@@ -620,6 +771,23 @@ static int clk_sama7g5_master_set_rate(s
return 0;
}
static const struct clk_ops sama7g5_master_ops = {
.enable = clk_sama7g5_master_enable,
.disable = clk_sama7g5_master_disable,
-@@ -629,6 +797,8 @@ static const struct clk_ops sama7g5_master_ops = {
+@@ -629,6 +797,8 @@ static const struct clk_ops sama7g5_mast
.set_rate = clk_sama7g5_master_set_rate,
.get_parent = clk_sama7g5_master_get_parent,
.set_parent = clk_sama7g5_master_set_parent,
};
struct clk_hw * __init
-diff --git a/drivers/clk/at91/clk-peripheral.c b/drivers/clk/at91/clk-peripheral.c
-index 7a27ba8e0577..e14fa5ac734c 100644
--- a/drivers/clk/at91/clk-peripheral.c
+++ b/drivers/clk/at91/clk-peripheral.c
@@ -37,6 +37,7 @@ struct clk_sam9x5_peripheral {
bool auto_div;
int chg_pid;
};
-@@ -155,10 +156,11 @@ static void clk_sam9x5_peripheral_autodiv(struct clk_sam9x5_peripheral *periph)
+@@ -155,10 +156,11 @@ static void clk_sam9x5_peripheral_autodi
periph->div = shift;
}
if (periph->id < PERIPHERAL_ID_MIN)
return 0;
-@@ -168,15 +170,21 @@ static int clk_sam9x5_peripheral_enable(struct clk_hw *hw)
+@@ -168,15 +170,21 @@ static int clk_sam9x5_peripheral_enable(
(periph->id & periph->layout->pid_mask));
regmap_update_bits(periph->regmap, periph->layout->offset,
periph->layout->div_mask | periph->layout->cmd |
static void clk_sam9x5_peripheral_disable(struct clk_hw *hw)
{
struct clk_sam9x5_peripheral *periph = to_clk_sam9x5_peripheral(hw);
-@@ -393,6 +401,23 @@ static int clk_sam9x5_peripheral_set_rate(struct clk_hw *hw,
+@@ -393,6 +401,23 @@ static int clk_sam9x5_peripheral_set_rat
return -EINVAL;
}
static const struct clk_ops sam9x5_peripheral_ops = {
.enable = clk_sam9x5_peripheral_enable,
.disable = clk_sam9x5_peripheral_disable,
-@@ -400,6 +425,8 @@ static const struct clk_ops sam9x5_peripheral_ops = {
+@@ -400,6 +425,8 @@ static const struct clk_ops sam9x5_perip
.recalc_rate = clk_sam9x5_peripheral_recalc_rate,
.round_rate = clk_sam9x5_peripheral_round_rate,
.set_rate = clk_sam9x5_peripheral_set_rate,
};
static const struct clk_ops sam9x5_peripheral_chg_ops = {
-@@ -409,6 +436,8 @@ static const struct clk_ops sam9x5_peripheral_chg_ops = {
+@@ -409,6 +436,8 @@ static const struct clk_ops sam9x5_perip
.recalc_rate = clk_sam9x5_peripheral_recalc_rate,
.determine_rate = clk_sam9x5_peripheral_determine_rate,
.set_rate = clk_sam9x5_peripheral_set_rate,
};
struct clk_hw * __init
-@@ -460,7 +489,6 @@ at91_clk_register_sam9x5_peripheral(struct regmap *regmap, spinlock_t *lock,
+@@ -460,7 +489,6 @@ at91_clk_register_sam9x5_peripheral(stru
hw = ERR_PTR(ret);
} else {
clk_sam9x5_peripheral_autodiv(periph);
}
return hw;
-diff --git a/drivers/clk/at91/clk-pll.c b/drivers/clk/at91/clk-pll.c
-index 6ed986d3eee0..249d6a53cedf 100644
--- a/drivers/clk/at91/clk-pll.c
+++ b/drivers/clk/at91/clk-pll.c
@@ -40,6 +40,7 @@ struct clk_pll {
};
static inline bool clk_pll_ready(struct regmap *regmap, int id)
-@@ -260,6 +261,42 @@ static int clk_pll_set_rate(struct clk_hw *hw, unsigned long rate,
+@@ -260,6 +261,42 @@ static int clk_pll_set_rate(struct clk_h
return 0;
}
};
struct clk_hw * __init
-diff --git a/drivers/clk/at91/clk-programmable.c b/drivers/clk/at91/clk-programmable.c
-index fcf8f6a1c2c6..6c4b259d31d3 100644
--- a/drivers/clk/at91/clk-programmable.c
+++ b/drivers/clk/at91/clk-programmable.c
@@ -24,6 +24,7 @@ struct clk_programmable {
};
#define to_clk_programmable(hw) container_of(hw, struct clk_programmable, hw)
-@@ -177,12 +178,38 @@ static int clk_programmable_set_rate(struct clk_hw *hw, unsigned long rate,
+@@ -177,12 +178,38 @@ static int clk_programmable_set_rate(str
return 0;
}
};
struct clk_hw * __init
-@@ -221,8 +248,6 @@ at91_clk_register_programmable(struct regmap *regmap,
+@@ -221,8 +248,6 @@ at91_clk_register_programmable(struct re
if (ret) {
kfree(prog);
hw = ERR_PTR(ret);
}
return hw;
-diff --git a/drivers/clk/at91/clk-sam9x60-pll.c b/drivers/clk/at91/clk-sam9x60-pll.c
-index 1f52409475e9..a73d7c96ce1d 100644
--- a/drivers/clk/at91/clk-sam9x60-pll.c
+++ b/drivers/clk/at91/clk-sam9x60-pll.c
@@ -38,12 +38,14 @@ struct sam9x60_pll_core {
u8 div;
};
-@@ -75,9 +77,8 @@ static unsigned long sam9x60_frac_pll_recalc_rate(struct clk_hw *hw,
+@@ -75,9 +77,8 @@ static unsigned long sam9x60_frac_pll_re
DIV_ROUND_CLOSEST_ULL((u64)parent_rate * frac->frac, (1 << 22));
}
struct sam9x60_frac *frac = to_sam9x60_frac(core);
struct regmap *regmap = core->regmap;
unsigned int val, cfrac, cmul;
-@@ -141,6 +142,13 @@ static int sam9x60_frac_pll_prepare(struct clk_hw *hw)
+@@ -141,6 +142,13 @@ unlock:
return 0;
}
static void sam9x60_frac_pll_unprepare(struct clk_hw *hw)
{
struct sam9x60_pll_core *core = to_sam9x60_pll_core(hw);
-@@ -280,6 +288,25 @@ static int sam9x60_frac_pll_set_rate_chg(struct clk_hw *hw, unsigned long rate,
+@@ -280,6 +288,25 @@ unlock:
return ret;
}
static const struct clk_ops sam9x60_frac_pll_ops = {
.prepare = sam9x60_frac_pll_prepare,
.unprepare = sam9x60_frac_pll_unprepare,
-@@ -287,6 +314,8 @@ static const struct clk_ops sam9x60_frac_pll_ops = {
+@@ -287,6 +314,8 @@ static const struct clk_ops sam9x60_frac
.recalc_rate = sam9x60_frac_pll_recalc_rate,
.round_rate = sam9x60_frac_pll_round_rate,
.set_rate = sam9x60_frac_pll_set_rate,
};
static const struct clk_ops sam9x60_frac_pll_ops_chg = {
-@@ -296,11 +325,12 @@ static const struct clk_ops sam9x60_frac_pll_ops_chg = {
+@@ -296,11 +325,12 @@ static const struct clk_ops sam9x60_frac
.recalc_rate = sam9x60_frac_pll_recalc_rate,
.round_rate = sam9x60_frac_pll_round_rate,
.set_rate = sam9x60_frac_pll_set_rate_chg,
struct sam9x60_div *div = to_sam9x60_div(core);
struct regmap *regmap = core->regmap;
unsigned long flags;
-@@ -334,6 +364,13 @@ static int sam9x60_div_pll_prepare(struct clk_hw *hw)
+@@ -334,6 +364,13 @@ unlock:
return 0;
}
static void sam9x60_div_pll_unprepare(struct clk_hw *hw)
{
struct sam9x60_pll_core *core = to_sam9x60_pll_core(hw);
-@@ -482,6 +519,25 @@ static int sam9x60_div_pll_set_rate_chg(struct clk_hw *hw, unsigned long rate,
+@@ -482,6 +519,25 @@ unlock:
return 0;
}
static const struct clk_ops sam9x60_div_pll_ops = {
.prepare = sam9x60_div_pll_prepare,
.unprepare = sam9x60_div_pll_unprepare,
-@@ -489,6 +545,8 @@ static const struct clk_ops sam9x60_div_pll_ops = {
+@@ -489,6 +545,8 @@ static const struct clk_ops sam9x60_div_
.recalc_rate = sam9x60_div_pll_recalc_rate,
.round_rate = sam9x60_div_pll_round_rate,
.set_rate = sam9x60_div_pll_set_rate,
};
static const struct clk_ops sam9x60_div_pll_ops_chg = {
-@@ -498,6 +556,8 @@ static const struct clk_ops sam9x60_div_pll_ops_chg = {
+@@ -498,6 +556,8 @@ static const struct clk_ops sam9x60_div_
.recalc_rate = sam9x60_div_pll_recalc_rate,
.round_rate = sam9x60_div_pll_round_rate,
.set_rate = sam9x60_div_pll_set_rate_chg,
};
struct clk_hw * __init
-diff --git a/drivers/clk/at91/clk-system.c b/drivers/clk/at91/clk-system.c
-index f83ec0de86c3..80720fd1a9cf 100644
--- a/drivers/clk/at91/clk-system.c
+++ b/drivers/clk/at91/clk-system.c
@@ -20,6 +20,7 @@
u8 id;
};
-@@ -77,10 +78,29 @@ static int clk_system_is_prepared(struct clk_hw *hw)
+@@ -77,10 +78,29 @@ static int clk_system_is_prepared(struct
return !!(status & (1 << sys->id));
}
};
struct clk_hw * __init
-diff --git a/drivers/clk/at91/clk-usb.c b/drivers/clk/at91/clk-usb.c
-index 31d5c45e30d7..b0696a928aa9 100644
--- a/drivers/clk/at91/clk-usb.c
+++ b/drivers/clk/at91/clk-usb.c
@@ -24,6 +24,7 @@
u32 usbs_mask;
u8 num_parents;
};
-@@ -148,12 +149,38 @@ static int at91sam9x5_clk_usb_set_rate(struct clk_hw *hw, unsigned long rate,
+@@ -148,12 +149,38 @@ static int at91sam9x5_clk_usb_set_rate(s
return 0;
}
};
static int at91sam9n12_clk_usb_enable(struct clk_hw *hw)
-diff --git a/drivers/clk/at91/clk-utmi.c b/drivers/clk/at91/clk-utmi.c
-index df9f3fc3b6a6..a22c10d9a1b9 100644
--- a/drivers/clk/at91/clk-utmi.c
+++ b/drivers/clk/at91/clk-utmi.c
@@ -23,6 +23,7 @@ struct clk_utmi {
};
#define to_clk_utmi(hw) container_of(hw, struct clk_utmi, hw)
-@@ -113,11 +114,30 @@ static unsigned long clk_utmi_recalc_rate(struct clk_hw *hw,
+@@ -113,11 +114,30 @@ static unsigned long clk_utmi_recalc_rat
return UTMI_RATE;
}
};
static struct clk_hw * __init
-@@ -232,10 +252,29 @@ static int clk_utmi_sama7g5_is_prepared(struct clk_hw *hw)
+@@ -232,10 +252,29 @@ static int clk_utmi_sama7g5_is_prepared(
return 0;
}
};
struct clk_hw * __init
-diff --git a/drivers/clk/at91/pmc.c b/drivers/clk/at91/pmc.c
-index b40035b011d0..b2806946a77a 100644
--- a/drivers/clk/at91/pmc.c
+++ b/drivers/clk/at91/pmc.c
@@ -3,6 +3,7 @@
#include "pmc.h"
#define PMC_MAX_IDS 128
-@@ -111,147 +110,19 @@ struct pmc_data *pmc_data_allocate(unsigned int ncore, unsigned int nsystem,
+@@ -111,147 +110,19 @@ struct pmc_data *pmc_data_allocate(unsig
}
#ifdef CONFIG_PM
- * without alteration in the table, and 0 is for unused clocks.
- */
-void pmc_register_id(u8 id)
--{
++static int at91_pmc_suspend(void)
+ {
- int i;
-
- for (i = 0; i < PMC_MAX_IDS; i++) {
- if (registered_ids[i] == id)
- break;
- }
--}
--
++ return clk_save_context();
+ }
+
-/*
- * As Programmable Clock 0 is valid on AT91 chips, there is an offset
- * of 1 between the stored value and the real clock ID.
- */
-void pmc_register_pck(u8 pck)
--{
++static void at91_pmc_resume(void)
+ {
- int i;
-
- for (i = 0; i < PMC_MAX_PCKS; i++) {
-}
-
-static int pmc_suspend(void)
-+static int at91_pmc_suspend(void)
- {
+-{
- int i;
- u8 num;
-
- }
-
- return 0;
-+ return clk_save_context();
- }
-
+-}
+-
-static bool pmc_ready(unsigned int mask)
-+static void at91_pmc_resume(void)
- {
+-{
- unsigned int status;
-
- regmap_read(pmcreg, AT91_PMC_SR, &status);
register_syscore_ops(&pmc_syscore_ops);
-diff --git a/drivers/clk/at91/pmc.h b/drivers/clk/at91/pmc.h
-index a49076c804a9..45df094498ce 100644
--- a/drivers/clk/at91/pmc.h
+++ b/drivers/clk/at91/pmc.h
@@ -13,6 +13,8 @@
-#endif
-
#endif /* __PMC_H_ */
---
-2.32.0
-
drivers/clk/at91/pmc.c | 39 +++++++++++++++++++++++++++++++++++++++
1 file changed, 39 insertions(+)
-diff --git a/drivers/clk/at91/pmc.c b/drivers/clk/at91/pmc.c
-index b2806946a77a..517973062719 100644
--- a/drivers/clk/at91/pmc.c
+++ b/drivers/clk/at91/pmc.c
@@ -8,6 +8,7 @@
#include <linux/mfd/syscon.h>
#include <linux/platform_device.h>
#include <linux/regmap.h>
-@@ -110,13 +111,35 @@ struct pmc_data *pmc_data_allocate(unsigned int ncore, unsigned int nsystem,
+@@ -110,13 +111,35 @@ struct pmc_data *pmc_data_allocate(unsig
}
#ifdef CONFIG_PM
register_syscore_ops(&pmc_syscore_ops);
return 0;
---
-2.32.0
-
drivers/clk/at91/sama7g5.c | 1 +
1 file changed, 1 insertion(+)
-diff --git a/drivers/clk/at91/sama7g5.c b/drivers/clk/at91/sama7g5.c
-index cf8c079aa086..970135e19a75 100644
--- a/drivers/clk/at91/sama7g5.c
+++ b/drivers/clk/at91/sama7g5.c
@@ -377,6 +377,7 @@ static const struct {
{ .n = "sfr_clk", .p = "mck1", .id = 19, },
{ .n = "hsmc_clk", .p = "mck1", .id = 21, },
{ .n = "xdmac0_clk", .p = "mck1", .id = 22, },
---
-2.32.0
-
drivers/clk/at91/clk-master.c | 50 ++++++++++++++++-------------------
1 file changed, 23 insertions(+), 27 deletions(-)
-diff --git a/drivers/clk/at91/clk-master.c b/drivers/clk/at91/clk-master.c
-index f75549fff023..88f7af1bfff6 100644
--- a/drivers/clk/at91/clk-master.c
+++ b/drivers/clk/at91/clk-master.c
@@ -17,15 +17,7 @@
#define MASTER_MAX_ID 4
-@@ -687,20 +679,22 @@ static void clk_sama7g5_master_set(struct clk_master *master,
+@@ -687,20 +679,22 @@ static void clk_sama7g5_master_set(struc
{
unsigned long flags;
unsigned int val, cparent;
/* Wait here only if parent is being changed. */
while ((cparent != master->parent) && !clk_master_ready(master))
-@@ -725,10 +719,12 @@ static void clk_sama7g5_master_disable(struct clk_hw *hw)
+@@ -725,10 +719,12 @@ static void clk_sama7g5_master_disable(s
spin_lock_irqsave(master->lock, flags);
spin_unlock_irqrestore(master->lock, flags);
}
-@@ -741,12 +737,12 @@ static int clk_sama7g5_master_is_enabled(struct clk_hw *hw)
+@@ -741,12 +737,12 @@ static int clk_sama7g5_master_is_enabled
spin_lock_irqsave(master->lock, flags);
}
static int clk_sama7g5_master_set_rate(struct clk_hw *hw, unsigned long rate,
-@@ -842,10 +838,10 @@ at91_clk_sama7g5_register_master(struct regmap *regmap,
+@@ -842,10 +838,10 @@ at91_clk_sama7g5_register_master(struct
master->mux_table = mux_table;
spin_lock_irqsave(master->lock, flags);
spin_unlock_irqrestore(master->lock, flags);
hw = &master->hw;
---
-2.32.0
-
drivers/clk/at91/clk-master.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
-diff --git a/drivers/clk/at91/clk-master.c b/drivers/clk/at91/clk-master.c
-index 88f7af1bfff6..9a2c8e64cacf 100644
--- a/drivers/clk/at91/clk-master.c
+++ b/drivers/clk/at91/clk-master.c
-@@ -680,6 +680,8 @@ static void clk_sama7g5_master_set(struct clk_master *master,
+@@ -680,6 +680,8 @@ static void clk_sama7g5_master_set(struc
unsigned long flags;
unsigned int val, cparent;
unsigned int enable = status ? AT91_PMC_MCR_V2_EN : 0;
spin_lock_irqsave(master->lock, flags);
-@@ -689,9 +691,7 @@ static void clk_sama7g5_master_set(struct clk_master *master,
+@@ -689,9 +691,7 @@ static void clk_sama7g5_master_set(struc
regmap_update_bits(master->regmap, AT91_PMC_MCR_V2,
enable | AT91_PMC_MCR_V2_CSS | AT91_PMC_MCR_V2_DIV |
AT91_PMC_MCR_V2_CMD | AT91_PMC_MCR_V2_ID_MSK,
AT91_PMC_MCR_V2_ID(master->id));
cparent = (val & AT91_PMC_MCR_V2_CSS) >> PMC_MCR_CSS_SHIFT;
---
-2.32.0
-
drivers/clk/at91/pmc.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
-diff --git a/drivers/clk/at91/pmc.c b/drivers/clk/at91/pmc.c
-index 517973062719..5aa9c1f1c886 100644
--- a/drivers/clk/at91/pmc.c
+++ b/drivers/clk/at91/pmc.c
-@@ -148,8 +148,9 @@ static struct syscore_ops pmc_syscore_ops = {
+@@ -148,8 +148,9 @@ static struct syscore_ops pmc_syscore_op
.resume = at91_pmc_resume,
};
if (!np)
return -ENODEV;
---
-2.32.0
-
drivers/clk/at91/clk-master.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
-diff --git a/drivers/clk/at91/clk-master.c b/drivers/clk/at91/clk-master.c
-index 9a2c8e64cacf..2093e13b5068 100644
--- a/drivers/clk/at91/clk-master.c
+++ b/drivers/clk/at91/clk-master.c
-@@ -344,7 +344,7 @@ static int clk_master_pres_set_rate(struct clk_hw *hw, unsigned long rate,
+@@ -344,7 +344,7 @@ static int clk_master_pres_set_rate(stru
else if (pres == 3)
pres = MASTER_PRES_MAX;
pres = ffs(pres) - 1;
spin_lock_irqsave(master->lock, flags);
-@@ -757,7 +757,7 @@ static int clk_sama7g5_master_set_rate(struct clk_hw *hw, unsigned long rate,
+@@ -757,7 +757,7 @@ static int clk_sama7g5_master_set_rate(s
if (div == 3)
div = MASTER_PRES_MAX;
div = ffs(div) - 1;
spin_lock_irqsave(master->lock, flags);
---
-2.32.0
-
drivers/clk/at91/clk-master.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
-diff --git a/drivers/clk/at91/clk-master.c b/drivers/clk/at91/clk-master.c
-index 2093e13b5068..6da9ae34313a 100644
--- a/drivers/clk/at91/clk-master.c
+++ b/drivers/clk/at91/clk-master.c
-@@ -186,8 +186,8 @@ static int clk_master_div_set_rate(struct clk_hw *hw, unsigned long rate,
+@@ -186,8 +186,8 @@ static int clk_master_div_set_rate(struc
if (ret)
goto unlock;
if (tmp == div)
goto unlock;
-@@ -384,6 +384,7 @@ static unsigned long clk_master_pres_recalc_rate(struct clk_hw *hw,
+@@ -384,6 +384,7 @@ static unsigned long clk_master_pres_rec
regmap_read(master->regmap, master->layout->offset, &val);
spin_unlock_irqrestore(master->lock, flags);
pres = (val >> master->layout->pres_shift) & MASTER_PRES_MASK;
if (pres == 3 && characteristics->have_div3_pres)
pres = 3;
-@@ -403,6 +404,8 @@ static u8 clk_master_pres_get_parent(struct clk_hw *hw)
+@@ -403,6 +404,8 @@ static u8 clk_master_pres_get_parent(str
regmap_read(master->regmap, master->layout->offset, &mckr);
spin_unlock_irqrestore(master->lock, flags);
return mckr & AT91_PMC_CSS;
}
---
-2.32.0
-
drivers/clk/at91/clk-master.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/drivers/clk/at91/clk-master.c b/drivers/clk/at91/clk-master.c
-index 6da9ae34313a..e67bcd03a827 100644
--- a/drivers/clk/at91/clk-master.c
+++ b/drivers/clk/at91/clk-master.c
-@@ -386,7 +386,7 @@ static unsigned long clk_master_pres_recalc_rate(struct clk_hw *hw,
+@@ -386,7 +386,7 @@ static unsigned long clk_master_pres_rec
val &= master->layout->mask;
pres = (val >> master->layout->pres_shift) & MASTER_PRES_MASK;
pres = 3;
else
pres = (1 << pres);
---
-2.32.0
-
drivers/clk/at91/sama7g5.c | 13 +++-
4 files changed, 95 insertions(+), 29 deletions(-)
-diff --git a/drivers/clk/at91/clk-sam9x60-pll.c b/drivers/clk/at91/clk-sam9x60-pll.c
-index a73d7c96ce1d..d757003004cb 100644
--- a/drivers/clk/at91/clk-sam9x60-pll.c
+++ b/drivers/clk/at91/clk-sam9x60-pll.c
@@ -5,6 +5,7 @@
static inline bool sam9x60_pll_ready(struct regmap *regmap, int id)
{
unsigned int status;
-@@ -329,6 +333,26 @@ static const struct clk_ops sam9x60_frac_pll_ops_chg = {
+@@ -329,6 +333,26 @@ static const struct clk_ops sam9x60_frac
.restore_context = sam9x60_frac_pll_restore_context,
};
static int sam9x60_div_pll_set(struct sam9x60_pll_core *core)
{
struct sam9x60_div *div = to_sam9x60_div(core);
-@@ -346,17 +370,7 @@ static int sam9x60_div_pll_set(struct sam9x60_pll_core *core)
+@@ -346,17 +370,7 @@ static int sam9x60_div_pll_set(struct sa
if (!!(val & core->layout->endiv_mask) && cdiv == div->div)
goto unlock;
unlock:
spin_unlock_irqrestore(core->lock, flags);
-@@ -502,16 +516,7 @@ static int sam9x60_div_pll_set_rate_chg(struct clk_hw *hw, unsigned long rate,
+@@ -502,16 +516,7 @@ static int sam9x60_div_pll_set_rate_chg(
if (cdiv == div->div)
goto unlock;
unlock:
spin_unlock_irqrestore(core->lock, irqflags);
-@@ -538,6 +543,48 @@ static void sam9x60_div_pll_restore_context(struct clk_hw *hw)
+@@ -538,6 +543,48 @@ static void sam9x60_div_pll_restore_cont
sam9x60_div_pll_set(core);
}
{
struct sam9x60_div *div;
struct clk_hw *hw;
-@@ -656,9 +704,13 @@ sam9x60_clk_register_div_pll(struct regmap *regmap, spinlock_t *lock,
+@@ -656,9 +704,13 @@ sam9x60_clk_register_div_pll(struct regm
unsigned int val;
int ret;
div = kzalloc(sizeof(*div), GFP_KERNEL);
if (!div)
return ERR_PTR(-ENOMEM);
-@@ -678,6 +730,7 @@ sam9x60_clk_register_div_pll(struct regmap *regmap, spinlock_t *lock,
+@@ -678,6 +730,7 @@ sam9x60_clk_register_div_pll(struct regm
div->core.layout = layout;
div->core.regmap = regmap;
div->core.lock = lock;
spin_lock_irqsave(div->core.lock, irqflags);
-@@ -693,6 +746,9 @@ sam9x60_clk_register_div_pll(struct regmap *regmap, spinlock_t *lock,
+@@ -693,6 +746,9 @@ sam9x60_clk_register_div_pll(struct regm
if (ret) {
kfree(div);
hw = ERR_PTR(ret);
}
return hw;
-diff --git a/drivers/clk/at91/pmc.h b/drivers/clk/at91/pmc.h
-index 45df094498ce..207ecccef29f 100644
--- a/drivers/clk/at91/pmc.h
+++ b/drivers/clk/at91/pmc.h
@@ -214,7 +214,8 @@ struct clk_hw * __init
struct clk_hw * __init
sam9x60_clk_register_frac_pll(struct regmap *regmap, spinlock_t *lock,
-diff --git a/drivers/clk/at91/sam9x60.c b/drivers/clk/at91/sam9x60.c
-index 5f6fa89571b7..5c264185f261 100644
--- a/drivers/clk/at91/sam9x60.c
+++ b/drivers/clk/at91/sam9x60.c
-@@ -242,7 +242,7 @@ static void __init sam9x60_pmc_setup(struct device_node *np)
+@@ -242,7 +242,7 @@ static void __init sam9x60_pmc_setup(str
* This feeds CPU. It should not
* be disabled.
*/
if (IS_ERR(hw))
goto err_free;
-@@ -260,7 +260,7 @@ static void __init sam9x60_pmc_setup(struct device_node *np)
+@@ -260,7 +260,7 @@ static void __init sam9x60_pmc_setup(str
&pll_div_layout,
CLK_SET_RATE_GATE |
CLK_SET_PARENT_GATE |
if (IS_ERR(hw))
goto err_free;
-@@ -279,7 +279,7 @@ static void __init sam9x60_pmc_setup(struct device_node *np)
+@@ -279,7 +279,7 @@ static void __init sam9x60_pmc_setup(str
hw = at91_clk_register_master_div(regmap, "masterck_div",
"masterck_pres", &sam9x60_master_layout,
&mck_characteristics, &mck_lock,
if (IS_ERR(hw))
goto err_free;
-diff --git a/drivers/clk/at91/sama7g5.c b/drivers/clk/at91/sama7g5.c
-index 970135e19a75..ae52c10af040 100644
--- a/drivers/clk/at91/sama7g5.c
+++ b/drivers/clk/at91/sama7g5.c
-@@ -127,6 +127,8 @@ static const struct clk_pll_characteristics pll_characteristics = {
+@@ -127,6 +127,8 @@ static const struct clk_pll_characterist
* @t: clock type
* @f: clock flags
* @eid: export index in sama7g5->chws[] array
},
[PLL_ID_SYS] = {
-@@ -967,7 +975,8 @@ static void __init sama7g5_pmc_setup(struct device_node *np)
+@@ -967,7 +975,8 @@ static void __init sama7g5_pmc_setup(str
sama7g5_plls[i][j].p, i,
sama7g5_plls[i][j].c,
sama7g5_plls[i][j].l,
break;
default:
---
-2.32.0
-
drivers/clk/at91/sama7g5.c | 2 +-
13 files changed, 186 insertions(+), 82 deletions(-)
-diff --git a/drivers/clk/at91/at91rm9200.c b/drivers/clk/at91/at91rm9200.c
-index 428a6f4b9ebc..fff4fdda974f 100644
--- a/drivers/clk/at91/at91rm9200.c
+++ b/drivers/clk/at91/at91rm9200.c
-@@ -152,7 +152,7 @@ static void __init at91rm9200_pmc_setup(struct device_node *np)
+@@ -152,7 +152,7 @@ static void __init at91rm9200_pmc_setup(
"masterck_pres",
&at91rm9200_master_layout,
&rm9200_mck_characteristics,
if (IS_ERR(hw))
goto err_free;
-diff --git a/drivers/clk/at91/at91sam9260.c b/drivers/clk/at91/at91sam9260.c
-index b29843bea278..79802f864ee5 100644
--- a/drivers/clk/at91/at91sam9260.c
+++ b/drivers/clk/at91/at91sam9260.c
-@@ -429,7 +429,7 @@ static void __init at91sam926x_pmc_setup(struct device_node *np,
+@@ -429,7 +429,7 @@ static void __init at91sam926x_pmc_setup
&at91rm9200_master_layout,
data->mck_characteristics,
&at91sam9260_mck_lock,
if (IS_ERR(hw))
goto err_free;
-diff --git a/drivers/clk/at91/at91sam9g45.c b/drivers/clk/at91/at91sam9g45.c
-index 15da0dfe3ef2..7ed984f8058c 100644
--- a/drivers/clk/at91/at91sam9g45.c
+++ b/drivers/clk/at91/at91sam9g45.c
-@@ -164,7 +164,7 @@ static void __init at91sam9g45_pmc_setup(struct device_node *np)
+@@ -164,7 +164,7 @@ static void __init at91sam9g45_pmc_setup
&at91rm9200_master_layout,
&mck_characteristics,
&at91sam9g45_mck_lock,
if (IS_ERR(hw))
goto err_free;
-diff --git a/drivers/clk/at91/at91sam9n12.c b/drivers/clk/at91/at91sam9n12.c
-index 7fe435f4b46b..63cc58944b00 100644
--- a/drivers/clk/at91/at91sam9n12.c
+++ b/drivers/clk/at91/at91sam9n12.c
-@@ -191,7 +191,7 @@ static void __init at91sam9n12_pmc_setup(struct device_node *np)
+@@ -191,7 +191,7 @@ static void __init at91sam9n12_pmc_setup
&at91sam9x5_master_layout,
&mck_characteristics,
&at91sam9n12_mck_lock,
if (IS_ERR(hw))
goto err_free;
-diff --git a/drivers/clk/at91/at91sam9rl.c b/drivers/clk/at91/at91sam9rl.c
-index ecbabf5162bd..4d4faf6c61d8 100644
--- a/drivers/clk/at91/at91sam9rl.c
+++ b/drivers/clk/at91/at91sam9rl.c
-@@ -132,7 +132,7 @@ static void __init at91sam9rl_pmc_setup(struct device_node *np)
+@@ -132,7 +132,7 @@ static void __init at91sam9rl_pmc_setup(
"masterck_pres",
&at91rm9200_master_layout,
&sam9rl_mck_characteristics,
if (IS_ERR(hw))
goto err_free;
-diff --git a/drivers/clk/at91/at91sam9x5.c b/drivers/clk/at91/at91sam9x5.c
-index 5cce48c64ea2..bd8007b4f3e0 100644
--- a/drivers/clk/at91/at91sam9x5.c
+++ b/drivers/clk/at91/at91sam9x5.c
-@@ -210,7 +210,7 @@ static void __init at91sam9x5_pmc_setup(struct device_node *np,
+@@ -210,7 +210,7 @@ static void __init at91sam9x5_pmc_setup(
"masterck_pres",
&at91sam9x5_master_layout,
&mck_characteristics, &mck_lock,
if (IS_ERR(hw))
goto err_free;
-diff --git a/drivers/clk/at91/clk-master.c b/drivers/clk/at91/clk-master.c
-index e67bcd03a827..b2d0a7f4f7f9 100644
--- a/drivers/clk/at91/clk-master.c
+++ b/drivers/clk/at91/clk-master.c
@@ -5,6 +5,7 @@
static inline bool clk_master_ready(struct clk_master *master)
{
unsigned int bit = master->id ? AT91_PMC_MCKXRDY : AT91_PMC_MCKRDY;
-@@ -153,107 +158,81 @@ static const struct clk_ops master_div_ops = {
+@@ -153,107 +158,81 @@ static const struct clk_ops master_div_o
.restore_context = clk_master_div_restore_context,
};
- parent_rate = clk_hw_get_rate(parent);
- if (!parent_rate)
- return -EINVAL;
--
+
- for (i = 0; i < ARRAY_SIZE(characteristics->divisors); i++) {
- if (!characteristics->divisors[i])
- break;
-
+-
- tmp_rate = DIV_ROUND_CLOSEST_ULL(parent_rate,
- characteristics->divisors[i]);
- tmp_diff = abs(tmp_rate - req->rate);
if (ret)
pr_warn("Failed to restore MCK DIV clock\n");
}
-@@ -261,13 +240,116 @@ static void clk_master_div_restore_context_chg(struct clk_hw *hw)
+@@ -261,13 +240,116 @@ static void clk_master_div_restore_conte
static const struct clk_ops master_div_ops_chg = {
.prepare = clk_master_prepare,
.is_prepared = clk_master_is_prepared,
static void clk_sama7g5_master_best_diff(struct clk_rate_request *req,
struct clk_hw *parent,
unsigned long parent_rate,
-@@ -496,6 +578,8 @@ at91_clk_register_master_internal(struct regmap *regmap,
+@@ -496,6 +578,8 @@ at91_clk_register_master_internal(struct
struct clk_master *master;
struct clk_init_data init;
struct clk_hw *hw;
int ret;
if (!name || !num_parents || !parent_names || !lock)
-@@ -518,6 +602,16 @@ at91_clk_register_master_internal(struct regmap *regmap,
+@@ -518,6 +602,16 @@ at91_clk_register_master_internal(struct
master->chg_pid = chg_pid;
master->lock = lock;
hw = &master->hw;
ret = clk_hw_register(NULL, &master->hw);
if (ret) {
-@@ -554,19 +648,29 @@ at91_clk_register_master_div(struct regmap *regmap,
+@@ -554,19 +648,29 @@ at91_clk_register_master_div(struct regm
const char *name, const char *parent_name,
const struct clk_master_layout *layout,
const struct clk_master_characteristics *characteristics,
}
static unsigned long
-diff --git a/drivers/clk/at91/dt-compat.c b/drivers/clk/at91/dt-compat.c
-index a97b99c2dc12..ca2dbb65b9df 100644
--- a/drivers/clk/at91/dt-compat.c
+++ b/drivers/clk/at91/dt-compat.c
-@@ -399,7 +399,7 @@ of_at91_clk_master_setup(struct device_node *np,
+@@ -399,7 +399,7 @@ of_at91_clk_master_setup(struct device_n
hw = at91_clk_register_master_div(regmap, name, "masterck_pres",
layout, characteristics,
if (IS_ERR(hw))
goto out_free_characteristics;
-diff --git a/drivers/clk/at91/pmc.h b/drivers/clk/at91/pmc.h
-index 207ecccef29f..3a1bf6194c28 100644
--- a/drivers/clk/at91/pmc.h
+++ b/drivers/clk/at91/pmc.h
-@@ -182,7 +182,7 @@ at91_clk_register_master_div(struct regmap *regmap, const char *name,
+@@ -182,7 +182,7 @@ at91_clk_register_master_div(struct regm
const char *parent_names,
const struct clk_master_layout *layout,
const struct clk_master_characteristics *characteristics,
struct clk_hw * __init
at91_clk_sama7g5_register_master(struct regmap *regmap,
-diff --git a/drivers/clk/at91/sama5d2.c b/drivers/clk/at91/sama5d2.c
-index 3d1f78176c3e..d027294a0089 100644
--- a/drivers/clk/at91/sama5d2.c
+++ b/drivers/clk/at91/sama5d2.c
-@@ -249,7 +249,7 @@ static void __init sama5d2_pmc_setup(struct device_node *np)
+@@ -249,7 +249,7 @@ static void __init sama5d2_pmc_setup(str
"masterck_pres",
&at91sam9x5_master_layout,
&mck_characteristics, &mck_lock,
if (IS_ERR(hw))
goto err_free;
-diff --git a/drivers/clk/at91/sama5d3.c b/drivers/clk/at91/sama5d3.c
-index d376257807d2..339d0f382ff0 100644
--- a/drivers/clk/at91/sama5d3.c
+++ b/drivers/clk/at91/sama5d3.c
-@@ -184,7 +184,7 @@ static void __init sama5d3_pmc_setup(struct device_node *np)
+@@ -184,7 +184,7 @@ static void __init sama5d3_pmc_setup(str
"masterck_pres",
&at91sam9x5_master_layout,
&mck_characteristics, &mck_lock,
if (IS_ERR(hw))
goto err_free;
-diff --git a/drivers/clk/at91/sama5d4.c b/drivers/clk/at91/sama5d4.c
-index 5cbaac68da44..4af75b1e39e9 100644
--- a/drivers/clk/at91/sama5d4.c
+++ b/drivers/clk/at91/sama5d4.c
-@@ -199,7 +199,7 @@ static void __init sama5d4_pmc_setup(struct device_node *np)
+@@ -199,7 +199,7 @@ static void __init sama5d4_pmc_setup(str
"masterck_pres",
&at91sam9x5_master_layout,
&mck_characteristics, &mck_lock,
if (IS_ERR(hw))
goto err_free;
-diff --git a/drivers/clk/at91/sama7g5.c b/drivers/clk/at91/sama7g5.c
-index ae52c10af040..c66bde6f7b47 100644
--- a/drivers/clk/at91/sama7g5.c
+++ b/drivers/clk/at91/sama7g5.c
-@@ -1003,7 +1003,7 @@ static void __init sama7g5_pmc_setup(struct device_node *np)
+@@ -1003,7 +1003,7 @@ static void __init sama7g5_pmc_setup(str
hw = at91_clk_register_master_div(regmap, "mck0", "cpuck",
&mck0_layout, &mck0_characteristics,
if (IS_ERR(hw))
goto err_free;
---
-2.32.0
-
drivers/clk/at91/sama7g5.c | 11 +----------
1 file changed, 1 insertion(+), 10 deletions(-)
-diff --git a/drivers/clk/at91/sama7g5.c b/drivers/clk/at91/sama7g5.c
-index c66bde6f7b47..fd9d17eabf54 100644
--- a/drivers/clk/at91/sama7g5.c
+++ b/drivers/clk/at91/sama7g5.c
-@@ -992,16 +992,7 @@ static void __init sama7g5_pmc_setup(struct device_node *np)
+@@ -992,16 +992,7 @@ static void __init sama7g5_pmc_setup(str
}
parent_names[0] = "cpupll_divpmcck";
&mck0_layout, &mck0_characteristics,
&pmc_mck0_lock, CLK_GET_RATE_NOCACHE, 5);
if (IS_ERR(hw))
---
-2.32.0
-
drivers/clk/at91/sama7g5.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/drivers/clk/at91/sama7g5.c b/drivers/clk/at91/sama7g5.c
-index fd9d17eabf54..369dfafabbca 100644
--- a/drivers/clk/at91/sama7g5.c
+++ b/drivers/clk/at91/sama7g5.c
@@ -850,7 +850,7 @@ static const struct {
.divisors = { 1, 2, 4, 3, 5 },
.have_div3_pres = 1,
};
---
-2.32.0
-
drivers/clk/clk.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
-diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c
-index b8a0e3d23698..6e64332fd26d 100644
--- a/drivers/clk/clk.c
+++ b/drivers/clk/clk.c
-@@ -3082,7 +3082,10 @@ static int clk_rate_get(void *data, u64 *val)
+@@ -3082,7 +3082,10 @@ static int clk_rate_get(void *data, u64
{
struct clk_core *core = data;
return 0;
}
---
-2.32.0
-
scripts/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/scripts/Makefile b/scripts/Makefile
-index 9adb6d247818..035c1fe113ad 100644
--- a/scripts/Makefile
+++ b/scripts/Makefile
-@@ -21,7 +21,7 @@ HOSTCFLAGS_asn1_compiler.o = -I$(srctree)/include
+@@ -21,7 +21,7 @@ HOSTCFLAGS_asn1_compiler.o = -I$(srctree
HOSTCFLAGS_sign-file.o = $(CRYPTO_CFLAGS)
HOSTLDLIBS_sign-file = $(CRYPTO_LIBS)
HOSTCFLAGS_extract-cert.o = $(CRYPTO_CFLAGS)
ifdef CONFIG_UNWINDER_ORC
ifeq ($(ARCH),x86_64)
---
-2.25.1
-
#endif /* _LINUX_TYPES_H */
--- a/net/ipv4/af_inet.c
+++ b/net/ipv4/af_inet.c
-@@ -1467,8 +1467,8 @@ struct sk_buff *inet_gro_receive(struct
+@@ -1470,8 +1470,8 @@ struct sk_buff *inet_gro_receive(struct
if (unlikely(ip_fast_csum((u8 *)iph, 5)))
goto out_unlock;
goto next_ht;
--- a/net/ipv6/ip6_offload.c
+++ b/net/ipv6/ip6_offload.c
-@@ -238,7 +238,7 @@ INDIRECT_CALLABLE_SCOPE struct sk_buff *
+@@ -240,7 +240,7 @@ INDIRECT_CALLABLE_SCOPE struct sk_buff *
continue;
iph2 = (struct ipv6hdr *)(p->data + off);
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
-@@ -1467,6 +1467,103 @@ command_cleanup:
+@@ -1474,6 +1474,103 @@ command_cleanup:
}
/*
* non-error returns are a promise to giveback() the urb later
* we drop ownership so next owner (or urb unlink) can get it
*/
-@@ -5370,6 +5467,7 @@ static const struct hc_driver xhci_hc_dr
+@@ -5380,6 +5477,7 @@ static const struct hc_driver xhci_hc_dr
.endpoint_reset = xhci_endpoint_reset,
.check_bandwidth = xhci_check_bandwidth,
.reset_bandwidth = xhci_reset_bandwidth,
regcache_cache_bypass(s->regmap, false);
/* Put LCR back to the normal mode */
-@@ -839,7 +840,7 @@ static unsigned int sc16is7xx_get_mctrl(
+@@ -842,7 +843,7 @@ static unsigned int sc16is7xx_get_mctrl(
/* DCD and DSR are not wired and CTS/RTS is handled automatically
* so just indicate DSR and CAR asserted
*/
}
static void sc16is7xx_set_mctrl(struct uart_port *port, unsigned int mctrl)
-@@ -926,14 +927,19 @@ static void sc16is7xx_set_termios(struct
+@@ -929,14 +930,19 @@ static void sc16is7xx_set_termios(struct
regcache_cache_bypass(s->regmap, true);
sc16is7xx_port_write(port, SC16IS7XX_XON1_REG, termios->c_cc[VSTART]);
sc16is7xx_port_write(port, SC16IS7XX_XOFF1_REG, termios->c_cc[VSTOP]);
void brcm_usb_dvr_init_7211b0(struct brcm_usb_init_params *params);
--- a/drivers/phy/broadcom/phy-brcm-usb.c
+++ b/drivers/phy/broadcom/phy-brcm-usb.c
-@@ -253,6 +253,15 @@ static const struct attribute_group brcm
+@@ -283,6 +283,15 @@ static const struct attribute_group brcm
.attrs = brcm_usb_phy_attrs,
};
static const struct match_chip_info chip_info_7216 = {
.init_func = &brcm_usb_dvr_init_7216,
.required_regs = {
-@@ -288,7 +297,7 @@ static const struct match_chip_info chip
+@@ -318,7 +327,7 @@ static const struct match_chip_info chip
static const struct of_device_id brcm_usb_dt_ids[] = {
{
.compatible = "brcm,bcm4908-usb-phy",
nft_trans_table_update(trans) = true;
list_add_tail(&trans->list, &ctx->net->nft.commit_list);
return 0;
-@@ -7903,11 +7907,10 @@ static int nf_tables_commit(struct net *
+@@ -7908,11 +7912,10 @@ static int nf_tables_commit(struct net *
switch (trans->msg_type) {
case NFT_MSG_NEWTABLE:
if (nft_trans_table_update(trans)) {
} else {
nft_clear(net, trans->ctx.table);
}
-@@ -8120,11 +8123,9 @@ static int __nf_tables_abort(struct net
+@@ -8125,11 +8128,9 @@ static int __nf_tables_abort(struct net
switch (trans->msg_type) {
case NFT_MSG_NEWTABLE:
if (nft_trans_table_update(trans)) {
__be32 *p;
bool little_endian;
int rc = 0;
-@@ -1561,8 +1561,8 @@ static int temac_probe(struct platform_d
+@@ -1563,8 +1563,8 @@ static int temac_probe(struct platform_d
if (temac_np) {
/* Retrieve the MAC address */