arm64: dts: mediatek: mt8186: Add I2C arbiter clocks to i2c 1/2/5
Commit Message
The I2C busses 1, 2 and 5 have got a separated arbiter clock: add it
to their respective nodes.
Fixes: 2e78620b1350 ("arm64: dts: Add MediaTek MT8186 dts and evaluation board and Makefile")
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
---
arch/arm64/boot/dts/mediatek/mt8186.dtsi | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
Comments
On Fri, 2023-10-20 at 09:55 +0200, AngeloGioacchino Del Regno wrote:
> The I2C busses 1, 2 and 5 have got a separated arbiter clock: add it
> to their respective nodes.
>
> Fixes: 2e78620b1350 ("arm64: dts: Add MediaTek MT8186 dts and
> evaluation board and Makefile")
> Signed-off-by: AngeloGioacchino Del Regno <
> angelogioacchino.delregno@collabora.com>
> ---
> arch/arm64/boot/dts/mediatek/mt8186.dtsi | 15 +++++++++------
> 1 file changed, 9 insertions(+), 6 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/mediatek/mt8186.dtsi
> b/arch/arm64/boot/dts/mediatek/mt8186.dtsi
> index f04ae70c470a..af6f6687de35 100644
> --- a/arch/arm64/boot/dts/mediatek/mt8186.dtsi
> +++ b/arch/arm64/boot/dts/mediatek/mt8186.dtsi
> @@ -1224,8 +1224,9 @@ i2c1: i2c@11008000 {
> <0 0x10200200 0 0x100>;
> interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH
> 0>;
> clocks = <&imp_iic_wrap
> CLK_IMP_IIC_WRAP_AP_CLOCK_I2C1>,
> - <&infracfg_ao CLK_INFRA_AO_AP_DMA>;
> - clock-names = "main", "dma";
> + <&infracfg_ao CLK_INFRA_AO_AP_DMA>,
> + <&infracfg_ao
> CLK_INFRA_AO_I2C1_ARBITER>;
> + clock-names = "main", "dma", "arb";
> clock-div = <1>;
> #address-cells = <1>;
> #size-cells = <0>;
> @@ -1238,8 +1239,9 @@ i2c2: i2c@11009000 {
> <0 0x10200300 0 0x180>;
> interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH
> 0>;
> clocks = <&imp_iic_wrap
> CLK_IMP_IIC_WRAP_AP_CLOCK_I2C2>,
> - <&infracfg_ao CLK_INFRA_AO_AP_DMA>;
> - clock-names = "main", "dma";
> + <&infracfg_ao CLK_INFRA_AO_AP_DMA>,
> + <&infracfg_ao
> CLK_INFRA_AO_I2C2_ARBITER>;
> + clock-names = "main", "dma", "arb";
> clock-div = <1>;
> #address-cells = <1>;
> #size-cells = <0>;
> @@ -1280,8 +1282,9 @@ i2c5: i2c@11016000 {
> <0 0x10200700 0 0x100>;
> interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH
> 0>;
> clocks = <&imp_iic_wrap
> CLK_IMP_IIC_WRAP_AP_CLOCK_I2C5>,
> - <&infracfg_ao CLK_INFRA_AO_AP_DMA>;
> - clock-names = "main", "dma";
> + <&infracfg_ao CLK_INFRA_AO_AP_DMA>,
> + <&infracfg_ao
> CLK_INFRA_AO_I2C5_ARBITER>;
> + clock-names = "main", "dma", "arb";
> clock-div = <1>;
> #address-cells = <1>;
> #size-cells = <0>;
In previous discussion[1], if the arbiter clock is not added into dts
node does trackpad lost its functionality before system suspend/resume?
And is this patch meant to solve the same issue in [1]?
Reply on behalf of our i2c PIC.
Sorry for late reply
Best Regards,
YuChang
[1]:
https://lore.kernel.org/all/32d51e40-5d9c-47dd-bb62-2ccc811ac6dc@collabora.com/
Il 08/11/23 07:56, Yu-chang Lee (李禹璋) ha scritto:
> On Fri, 2023-10-20 at 09:55 +0200, AngeloGioacchino Del Regno wrote:
>> The I2C busses 1, 2 and 5 have got a separated arbiter clock: add it
>> to their respective nodes.
>>
>> Fixes: 2e78620b1350 ("arm64: dts: Add MediaTek MT8186 dts and
>> evaluation board and Makefile")
>> Signed-off-by: AngeloGioacchino Del Regno <
>> angelogioacchino.delregno@collabora.com>
>> ---
>> arch/arm64/boot/dts/mediatek/mt8186.dtsi | 15 +++++++++------
>> 1 file changed, 9 insertions(+), 6 deletions(-)
>>
>> diff --git a/arch/arm64/boot/dts/mediatek/mt8186.dtsi
>> b/arch/arm64/boot/dts/mediatek/mt8186.dtsi
>> index f04ae70c470a..af6f6687de35 100644
>> --- a/arch/arm64/boot/dts/mediatek/mt8186.dtsi
>> +++ b/arch/arm64/boot/dts/mediatek/mt8186.dtsi
>> @@ -1224,8 +1224,9 @@ i2c1: i2c@11008000 {
>> <0 0x10200200 0 0x100>;
>> interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH
>> 0>;
>> clocks = <&imp_iic_wrap
>> CLK_IMP_IIC_WRAP_AP_CLOCK_I2C1>,
>> - <&infracfg_ao CLK_INFRA_AO_AP_DMA>;
>> - clock-names = "main", "dma";
>> + <&infracfg_ao CLK_INFRA_AO_AP_DMA>,
>> + <&infracfg_ao
>> CLK_INFRA_AO_I2C1_ARBITER>;
>> + clock-names = "main", "dma", "arb";
>> clock-div = <1>;
>> #address-cells = <1>;
>> #size-cells = <0>;
>> @@ -1238,8 +1239,9 @@ i2c2: i2c@11009000 {
>> <0 0x10200300 0 0x180>;
>> interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH
>> 0>;
>> clocks = <&imp_iic_wrap
>> CLK_IMP_IIC_WRAP_AP_CLOCK_I2C2>,
>> - <&infracfg_ao CLK_INFRA_AO_AP_DMA>;
>> - clock-names = "main", "dma";
>> + <&infracfg_ao CLK_INFRA_AO_AP_DMA>,
>> + <&infracfg_ao
>> CLK_INFRA_AO_I2C2_ARBITER>;
>> + clock-names = "main", "dma", "arb";
>> clock-div = <1>;
>> #address-cells = <1>;
>> #size-cells = <0>;
>> @@ -1280,8 +1282,9 @@ i2c5: i2c@11016000 {
>> <0 0x10200700 0 0x100>;
>> interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH
>> 0>;
>> clocks = <&imp_iic_wrap
>> CLK_IMP_IIC_WRAP_AP_CLOCK_I2C5>,
>> - <&infracfg_ao CLK_INFRA_AO_AP_DMA>;
>> - clock-names = "main", "dma";
>> + <&infracfg_ao CLK_INFRA_AO_AP_DMA>,
>> + <&infracfg_ao
>> CLK_INFRA_AO_I2C5_ARBITER>;
>> + clock-names = "main", "dma", "arb";
>> clock-div = <1>;
>> #address-cells = <1>;
>> #size-cells = <0>;
>
> In previous discussion[1], if the arbiter clock is not added into dts
> node does trackpad lost its functionality before system suspend/resume?
> And is this patch meant to solve the same issue in [1]?
>
> Reply on behalf of our i2c PIC.
>
Yes, it loses functionality sometimes after PM resume, but with this added clock
the problem is solved.
And yes, it's the same as [1].
Regards,
Angelo
@@ -1224,8 +1224,9 @@ i2c1: i2c@11008000 {
<0 0x10200200 0 0x100>;
interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH 0>;
clocks = <&imp_iic_wrap CLK_IMP_IIC_WRAP_AP_CLOCK_I2C1>,
- <&infracfg_ao CLK_INFRA_AO_AP_DMA>;
- clock-names = "main", "dma";
+ <&infracfg_ao CLK_INFRA_AO_AP_DMA>,
+ <&infracfg_ao CLK_INFRA_AO_I2C1_ARBITER>;
+ clock-names = "main", "dma", "arb";
clock-div = <1>;
#address-cells = <1>;
#size-cells = <0>;
@@ -1238,8 +1239,9 @@ i2c2: i2c@11009000 {
<0 0x10200300 0 0x180>;
interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH 0>;
clocks = <&imp_iic_wrap CLK_IMP_IIC_WRAP_AP_CLOCK_I2C2>,
- <&infracfg_ao CLK_INFRA_AO_AP_DMA>;
- clock-names = "main", "dma";
+ <&infracfg_ao CLK_INFRA_AO_AP_DMA>,
+ <&infracfg_ao CLK_INFRA_AO_I2C2_ARBITER>;
+ clock-names = "main", "dma", "arb";
clock-div = <1>;
#address-cells = <1>;
#size-cells = <0>;
@@ -1280,8 +1282,9 @@ i2c5: i2c@11016000 {
<0 0x10200700 0 0x100>;
interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH 0>;
clocks = <&imp_iic_wrap CLK_IMP_IIC_WRAP_AP_CLOCK_I2C5>,
- <&infracfg_ao CLK_INFRA_AO_AP_DMA>;
- clock-names = "main", "dma";
+ <&infracfg_ao CLK_INFRA_AO_AP_DMA>,
+ <&infracfg_ao CLK_INFRA_AO_I2C5_ARBITER>;
+ clock-names = "main", "dma", "arb";
clock-div = <1>;
#address-cells = <1>;
#size-cells = <0>;