2018-03-12 07:06:15

by Weiyi Lu

[permalink] [raw]
Subject: [PATCH v2 0/5] update Mediatek MT2712 clock and scpsys support

This series is based on v4.16-rc1 and composed of scpsys control (PATCH 1-2) and clock control (PATCH 3-5).
Basically, all changes are for the ECO design change of MT2712.

changes since v1:
- Avoid renumbering clocks. Append new clocks at the bottom of each own subsystem.

Weiyi Lu (5):
dt-bindings: soc: update MT2712 power dt-bindings
soc: mediatek: update power domain data of MT2712
dt-bindings: clock: add clocks for MT2712
arm64: dts: add clock device nodes of MT2712
clk: mediatek: update clock driver of MT2712

arch/arm64/boot/dts/mediatek/mt2712e.dtsi | 28 +++++++++++++
drivers/clk/mediatek/clk-mt2712.c | 69 ++++++++++++++++++++++++-------
drivers/soc/mediatek/mtk-scpsys.c | 42 ++++++++++++++++++-
include/dt-bindings/clock/mt2712-clk.h | 12 +++++-
include/dt-bindings/power/mt2712-power.h | 3 ++
5 files changed, 136 insertions(+), 18 deletions(-)



2018-03-12 07:05:11

by Weiyi Lu

[permalink] [raw]
Subject: [PATCH v2 0/5] update Mediatek MT2712 clock and scpsys support

This series is based on v4.16-rc1 and composed of scpsys control (PATCH 1-2) and clock control (PATCH 3-5).
Basically, all changes are for the ECO design change of MT2712.

changes since v1:
- Avoid renumbering clocks. Append new clocks at the bottom of each own subsystem.

Weiyi Lu (5):
dt-bindings: soc: update MT2712 power dt-bindings
soc: mediatek: update power domain data of MT2712
dt-bindings: clock: add clocks for MT2712
arm64: dts: add clock device nodes of MT2712
clk: mediatek: update clock driver of MT2712

arch/arm64/boot/dts/mediatek/mt2712e.dtsi | 28 +++++++++++++
drivers/clk/mediatek/clk-mt2712.c | 69 ++++++++++++++++++++++++-------
drivers/soc/mediatek/mtk-scpsys.c | 42 ++++++++++++++++++-
include/dt-bindings/clock/mt2712-clk.h | 12 +++++-
include/dt-bindings/power/mt2712-power.h | 3 ++
5 files changed, 136 insertions(+), 18 deletions(-)

--
2.12.5


2018-03-12 07:05:29

by Weiyi Lu

[permalink] [raw]
Subject: [PATCH v2 5/5] clk: mediatek: update clock driver of MT2712

According to ECO design change,
1. add new clock mux data and change some
2. add new clock gate data and clock factor data
3. change status register offset of infra subsystem

Signed-off-by: Weiyi Lu <[email protected]>
---
drivers/clk/mediatek/clk-mt2712.c | 69 +++++++++++++++++++++++++++++++--------
1 file changed, 55 insertions(+), 14 deletions(-)

diff --git a/drivers/clk/mediatek/clk-mt2712.c b/drivers/clk/mediatek/clk-mt2712.c
index 498d13799388..991d4093726e 100644
--- a/drivers/clk/mediatek/clk-mt2712.c
+++ b/drivers/clk/mediatek/clk-mt2712.c
@@ -221,6 +221,8 @@ static const struct mtk_fixed_factor top_divs[] = {
4),
FACTOR(CLK_TOP_D2A_ULCLK_6P5M, "d2a_ulclk_6p5m", "clk26m", 1,
4),
+ FACTOR(CLK_TOP_APLL1_D3, "apll1_d3", "apll1_ck", 1,
+ 3),
};

static const char * const axi_parents[] = {
@@ -625,7 +627,7 @@ static const char * const ether_125m_parents[] = {
static const char * const ether_50m_parents[] = {
"clk26m",
"etherpll_50m",
- "univpll_d26",
+ "apll1_d3",
"univpll3_d4"
};

@@ -686,7 +688,7 @@ static const char * const i2c_parents[] = {

static const char * const msdc0p_aes_parents[] = {
"clk26m",
- "msdcpll_ck",
+ "syspll_d2",
"univpll_d3",
"vcodecpll_ck"
};
@@ -719,6 +721,17 @@ static const char * const aud_apll2_parents[] = {
"clkaud_ext_i_2"
};

+static const char * const apll1_ref_parents[] = {
+ "clkaud_ext_i_2",
+ "clkaud_ext_i_1",
+ "clki2si0_mck_i",
+ "clki2si1_mck_i",
+ "clki2si2_mck_i",
+ "clktdmin_mclk_i",
+ "clki2si2_mck_i",
+ "clktdmin_mclk_i"
+};
+
static const char * const audull_vtx_parents[] = {
"d2a_ulclk_6p5m",
"clkaud_ext_i_0"
@@ -886,6 +899,10 @@ static struct mtk_composite top_muxes[] = {
aud_apll2_parents, 0x134, 1, 1),
MUX(CLK_TOP_DA_AUDULL_VTX_6P5M_SEL, "audull_vtx_sel",
audull_vtx_parents, 0x134, 31, 1),
+ MUX(CLK_TOP_APLL1_REF_SEL, "apll1_ref_sel",
+ apll1_ref_parents, 0x134, 4, 3),
+ MUX(CLK_TOP_APLL2_REF_SEL, "apll2_ref_sel",
+ apll1_ref_parents, 0x134, 7, 3),
};

static const char * const mcu_mp0_parents[] = {
@@ -932,36 +949,56 @@ static const struct mtk_clk_divider top_adj_divs[] = {
DIV_ADJ(CLK_TOP_APLL_DIV7, "apll_div7", "i2si3_sel", 0x128, 24, 8),
};

-static const struct mtk_gate_regs top_cg_regs = {
+static const struct mtk_gate_regs top0_cg_regs = {
.set_ofs = 0x120,
.clr_ofs = 0x120,
.sta_ofs = 0x120,
};

-#define GATE_TOP(_id, _name, _parent, _shift) { \
+static const struct mtk_gate_regs top1_cg_regs = {
+ .set_ofs = 0x424,
+ .clr_ofs = 0x424,
+ .sta_ofs = 0x424,
+};
+
+#define GATE_TOP0(_id, _name, _parent, _shift) { \
.id = _id, \
.name = _name, \
.parent_name = _parent, \
- .regs = &top_cg_regs, \
+ .regs = &top0_cg_regs, \
.shift = _shift, \
.ops = &mtk_clk_gate_ops_no_setclr, \
}

+#define GATE_TOP1(_id, _name, _parent, _shift) { \
+ .id = _id, \
+ .name = _name, \
+ .parent_name = _parent, \
+ .regs = &top1_cg_regs, \
+ .shift = _shift, \
+ .ops = &mtk_clk_gate_ops_no_setclr_inv, \
+ }
+
static const struct mtk_gate top_clks[] = {
- GATE_TOP(CLK_TOP_APLL_DIV_PDN0, "apll_div_pdn0", "i2so1_sel", 0),
- GATE_TOP(CLK_TOP_APLL_DIV_PDN1, "apll_div_pdn1", "i2so2_sel", 1),
- GATE_TOP(CLK_TOP_APLL_DIV_PDN2, "apll_div_pdn2", "i2so3_sel", 2),
- GATE_TOP(CLK_TOP_APLL_DIV_PDN3, "apll_div_pdn3", "tdmo0_sel", 3),
- GATE_TOP(CLK_TOP_APLL_DIV_PDN4, "apll_div_pdn4", "tdmo1_sel", 4),
- GATE_TOP(CLK_TOP_APLL_DIV_PDN5, "apll_div_pdn5", "i2si1_sel", 5),
- GATE_TOP(CLK_TOP_APLL_DIV_PDN6, "apll_div_pdn6", "i2si2_sel", 6),
- GATE_TOP(CLK_TOP_APLL_DIV_PDN7, "apll_div_pdn7", "i2si3_sel", 7),
+ /* TOP0 */
+ GATE_TOP0(CLK_TOP_APLL_DIV_PDN0, "apll_div_pdn0", "i2so1_sel", 0),
+ GATE_TOP0(CLK_TOP_APLL_DIV_PDN1, "apll_div_pdn1", "i2so2_sel", 1),
+ GATE_TOP0(CLK_TOP_APLL_DIV_PDN2, "apll_div_pdn2", "i2so3_sel", 2),
+ GATE_TOP0(CLK_TOP_APLL_DIV_PDN3, "apll_div_pdn3", "tdmo0_sel", 3),
+ GATE_TOP0(CLK_TOP_APLL_DIV_PDN4, "apll_div_pdn4", "tdmo1_sel", 4),
+ GATE_TOP0(CLK_TOP_APLL_DIV_PDN5, "apll_div_pdn5", "i2si1_sel", 5),
+ GATE_TOP0(CLK_TOP_APLL_DIV_PDN6, "apll_div_pdn6", "i2si2_sel", 6),
+ GATE_TOP0(CLK_TOP_APLL_DIV_PDN7, "apll_div_pdn7", "i2si3_sel", 7),
+ /* TOP1 */
+ GATE_TOP1(CLK_TOP_NFI2X_EN, "nfi2x_en", "nfi2x_sel", 0),
+ GATE_TOP1(CLK_TOP_NFIECC_EN, "nfiecc_en", "nfiecc_sel", 1),
+ GATE_TOP1(CLK_TOP_NFI1X_CK_EN, "nfi1x_ck_en", "nfi2x_sel", 2),
};

static const struct mtk_gate_regs infra_cg_regs = {
.set_ofs = 0x40,
.clr_ofs = 0x44,
- .sta_ofs = 0x40,
+ .sta_ofs = 0x48,
};

#define GATE_INFRA(_id, _name, _parent, _shift) { \
@@ -1120,6 +1157,10 @@ static const struct mtk_gate peri_clks[] = {
"msdc50_0_h_sel", 4),
GATE_PERI2(CLK_PERI_MSDC50_3_HCLK_EN, "per_msdc50_3_h",
"msdc50_3_h_sel", 5),
+ GATE_PERI2(CLK_PERI_MSDC30_0_QTR_EN, "per_msdc30_0_q",
+ "axi_sel", 6),
+ GATE_PERI2(CLK_PERI_MSDC30_3_QTR_EN, "per_msdc30_3_q",
+ "mem_sel", 7),
};

#define MT2712_PLL_FMAX (3000UL * MHZ)
--
2.12.5


2018-03-12 07:06:03

by Weiyi Lu

[permalink] [raw]
Subject: [PATCH v2 1/5] dt-bindings: soc: update MT2712 power dt-bindings

Add new power domains(MFG_SC1/MFG_SC2/MFG_SC3)
for MT2712 according to ECO design change.

Signed-off-by: Weiyi Lu <[email protected]>
Reviewed-by: Rob Herring <[email protected]>
---
include/dt-bindings/power/mt2712-power.h | 3 +++
1 file changed, 3 insertions(+)

diff --git a/include/dt-bindings/power/mt2712-power.h b/include/dt-bindings/power/mt2712-power.h
index 92b46d772fae..2c147817efc2 100644
--- a/include/dt-bindings/power/mt2712-power.h
+++ b/include/dt-bindings/power/mt2712-power.h
@@ -22,5 +22,8 @@
#define MT2712_POWER_DOMAIN_USB 5
#define MT2712_POWER_DOMAIN_USB2 6
#define MT2712_POWER_DOMAIN_MFG 7
+#define MT2712_POWER_DOMAIN_MFG_SC1 8
+#define MT2712_POWER_DOMAIN_MFG_SC2 9
+#define MT2712_POWER_DOMAIN_MFG_SC3 10

#endif /* _DT_BINDINGS_POWER_MT2712_POWER_H */
--
2.12.5


2018-03-12 07:07:13

by Weiyi Lu

[permalink] [raw]
Subject: [PATCH v2 2/5] soc: mediatek: update power domain data of MT2712

1. split MFG power domain into MFG/MFG_SC1/MFG_SC2/MFG_SC3
according to MT2712 ECO design change
2. add subdomain support for MT2712

Signed-off-by: Weiyi Lu <[email protected]>
---
drivers/soc/mediatek/mtk-scpsys.c | 42 +++++++++++++++++++++++++++++++++++++--
1 file changed, 40 insertions(+), 2 deletions(-)

diff --git a/drivers/soc/mediatek/mtk-scpsys.c b/drivers/soc/mediatek/mtk-scpsys.c
index 59bd749c2f25..edf8fd6c2c85 100644
--- a/drivers/soc/mediatek/mtk-scpsys.c
+++ b/drivers/soc/mediatek/mtk-scpsys.c
@@ -664,12 +664,48 @@ static const struct scp_domain_data scp_domain_data_mt2712[] = {
.name = "mfg",
.sta_mask = PWR_STATUS_MFG,
.ctl_offs = SPM_MFG_PWR_CON,
- .sram_pdn_bits = GENMASK(11, 8),
- .sram_pdn_ack_bits = GENMASK(19, 16),
+ .sram_pdn_bits = GENMASK(8, 8),
+ .sram_pdn_ack_bits = GENMASK(16, 16),
.clk_id = {CLK_MFG},
.bus_prot_mask = BIT(14) | BIT(21) | BIT(23),
.active_wakeup = true,
},
+ [MT2712_POWER_DOMAIN_MFG_SC1] = {
+ .name = "mfg_sc1",
+ .sta_mask = BIT(22),
+ .ctl_offs = 0x02c0,
+ .sram_pdn_bits = GENMASK(8, 8),
+ .sram_pdn_ack_bits = GENMASK(16, 16),
+ .clk_id = {CLK_NONE},
+ .active_wakeup = true,
+ },
+ [MT2712_POWER_DOMAIN_MFG_SC2] = {
+ .name = "mfg_sc2",
+ .sta_mask = BIT(23),
+ .ctl_offs = 0x02c4,
+ .sram_pdn_bits = GENMASK(8, 8),
+ .sram_pdn_ack_bits = GENMASK(16, 16),
+ .clk_id = {CLK_NONE},
+ .active_wakeup = true,
+ },
+ [MT2712_POWER_DOMAIN_MFG_SC3] = {
+ .name = "mfg_sc3",
+ .sta_mask = BIT(30),
+ .ctl_offs = 0x01f8,
+ .sram_pdn_bits = GENMASK(8, 8),
+ .sram_pdn_ack_bits = GENMASK(16, 16),
+ .clk_id = {CLK_NONE},
+ .active_wakeup = true,
+ },
+};
+
+static const struct scp_subdomain scp_subdomain_mt2712[] = {
+ {MT2712_POWER_DOMAIN_MM, MT2712_POWER_DOMAIN_VDEC},
+ {MT2712_POWER_DOMAIN_MM, MT2712_POWER_DOMAIN_VENC},
+ {MT2712_POWER_DOMAIN_MM, MT2712_POWER_DOMAIN_ISP},
+ {MT2712_POWER_DOMAIN_MFG, MT2712_POWER_DOMAIN_MFG_SC1},
+ {MT2712_POWER_DOMAIN_MFG_SC1, MT2712_POWER_DOMAIN_MFG_SC2},
+ {MT2712_POWER_DOMAIN_MFG_SC2, MT2712_POWER_DOMAIN_MFG_SC3},
};

/*
@@ -905,6 +941,8 @@ static const struct scp_soc_data mt2701_data = {
static const struct scp_soc_data mt2712_data = {
.domains = scp_domain_data_mt2712,
.num_domains = ARRAY_SIZE(scp_domain_data_mt2712),
+ .subdomains = scp_subdomain_mt2712,
+ .num_subdomains = ARRAY_SIZE(scp_subdomain_mt2712),
.regs = {
.pwr_sta_offs = SPM_PWR_STATUS,
.pwr_sta2nd_offs = SPM_PWR_STATUS_2ND
--
2.12.5


2018-03-12 07:07:14

by Weiyi Lu

[permalink] [raw]
Subject: [PATCH v2 3/5] dt-bindings: clock: add clocks for MT2712

add new clocks according to ECO design change

Signed-off-by: Weiyi Lu <[email protected]>
---
include/dt-bindings/clock/mt2712-clk.h | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/include/dt-bindings/clock/mt2712-clk.h b/include/dt-bindings/clock/mt2712-clk.h
index 48a8e797a617..76265836a1e1 100644
--- a/include/dt-bindings/clock/mt2712-clk.h
+++ b/include/dt-bindings/clock/mt2712-clk.h
@@ -222,7 +222,13 @@
#define CLK_TOP_APLL_DIV_PDN5 183
#define CLK_TOP_APLL_DIV_PDN6 184
#define CLK_TOP_APLL_DIV_PDN7 185
-#define CLK_TOP_NR_CLK 186
+#define CLK_TOP_APLL1_D3 186
+#define CLK_TOP_APLL1_REF_SEL 187
+#define CLK_TOP_APLL2_REF_SEL 188
+#define CLK_TOP_NFI2X_EN 189
+#define CLK_TOP_NFIECC_EN 190
+#define CLK_TOP_NFI1X_CK_EN 191
+#define CLK_TOP_NR_CLK 192

/* INFRACFG */

@@ -281,7 +287,9 @@
#define CLK_PERI_MSDC30_3_EN 41
#define CLK_PERI_MSDC50_0_HCLK_EN 42
#define CLK_PERI_MSDC50_3_HCLK_EN 43
-#define CLK_PERI_NR_CLK 44
+#define CLK_PERI_MSDC30_0_QTR_EN 44
+#define CLK_PERI_MSDC30_3_QTR_EN 45
+#define CLK_PERI_NR_CLK 46

/* MCUCFG */

--
2.12.5


2018-03-12 07:08:38

by Weiyi Lu

[permalink] [raw]
Subject: [PATCH v2 4/5] arm64: dts: add clock device nodes of MT2712

add new clocks according to ECO design change

Signed-off-by: Weiyi Lu <[email protected]>
---
arch/arm64/boot/dts/mediatek/mt2712e.dtsi | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)

diff --git a/arch/arm64/boot/dts/mediatek/mt2712e.dtsi b/arch/arm64/boot/dts/mediatek/mt2712e.dtsi
index fdf66f4fe7c3..d7688bc9db1b 100644
--- a/arch/arm64/boot/dts/mediatek/mt2712e.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt2712e.dtsi
@@ -199,6 +199,34 @@
clock-output-names = "clkaud_ext_i_2";
};

+ clki2si0_mck_i: oscillator@6 {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <30000000>;
+ clock-output-names = "clki2si0_mck_i";
+ };
+
+ clki2si1_mck_i: oscillator@7 {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <30000000>;
+ clock-output-names = "clki2si1_mck_i";
+ };
+
+ clki2si2_mck_i: oscillator@8 {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <30000000>;
+ clock-output-names = "clki2si2_mck_i";
+ };
+
+ clktdmin_mclk_i: oscillator@9 {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <30000000>;
+ clock-output-names = "clktdmin_mclk_i";
+ };
+
timer {
compatible = "arm,armv8-timer";
interrupt-parent = <&gic>;
--
2.12.5


2018-03-18 12:51:21

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH v2 3/5] dt-bindings: clock: add clocks for MT2712

On Mon, Mar 12, 2018 at 03:03:40PM +0800, Weiyi Lu wrote:
> add new clocks according to ECO design change
>
> Signed-off-by: Weiyi Lu <[email protected]>
> ---
> include/dt-bindings/clock/mt2712-clk.h | 12 ++++++++++--
> 1 file changed, 10 insertions(+), 2 deletions(-)

Reviewed-by: Rob Herring <[email protected]>

2018-03-19 01:34:10

by Matthias Brugger

[permalink] [raw]
Subject: Re: [PATCH v2 1/5] dt-bindings: soc: update MT2712 power dt-bindings



On 03/12/2018 08:03 AM, Weiyi Lu wrote:
> Add new power domains(MFG_SC1/MFG_SC2/MFG_SC3)
> for MT2712 according to ECO design change.
>
> Signed-off-by: Weiyi Lu <[email protected]>
> Reviewed-by: Rob Herring <[email protected]>

Pushed to v4.16-next/soc

Thanks!

> ---
> include/dt-bindings/power/mt2712-power.h | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/include/dt-bindings/power/mt2712-power.h b/include/dt-bindings/power/mt2712-power.h
> index 92b46d772fae..2c147817efc2 100644
> --- a/include/dt-bindings/power/mt2712-power.h
> +++ b/include/dt-bindings/power/mt2712-power.h
> @@ -22,5 +22,8 @@
> #define MT2712_POWER_DOMAIN_USB 5
> #define MT2712_POWER_DOMAIN_USB2 6
> #define MT2712_POWER_DOMAIN_MFG 7
> +#define MT2712_POWER_DOMAIN_MFG_SC1 8
> +#define MT2712_POWER_DOMAIN_MFG_SC2 9
> +#define MT2712_POWER_DOMAIN_MFG_SC3 10
>
> #endif /* _DT_BINDINGS_POWER_MT2712_POWER_H */
>

2018-03-19 01:57:47

by Matthias Brugger

[permalink] [raw]
Subject: Re: [PATCH v2 2/5] soc: mediatek: update power domain data of MT2712



On 03/12/2018 08:03 AM, Weiyi Lu wrote:
> 1. split MFG power domain into MFG/MFG_SC1/MFG_SC2/MFG_SC3
> according to MT2712 ECO design change
> 2. add subdomain support for MT2712
>
> Signed-off-by: Weiyi Lu <[email protected]>

Pushed to v4.16-next/soc

Thanks!

> ---
> drivers/soc/mediatek/mtk-scpsys.c | 42 +++++++++++++++++++++++++++++++++++++--
> 1 file changed, 40 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/soc/mediatek/mtk-scpsys.c b/drivers/soc/mediatek/mtk-scpsys.c
> index 59bd749c2f25..edf8fd6c2c85 100644
> --- a/drivers/soc/mediatek/mtk-scpsys.c
> +++ b/drivers/soc/mediatek/mtk-scpsys.c
> @@ -664,12 +664,48 @@ static const struct scp_domain_data scp_domain_data_mt2712[] = {
> .name = "mfg",
> .sta_mask = PWR_STATUS_MFG,
> .ctl_offs = SPM_MFG_PWR_CON,
> - .sram_pdn_bits = GENMASK(11, 8),
> - .sram_pdn_ack_bits = GENMASK(19, 16),
> + .sram_pdn_bits = GENMASK(8, 8),
> + .sram_pdn_ack_bits = GENMASK(16, 16),
> .clk_id = {CLK_MFG},
> .bus_prot_mask = BIT(14) | BIT(21) | BIT(23),
> .active_wakeup = true,
> },
> + [MT2712_POWER_DOMAIN_MFG_SC1] = {
> + .name = "mfg_sc1",
> + .sta_mask = BIT(22),
> + .ctl_offs = 0x02c0,
> + .sram_pdn_bits = GENMASK(8, 8),
> + .sram_pdn_ack_bits = GENMASK(16, 16),
> + .clk_id = {CLK_NONE},
> + .active_wakeup = true,
> + },
> + [MT2712_POWER_DOMAIN_MFG_SC2] = {
> + .name = "mfg_sc2",
> + .sta_mask = BIT(23),
> + .ctl_offs = 0x02c4,
> + .sram_pdn_bits = GENMASK(8, 8),
> + .sram_pdn_ack_bits = GENMASK(16, 16),
> + .clk_id = {CLK_NONE},
> + .active_wakeup = true,
> + },
> + [MT2712_POWER_DOMAIN_MFG_SC3] = {
> + .name = "mfg_sc3",
> + .sta_mask = BIT(30),
> + .ctl_offs = 0x01f8,
> + .sram_pdn_bits = GENMASK(8, 8),
> + .sram_pdn_ack_bits = GENMASK(16, 16),
> + .clk_id = {CLK_NONE},
> + .active_wakeup = true,
> + },
> +};
> +
> +static const struct scp_subdomain scp_subdomain_mt2712[] = {
> + {MT2712_POWER_DOMAIN_MM, MT2712_POWER_DOMAIN_VDEC},
> + {MT2712_POWER_DOMAIN_MM, MT2712_POWER_DOMAIN_VENC},
> + {MT2712_POWER_DOMAIN_MM, MT2712_POWER_DOMAIN_ISP},
> + {MT2712_POWER_DOMAIN_MFG, MT2712_POWER_DOMAIN_MFG_SC1},
> + {MT2712_POWER_DOMAIN_MFG_SC1, MT2712_POWER_DOMAIN_MFG_SC2},
> + {MT2712_POWER_DOMAIN_MFG_SC2, MT2712_POWER_DOMAIN_MFG_SC3},
> };
>
> /*
> @@ -905,6 +941,8 @@ static const struct scp_soc_data mt2701_data = {
> static const struct scp_soc_data mt2712_data = {
> .domains = scp_domain_data_mt2712,
> .num_domains = ARRAY_SIZE(scp_domain_data_mt2712),
> + .subdomains = scp_subdomain_mt2712,
> + .num_subdomains = ARRAY_SIZE(scp_subdomain_mt2712),
> .regs = {
> .pwr_sta_offs = SPM_PWR_STATUS,
> .pwr_sta2nd_offs = SPM_PWR_STATUS_2ND
>

2018-03-19 21:40:24

by Stephen Boyd

[permalink] [raw]
Subject: Re: [PATCH v2 3/5] dt-bindings: clock: add clocks for MT2712

Quoting Weiyi Lu (2018-03-12 00:03:40)
> add new clocks according to ECO design change
>
> Signed-off-by: Weiyi Lu <[email protected]>
> ---

Applied to clk-next


2018-03-19 21:40:32

by Stephen Boyd

[permalink] [raw]
Subject: Re: [PATCH v2 5/5] clk: mediatek: update clock driver of MT2712

Quoting Weiyi Lu (2018-03-12 00:03:42)
> According to ECO design change,
> 1. add new clock mux data and change some
> 2. add new clock gate data and clock factor data
> 3. change status register offset of infra subsystem
>
> Signed-off-by: Weiyi Lu <[email protected]>
> ---

Applied to clk-next


2018-03-20 06:09:03

by Weiyi Lu

[permalink] [raw]
Subject: Re: [PATCH v2 0/5] update Mediatek MT2712 clock and scpsys support

On Mon, 2018-03-12 at 15:03 +0800, Weiyi Lu wrote:
> This series is based on v4.16-rc1 and composed of scpsys control (PATCH 1-2) and clock control (PATCH 3-5).
> Basically, all changes are for the ECO design change of MT2712.
>
> changes since v1:
> - Avoid renumbering clocks. Append new clocks at the bottom of each own subsystem.
>
Hi Matthias & Stephen,

Sorry to bother. Just saw patch 1/2 are already pushed to v4.16-next-soc
and patch 3/5 are applied onto clk-next. What about the patch 4(arm64:
dts: add clock device nodes of MT2712). Does there any problem remain or
it cause some problems? Many thanks.
> Weiyi Lu (5):
> dt-bindings: soc: update MT2712 power dt-bindings
> soc: mediatek: update power domain data of MT2712
> dt-bindings: clock: add clocks for MT2712
> arm64: dts: add clock device nodes of MT2712
> clk: mediatek: update clock driver of MT2712
>
> arch/arm64/boot/dts/mediatek/mt2712e.dtsi | 28 +++++++++++++
> drivers/clk/mediatek/clk-mt2712.c | 69 ++++++++++++++++++++++++-------
> drivers/soc/mediatek/mtk-scpsys.c | 42 ++++++++++++++++++-
> include/dt-bindings/clock/mt2712-clk.h | 12 +++++-
> include/dt-bindings/power/mt2712-power.h | 3 ++
> 5 files changed, 136 insertions(+), 18 deletions(-)
>



2018-03-20 07:25:03

by Stephen Boyd

[permalink] [raw]
Subject: Re: [PATCH v2 0/5] update Mediatek MT2712 clock and scpsys support

Quoting Weiyi Lu (2018-03-19 23:07:48)
> On Mon, 2018-03-12 at 15:03 +0800, Weiyi Lu wrote:
> > This series is based on v4.16-rc1 and composed of scpsys control (PATCH 1-2) and clock control (PATCH 3-5).
> > Basically, all changes are for the ECO design change of MT2712.
> >
> > changes since v1:
> > - Avoid renumbering clocks. Append new clocks at the bottom of each own subsystem.
> >
> Hi Matthias & Stephen,
>
> Sorry to bother. Just saw patch 1/2 are already pushed to v4.16-next-soc
> and patch 3/5 are applied onto clk-next. What about the patch 4(arm64:
> dts: add clock device nodes of MT2712). Does there any problem remain or
> it cause some problems? Many thanks.

Patch 4 can go via arm-soc? I'm not planning to apply that patch.

2018-03-21 09:13:17

by Matthias Brugger

[permalink] [raw]
Subject: Re: [PATCH v2 0/5] update Mediatek MT2712 clock and scpsys support



On 03/20/2018 08:23 AM, Stephen Boyd wrote:
> Quoting Weiyi Lu (2018-03-19 23:07:48)
>> On Mon, 2018-03-12 at 15:03 +0800, Weiyi Lu wrote:
>>> This series is based on v4.16-rc1 and composed of scpsys control (PATCH 1-2) and clock control (PATCH 3-5).
>>> Basically, all changes are for the ECO design change of MT2712.
>>>
>>> changes since v1:
>>> - Avoid renumbering clocks. Append new clocks at the bottom of each own subsystem.
>>>
>> Hi Matthias & Stephen,
>>
>> Sorry to bother. Just saw patch 1/2 are already pushed to v4.16-next-soc
>> and patch 3/5 are applied onto clk-next. What about the patch 4(arm64:
>> dts: add clock device nodes of MT2712). Does there any problem remain or
>> it cause some problems? Many thanks.
>
> Patch 4 can go via arm-soc? I'm not planning to apply that patch.
>

I can take it through my branch, no problem. But I think it is too late for this
cycle. CCing Arnd to confirm.

Regards,
Matthias

2018-04-17 14:24:45

by Matthias Brugger

[permalink] [raw]
Subject: Re: [PATCH v2 0/5] update Mediatek MT2712 clock and scpsys support



On 03/21/2018 10:11 AM, Matthias Brugger wrote:
>
>
> On 03/20/2018 08:23 AM, Stephen Boyd wrote:
>> Quoting Weiyi Lu (2018-03-19 23:07:48)
>>> On Mon, 2018-03-12 at 15:03 +0800, Weiyi Lu wrote:
>>>> This series is based on v4.16-rc1 and composed of scpsys control (PATCH 1-2) and clock control (PATCH 3-5).
>>>> Basically, all changes are for the ECO design change of MT2712.
>>>>
>>>> changes since v1:
>>>> - Avoid renumbering clocks. Append new clocks at the bottom of each own subsystem.
>>>>
>>> Hi Matthias & Stephen,
>>>
>>> Sorry to bother. Just saw patch 1/2 are already pushed to v4.16-next-soc
>>> and patch 3/5 are applied onto clk-next. What about the patch 4(arm64:
>>> dts: add clock device nodes of MT2712). Does there any problem remain or
>>> it cause some problems? Many thanks.
>>
>> Patch 4 can go via arm-soc? I'm not planning to apply that patch.
>>
>
> I can take it through my branch, no problem. But I think it is too late for this
> cycle. CCing Arnd to confirm.
>

Now pushed to v4.17-next/dts64

Thanks a lot.