mbox series

[v3,0/4] Add basic node support for MediaTek MT8188 SoC

Message ID 20230717120300.21388-1-jason-ch.chen@mediatek.com
Headers show
Series Add basic node support for MediaTek MT8188 SoC | expand

Message

Jason-ch Chen July 17, 2023, 12:02 p.m. UTC
From: jason-ch chen <Jason-ch.Chen@mediatek.com>

MT8188 is a SoC based on 64bit ARMv8 architecture.
It contains 6 CA55 and 2 CA78 cores.
MT8188 share many HW IP with MT65xx series.

This patchset was tested on MT8188 evaluation board to shell.

Based on tag: next-20230717, linux-next/master

Changes in v3:
- Remove the duplicated part of mt8188 in the pwrap yaml file
- Fix reviewer's comments about coding style

Changes in v2:
- Add MT8188 PMIC Wrapper compatible to binding document
- Fix reviewer's comments

jason-ch chen (4):
  dt-bindings: arm: Add compatible for MediaTek MT8188
  dt-bindings: arm: mediatek: Add mt8188 pericfg compatible
  dt-bindings: soc: mediatek: pwrap: Add compatible for MT8188
  arm64: dts: Add MediaTek MT8188 dts and evaluation board and Makefile

 .../devicetree/bindings/arm/mediatek.yaml     |   4 +
 .../arm/mediatek/mediatek,pericfg.yaml        |   1 +
 .../bindings/soc/mediatek/mediatek,pwrap.yaml |   6 +-
 arch/arm64/boot/dts/mediatek/Makefile         |   1 +
 arch/arm64/boot/dts/mediatek/mt8188-evb.dts   | 401 ++++++++
 arch/arm64/boot/dts/mediatek/mt8188.dtsi      | 951 ++++++++++++++++++
 6 files changed, 1363 insertions(+), 1 deletion(-)
 create mode 100644 arch/arm64/boot/dts/mediatek/mt8188-evb.dts
 create mode 100644 arch/arm64/boot/dts/mediatek/mt8188.dtsi

Comments

Krzysztof Kozlowski July 17, 2023, 7:58 p.m. UTC | #1
On 17/07/2023 14:03, Jason-ch Chen wrote:
> From: jason-ch chen <Jason-ch.Chen@mediatek.com>
> 
> MT8188 is a SoC based on 64bit ARMv8 architecture. It contains 6 CA55
> and 2 CA78 cores. MT8188 share many HW IP with MT65xx series.
> 
> We add basic chip support for MediaTek MT8188 on evaluation board.
> 
> Signed-off-by: jason-ch chen <Jason-ch.Chen@mediatek.com>
> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
> ---
>  arch/arm64/boot/dts/mediatek/Makefile       |   1 +
>  arch/arm64/boot/dts/mediatek/mt8188-evb.dts | 401 +++++++++
>  arch/arm64/boot/dts/mediatek/mt8188.dtsi    | 951 ++++++++++++++++++++
>  3 files changed, 1353 insertions(+)
>  create mode 100644 arch/arm64/boot/dts/mediatek/mt8188-evb.dts
>  create mode 100644 arch/arm64/boot/dts/mediatek/mt8188.dtsi
> 
> diff --git a/arch/arm64/boot/dts/mediatek/Makefile b/arch/arm64/boot/dts/mediatek/Makefile
> index c99c3372a4b5..9bd2324259a3 100644
> --- a/arch/arm64/boot/dts/mediatek/Makefile
> +++ b/arch/arm64/boot/dts/mediatek/Makefile
> @@ -44,6 +44,7 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += mt8183-kukui-krane-sku0.dtb
>  dtb-$(CONFIG_ARCH_MEDIATEK) += mt8183-kukui-krane-sku176.dtb
>  dtb-$(CONFIG_ARCH_MEDIATEK) += mt8183-pumpkin.dtb
>  dtb-$(CONFIG_ARCH_MEDIATEK) += mt8186-evb.dtb
> +dtb-$(CONFIG_ARCH_MEDIATEK) += mt8188-evb.dtb
>  dtb-$(CONFIG_ARCH_MEDIATEK) += mt8192-asurada-hayato-r1.dtb
>  dtb-$(CONFIG_ARCH_MEDIATEK) += mt8192-asurada-spherion-r0.dtb
>  dtb-$(CONFIG_ARCH_MEDIATEK) += mt8192-evb.dtb
> diff --git a/arch/arm64/boot/dts/mediatek/mt8188-evb.dts b/arch/arm64/boot/dts/mediatek/mt8188-evb.dts
> new file mode 100644
> index 000000000000..d8906172390e
> --- /dev/null
> +++ b/arch/arm64/boot/dts/mediatek/mt8188-evb.dts
> @@ -0,0 +1,401 @@
> +// SPDX-License-Identifier: (GPL-2.0 OR MIT)
> +/*
> + * Copyright (C) 2023 MediaTek Inc.
> + */
> +/dts-v1/;
> +#include "mt8188.dtsi"
> +#include "mt6359.dtsi"
> +
> +/ {
> +	model = "MediaTek MT8188 evaluation board";
> +	compatible = "mediatek,mt8188-evb", "mediatek,mt8188";
> +
> +	aliases {
> +		serial0 = &uart0;
> +		i2c0 = &i2c0;
> +		i2c1 = &i2c1;
> +		i2c2 = &i2c2;
> +		i2c3 = &i2c3;
> +		i2c4 = &i2c4;
> +		i2c5 = &i2c5;
> +		i2c6 = &i2c6;
> +		mmc0 = &mmc0;
> +	};
> +
> +	chosen: chosen {
> +		stdout-path = "serial0:115200n8";
> +		kaslr-seed = <0 0>;

It does not look like you tested the DTS against bindings. Please run
`make dtbs_check` (see
Documentation/devicetree/bindings/writing-schema.rst or
https://www.linaro.org/blog/tips-and-tricks-for-validating-devicetree-sources-with-the-devicetree-schema/
for instructions).

> +	};
> +
> +	memory@40000000 {
> +		device_type = "memory";
> +		reg = <0 0x40000000 0 0x80000000>;
> +	};
> +
> +	reserved_memory: reserved-memory {
> +		#address-cells = <2>;
> +		#size-cells = <2>;
> +		ranges;
> +
> +		scp_mem_reserved: scp_mem_region {

No underscores in node names.

> +			compatible = "shared-dma-pool";
> +			reg = <0 0x50000000 0 0x2900000>;
> +			no-map;
> +		};
> +	};


Best regards,
Krzysztof
Jason-ch Chen July 18, 2023, 6:36 a.m. UTC | #2
Hi Krzysztof,

On Mon, 2023-07-17 at 21:58 +0200, Krzysztof Kozlowski wrote:
>  	 
> External email : Please do not click links or open attachments until
> you have verified the sender or the content.
>  On 17/07/2023 14:03, Jason-ch Chen wrote:
> > From: jason-ch chen <Jason-ch.Chen@mediatek.com>
> > 
> > MT8188 is a SoC based on 64bit ARMv8 architecture. It contains 6
> CA55
> > and 2 CA78 cores. MT8188 share many HW IP with MT65xx series.
> > 
> > We add basic chip support for MediaTek MT8188 on evaluation board.
> > 
> > Signed-off-by: jason-ch chen <Jason-ch.Chen@mediatek.com>
> > Reviewed-by: AngeloGioacchino Del Regno <
> angelogioacchino.delregno@collabora.com>
> > ---
> >  arch/arm64/boot/dts/mediatek/Makefile       |   1 +
> >  arch/arm64/boot/dts/mediatek/mt8188-evb.dts | 401 +++++++++
> >  arch/arm64/boot/dts/mediatek/mt8188.dtsi    | 951
> ++++++++++++++++++++
> >  3 files changed, 1353 insertions(+)
> >  create mode 100644 arch/arm64/boot/dts/mediatek/mt8188-evb.dts
> >  create mode 100644 arch/arm64/boot/dts/mediatek/mt8188.dtsi
> > 
> > diff --git a/arch/arm64/boot/dts/mediatek/Makefile
> b/arch/arm64/boot/dts/mediatek/Makefile
> > index c99c3372a4b5..9bd2324259a3 100644
> > --- a/arch/arm64/boot/dts/mediatek/Makefile
> > +++ b/arch/arm64/boot/dts/mediatek/Makefile
> > @@ -44,6 +44,7 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += mt8183-kukui-
> krane-sku0.dtb
> >  dtb-$(CONFIG_ARCH_MEDIATEK) += mt8183-kukui-krane-sku176.dtb
> >  dtb-$(CONFIG_ARCH_MEDIATEK) += mt8183-pumpkin.dtb
> >  dtb-$(CONFIG_ARCH_MEDIATEK) += mt8186-evb.dtb
> > +dtb-$(CONFIG_ARCH_MEDIATEK) += mt8188-evb.dtb
> >  dtb-$(CONFIG_ARCH_MEDIATEK) += mt8192-asurada-hayato-r1.dtb
> >  dtb-$(CONFIG_ARCH_MEDIATEK) += mt8192-asurada-spherion-r0.dtb
> >  dtb-$(CONFIG_ARCH_MEDIATEK) += mt8192-evb.dtb
> > diff --git a/arch/arm64/boot/dts/mediatek/mt8188-evb.dts
> b/arch/arm64/boot/dts/mediatek/mt8188-evb.dts
> > new file mode 100644
> > index 000000000000..d8906172390e
> > --- /dev/null
> > +++ b/arch/arm64/boot/dts/mediatek/mt8188-evb.dts
> > @@ -0,0 +1,401 @@
> > +// SPDX-License-Identifier: (GPL-2.0 OR MIT)
> > +/*
> > + * Copyright (C) 2023 MediaTek Inc.
> > + */
> > +/dts-v1/;
> > +#include "mt8188.dtsi"
> > +#include "mt6359.dtsi"
> > +
> > +/ {
> > +model = "MediaTek MT8188 evaluation board";
> > +compatible = "mediatek,mt8188-evb", "mediatek,mt8188";
> > +
> > +aliases {
> > +serial0 = &uart0;
> > +i2c0 = &i2c0;
> > +i2c1 = &i2c1;
> > +i2c2 = &i2c2;
> > +i2c3 = &i2c3;
> > +i2c4 = &i2c4;
> > +i2c5 = &i2c5;
> > +i2c6 = &i2c6;
> > +mmc0 = &mmc0;
> > +};
> > +
> > +chosen: chosen {
> > +stdout-path = "serial0:115200n8";
> > +kaslr-seed = <0 0>;
> 
> It does not look like you tested the DTS against bindings. Please run
> `make dtbs_check` (see
> Documentation/devicetree/bindings/writing-schema.rst or
> 
https://www.linaro.org/blog/tips-and-tricks-for-validating-devicetree-sources-with-the-devicetree-schema/
> for instructions).
> 

Thank you for your review.
I actually ran dtbs_check, but it didn't display any problems here. I
will remove it in the next version.

> > +};
> > +
> > +memory@40000000 {
> > +device_type = "memory";
> > +reg = <0 0x40000000 0 0x80000000>;
> > +};
> > +
> > +reserved_memory: reserved-memory {
> > +#address-cells = <2>;
> > +#size-cells = <2>;
> > +ranges;
> > +
> > +scp_mem_reserved: scp_mem_region {
> 
> No underscores in node names.

I will fix it in the next version.

> 
> > +compatible = "shared-dma-pool";
> > +reg = <0 0x50000000 0 0x2900000>;
> > +no-map;
> > +};
> > +};
> 
> 
> Best regards,
> Krzysztof

Thanks,
Jason
>
Krzysztof Kozlowski July 18, 2023, 7:41 a.m. UTC | #3
On 18/07/2023 08:36, Jason-ch Chen (陳建豪) wrote:
> Hi Krzysztof,
> 
> On Mon, 2023-07-17 at 21:58 +0200, Krzysztof Kozlowski wrote:
>>  	 
>> External email : Please do not click links or open attachments until
>> you have verified the sender or the content.
>>  On 17/07/2023 14:03, Jason-ch Chen wrote:
>>> From: jason-ch chen <Jason-ch.Chen@mediatek.com>
>>>
>>> MT8188 is a SoC based on 64bit ARMv8 architecture. It contains 6
>> CA55
>>> and 2 CA78 cores. MT8188 share many HW IP with MT65xx series.
>>>
>>> We add basic chip support for MediaTek MT8188 on evaluation board.
>>>
>>> Signed-off-by: jason-ch chen <Jason-ch.Chen@mediatek.com>
>>> Reviewed-by: AngeloGioacchino Del Regno <
>> angelogioacchino.delregno@collabora.com>
>>> ---
>>>  arch/arm64/boot/dts/mediatek/Makefile       |   1 +
>>>  arch/arm64/boot/dts/mediatek/mt8188-evb.dts | 401 +++++++++
>>>  arch/arm64/boot/dts/mediatek/mt8188.dtsi    | 951
>> ++++++++++++++++++++
>>>  3 files changed, 1353 insertions(+)
>>>  create mode 100644 arch/arm64/boot/dts/mediatek/mt8188-evb.dts
>>>  create mode 100644 arch/arm64/boot/dts/mediatek/mt8188.dtsi
>>>
>>> diff --git a/arch/arm64/boot/dts/mediatek/Makefile
>> b/arch/arm64/boot/dts/mediatek/Makefile
>>> index c99c3372a4b5..9bd2324259a3 100644
>>> --- a/arch/arm64/boot/dts/mediatek/Makefile
>>> +++ b/arch/arm64/boot/dts/mediatek/Makefile
>>> @@ -44,6 +44,7 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += mt8183-kukui-
>> krane-sku0.dtb
>>>  dtb-$(CONFIG_ARCH_MEDIATEK) += mt8183-kukui-krane-sku176.dtb
>>>  dtb-$(CONFIG_ARCH_MEDIATEK) += mt8183-pumpkin.dtb
>>>  dtb-$(CONFIG_ARCH_MEDIATEK) += mt8186-evb.dtb
>>> +dtb-$(CONFIG_ARCH_MEDIATEK) += mt8188-evb.dtb
>>>  dtb-$(CONFIG_ARCH_MEDIATEK) += mt8192-asurada-hayato-r1.dtb
>>>  dtb-$(CONFIG_ARCH_MEDIATEK) += mt8192-asurada-spherion-r0.dtb
>>>  dtb-$(CONFIG_ARCH_MEDIATEK) += mt8192-evb.dtb
>>> diff --git a/arch/arm64/boot/dts/mediatek/mt8188-evb.dts
>> b/arch/arm64/boot/dts/mediatek/mt8188-evb.dts
>>> new file mode 100644
>>> index 000000000000..d8906172390e
>>> --- /dev/null
>>> +++ b/arch/arm64/boot/dts/mediatek/mt8188-evb.dts
>>> @@ -0,0 +1,401 @@
>>> +// SPDX-License-Identifier: (GPL-2.0 OR MIT)
>>> +/*
>>> + * Copyright (C) 2023 MediaTek Inc.
>>> + */
>>> +/dts-v1/;
>>> +#include "mt8188.dtsi"
>>> +#include "mt6359.dtsi"
>>> +
>>> +/ {
>>> +model = "MediaTek MT8188 evaluation board";
>>> +compatible = "mediatek,mt8188-evb", "mediatek,mt8188";
>>> +
>>> +aliases {
>>> +serial0 = &uart0;
>>> +i2c0 = &i2c0;
>>> +i2c1 = &i2c1;
>>> +i2c2 = &i2c2;
>>> +i2c3 = &i2c3;
>>> +i2c4 = &i2c4;
>>> +i2c5 = &i2c5;
>>> +i2c6 = &i2c6;
>>> +mmc0 = &mmc0;
>>> +};
>>> +
>>> +chosen: chosen {
>>> +stdout-path = "serial0:115200n8";
>>> +kaslr-seed = <0 0>;
>>
>> It does not look like you tested the DTS against bindings. Please run
>> `make dtbs_check` (see
>> Documentation/devicetree/bindings/writing-schema.rst or
>>
> https://www.linaro.org/blog/tips-and-tricks-for-validating-devicetree-sources-with-the-devicetree-schema/
>> for instructions).
>>
> 
> Thank you for your review.
> I actually ran dtbs_check, but it didn't display any problems here. I
> will remove it in the next version.

Ah, right, it is coming from dtschema, so the property could stay. I
don't understand though why adding 0 as seed. Shouldn't your firmware
set it?

Best regards,
Krzysztof
Jason-ch Chen July 18, 2023, 8:05 a.m. UTC | #4
Hi Krzysztof,

On Tue, 2023-07-18 at 09:41 +0200, Krzysztof Kozlowski wrote:
>  	 
> External email : Please do not click links or open attachments until
> you have verified the sender or the content.
>  On 18/07/2023 08:36, Jason-ch Chen (陳建豪) wrote:
> > Hi Krzysztof,
> > 
> > On Mon, 2023-07-17 at 21:58 +0200, Krzysztof Kozlowski wrote:
> >>   
> >> External email : Please do not click links or open attachments
> until
> >> you have verified the sender or the content.
> >>  On 17/07/2023 14:03, Jason-ch Chen wrote:
> >>> From: jason-ch chen <Jason-ch.Chen@mediatek.com>
> >>>
> >>> MT8188 is a SoC based on 64bit ARMv8 architecture. It contains 6
> >> CA55
> >>> and 2 CA78 cores. MT8188 share many HW IP with MT65xx series.
> >>>
> >>> We add basic chip support for MediaTek MT8188 on evaluation
> board.
> >>>
> >>> Signed-off-by: jason-ch chen <Jason-ch.Chen@mediatek.com>
> >>> Reviewed-by: AngeloGioacchino Del Regno <
> >> angelogioacchino.delregno@collabora.com>
> >>> ---
> >>>  arch/arm64/boot/dts/mediatek/Makefile       |   1 +
> >>>  arch/arm64/boot/dts/mediatek/mt8188-evb.dts | 401 +++++++++
> >>>  arch/arm64/boot/dts/mediatek/mt8188.dtsi    | 951
> >> ++++++++++++++++++++
> >>>  3 files changed, 1353 insertions(+)
> >>>  create mode 100644 arch/arm64/boot/dts/mediatek/mt8188-evb.dts
> >>>  create mode 100644 arch/arm64/boot/dts/mediatek/mt8188.dtsi
> >>>
> >>> diff --git a/arch/arm64/boot/dts/mediatek/Makefile
> >> b/arch/arm64/boot/dts/mediatek/Makefile
> >>> index c99c3372a4b5..9bd2324259a3 100644
> >>> --- a/arch/arm64/boot/dts/mediatek/Makefile
> >>> +++ b/arch/arm64/boot/dts/mediatek/Makefile
> >>> @@ -44,6 +44,7 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += mt8183-kukui-
> >> krane-sku0.dtb
> >>>  dtb-$(CONFIG_ARCH_MEDIATEK) += mt8183-kukui-krane-sku176.dtb
> >>>  dtb-$(CONFIG_ARCH_MEDIATEK) += mt8183-pumpkin.dtb
> >>>  dtb-$(CONFIG_ARCH_MEDIATEK) += mt8186-evb.dtb
> >>> +dtb-$(CONFIG_ARCH_MEDIATEK) += mt8188-evb.dtb
> >>>  dtb-$(CONFIG_ARCH_MEDIATEK) += mt8192-asurada-hayato-r1.dtb
> >>>  dtb-$(CONFIG_ARCH_MEDIATEK) += mt8192-asurada-spherion-r0.dtb
> >>>  dtb-$(CONFIG_ARCH_MEDIATEK) += mt8192-evb.dtb
> >>> diff --git a/arch/arm64/boot/dts/mediatek/mt8188-evb.dts
> >> b/arch/arm64/boot/dts/mediatek/mt8188-evb.dts
> >>> new file mode 100644
> >>> index 000000000000..d8906172390e
> >>> --- /dev/null
> >>> +++ b/arch/arm64/boot/dts/mediatek/mt8188-evb.dts
> >>> @@ -0,0 +1,401 @@
> >>> +// SPDX-License-Identifier: (GPL-2.0 OR MIT)
> >>> +/*
> >>> + * Copyright (C) 2023 MediaTek Inc.
> >>> + */
> >>> +/dts-v1/;
> >>> +#include "mt8188.dtsi"
> >>> +#include "mt6359.dtsi"
> >>> +
> >>> +/ {
> >>> +model = "MediaTek MT8188 evaluation board";
> >>> +compatible = "mediatek,mt8188-evb", "mediatek,mt8188";
> >>> +
> >>> +aliases {
> >>> +serial0 = &uart0;
> >>> +i2c0 = &i2c0;
> >>> +i2c1 = &i2c1;
> >>> +i2c2 = &i2c2;
> >>> +i2c3 = &i2c3;
> >>> +i2c4 = &i2c4;
> >>> +i2c5 = &i2c5;
> >>> +i2c6 = &i2c6;
> >>> +mmc0 = &mmc0;
> >>> +};
> >>> +
> >>> +chosen: chosen {
> >>> +stdout-path = "serial0:115200n8";
> >>> +kaslr-seed = <0 0>;
> >>
> >> It does not look like you tested the DTS against bindings. Please
> run
> >> `make dtbs_check` (see
> >> Documentation/devicetree/bindings/writing-schema.rst or
> >>
> > 
> https://www.linaro.org/blog/tips-and-tricks-for-validating-devicetree-sources-with-the-devicetree-schema/
> >> for instructions).
> >>
> > 
> > Thank you for your review.
> > I actually ran dtbs_check, but it didn't display any problems here.
> I
> > will remove it in the next version.
> 
> Ah, right, it is coming from dtschema, so the property could stay. I
> don't understand though why adding 0 as seed. Shouldn't your firmware
> set it?
> 

This was my negligence. Indeed, it is not necessary to include it in
the DTS. I will remove it next time. Thank you.

> Best regards,
> Krzysztof
> 

Regards,
Jason