Re: [PATCH] arm64: dts: mediatek: Add smi_common node for MT8183

From: Enric Balletbo i Serra
Date: Thu Oct 15 2020 - 12:07:40 EST


Hi Matthias,

On 2/10/20 11:17, Matthias Brugger wrote:
>
>
> On 01/10/2020 18:28, Enric Balletbo i Serra wrote:
>> The SMI (Smart Multimedia Interface) Common is a bridge between the m4u
>> (Multimedia Memory Management Unit) and the Multimedia HW. This block is
>> needed to support different multimedia features, like display, video
>> decode, and camera. Also is needed to control the power domains of such
>> HW blocks.
>>
>> Signed-off-by: Enric Balletbo i Serra <enric.balletbo@xxxxxxxxxxxxx>
>> ---
>>
>>   arch/arm64/boot/dts/mediatek/mt8183.dtsi | 10 ++++++++++
>>   1 file changed, 10 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/mediatek/mt8183.dtsi
>> b/arch/arm64/boot/dts/mediatek/mt8183.dtsi
>> index c2fd141afcf6..9082bc65e15e 100644
>> --- a/arch/arm64/boot/dts/mediatek/mt8183.dtsi
>> +++ b/arch/arm64/boot/dts/mediatek/mt8183.dtsi
>> @@ -916,6 +916,16 @@ mmsys: syscon@14000000 {
>>               #clock-cells = <1>;
>>           };
>>   +        smi_common: smi@14019000 {
>> +            compatible = "mediatek,mt8183-smi-common", "syscon";
>> +            reg = <0 0x14019000 0 0x1000>;
>> +            clocks = <&mmsys CLK_MM_SMI_COMMON>,
>> +                 <&mmsys CLK_MM_SMI_COMMON>,
>> +                 <&mmsys CLK_MM_GALS_COMM0>,
>> +                 <&mmsys CLK_MM_GALS_COMM1>;
>> +            clock-names = "apb", "smi", "gals0", "gals1";
>> +        };
>> +
>
> Having a look at the bindings description, it states that the power-domains
> phandle is a required property.

Hmmm, this makes me think that there is a kind of circular dependency for
MT8183, so MT8183 power domains depends on smi_common and smi_common depends on
MT8183 power domains. Will take a deeper look.

Thanks
Enric


> So I suppose you have to base this on the power domains series.
>
> Regards,
> Matthias
>
>>           imgsys: syscon@15020000 {
>>               compatible = "mediatek,mt8183-imgsys", "syscon";
>>               reg = <0 0x15020000 0 0x1000>;
>>