diff mbox series

[1/2] dt-bindings: arm64: mediatek: Add MT7981B and Xiaomi AX3000T

Message ID 20240110095118.25598-1-zajec5@gmail.com
State Superseded, archived
Headers show
Series [1/2] dt-bindings: arm64: mediatek: Add MT7981B and Xiaomi AX3000T | expand

Checks

Context Check Description
robh/checkpatch success
robh/patch-applied success
robh/dtbs-check warning build log
robh/dt-meta-schema success

Commit Message

Rafał Miłecki Jan. 10, 2024, 9:51 a.m. UTC
From: Rafał Miłecki <rafal@milecki.pl>

MT7981B (AKA Filogic 820) is MediaTek's dual-core ARM Cortex-A53 SoC.
One of market devices using this SoC is Xiaomi AX3000T.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
---
 Documentation/devicetree/bindings/arm/mediatek.yaml | 4 ++++
 1 file changed, 4 insertions(+)

Comments

AngeloGioacchino Del Regno Jan. 10, 2024, 1:38 p.m. UTC | #1
Il 10/01/24 10:51, Rafał Miłecki ha scritto:
> From: Rafał Miłecki <rafal@milecki.pl>
> 
> MT7981B (AKA MediaTek Filogic 820) is a dual-core ARM Cortex-A53 SoC.
> One of market devices using this SoC is Xiaomi AX3000T.
> 
> This is initial contribution with basic SoC support. More hardware block
> will get added later. Some will need their bindings (like auxadc).
> 
> Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
> ---
>   arch/arm64/boot/dts/mediatek/Makefile         |   1 +
>   .../dts/mediatek/mt7981b-xiaomi-ax3000t.dts   |  15 +++
>   arch/arm64/boot/dts/mediatek/mt7981b.dtsi     | 108 ++++++++++++++++++
>   3 files changed, 124 insertions(+)
>   create mode 100644 arch/arm64/boot/dts/mediatek/mt7981b-xiaomi-ax3000t.dts
>   create mode 100644 arch/arm64/boot/dts/mediatek/mt7981b.dtsi
> 
> diff --git a/arch/arm64/boot/dts/mediatek/Makefile b/arch/arm64/boot/dts/mediatek/Makefile
> index 0a189d5d8006..8bff11acfe1f 100644
> --- a/arch/arm64/boot/dts/mediatek/Makefile
> +++ b/arch/arm64/boot/dts/mediatek/Makefile
> @@ -8,6 +8,7 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += mt6797-evb.dtb
>   dtb-$(CONFIG_ARCH_MEDIATEK) += mt6797-x20-dev.dtb
>   dtb-$(CONFIG_ARCH_MEDIATEK) += mt7622-rfb1.dtb
>   dtb-$(CONFIG_ARCH_MEDIATEK) += mt7622-bananapi-bpi-r64.dtb
> +dtb-$(CONFIG_ARCH_MEDIATEK) += mt7981b-xiaomi-ax3000t.dtb
>   dtb-$(CONFIG_ARCH_MEDIATEK) += mt7986a-bananapi-bpi-r3.dtb
>   dtb-$(CONFIG_ARCH_MEDIATEK) += mt7986a-bananapi-bpi-r3-emmc.dtbo
>   dtb-$(CONFIG_ARCH_MEDIATEK) += mt7986a-bananapi-bpi-r3-nand.dtbo
> diff --git a/arch/arm64/boot/dts/mediatek/mt7981b-xiaomi-ax3000t.dts b/arch/arm64/boot/dts/mediatek/mt7981b-xiaomi-ax3000t.dts
> new file mode 100644
> index 000000000000..a314c3e05e50
> --- /dev/null
> +++ b/arch/arm64/boot/dts/mediatek/mt7981b-xiaomi-ax3000t.dts
> @@ -0,0 +1,15 @@
> +// SPDX-License-Identifier: GPL-2.0-only OR MIT
> +
> +/dts-v1/;
> +
> +#include "mt7981b.dtsi"
> +
> +/ {
> +	compatible = "xiaomi,ax3000t", "mediatek,mt7981b";
> +	model = "Xiaomi AX3000T";
> +
> +	memory@40000000 {
> +		reg = <0 0x40000000 0 0x10000000>;
> +		device_type = "memory";
> +	};
> +};
> diff --git a/arch/arm64/boot/dts/mediatek/mt7981b.dtsi b/arch/arm64/boot/dts/mediatek/mt7981b.dtsi
> new file mode 100644
> index 000000000000..ce878ad55204
> --- /dev/null
> +++ b/arch/arm64/boot/dts/mediatek/mt7981b.dtsi
> @@ -0,0 +1,108 @@
> +// SPDX-License-Identifier: GPL-2.0-only OR MIT
> +
> +#include <dt-bindings/clock/mediatek,mt7981-clk.h>
> +#include <dt-bindings/interrupt-controller/arm-gic.h>
> +
> +/ {
> +	compatible = "mediatek,mt7981b";
> +	interrupt-parent = <&gic>;
> +	#address-cells = <2>;
> +	#size-cells = <2>;
> +
> +	cpus {
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +
> +		cpu@0 {
> +			compatible = "arm,cortex-a53";
> +			reg = <0x0>;
> +			device_type = "cpu";
> +			enable-method = "psci";
> +		};
> +
> +		cpu@1 {
> +			compatible = "arm,cortex-a53";
> +			reg = <0x1>;
> +			device_type = "cpu";
> +			enable-method = "psci";
> +		};
> +	};
> +
> +	oscillator-40m {
> +		compatible = "fixed-clock";
> +		clock-frequency = <40000000>;
> +		clock-output-names = "clkxtal";
> +		#clock-cells = <0>;
> +	};
> +
> +	psci {
> +		compatible = "arm,psci-0.2";

PSCI 0.2? I invite you to check a kernel log for a string like this one:

`PSCIv%d.%d detected in firmware`
...because of course if it says v1.0, this should be "arm,psci-1.0".

This is just a nitpick anyway, so you can already get my

Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>

P.S.: but please, confirm or deny that PSCI thing ASAP :-)
P.P.S.: For next time - I'd be happy if you could add a cover letter to your
patch series..!

Cheers,
Angelo
AngeloGioacchino Del Regno Jan. 10, 2024, 1:38 p.m. UTC | #2
Il 10/01/24 10:51, Rafał Miłecki ha scritto:
> From: Rafał Miłecki <rafal@milecki.pl>
> 
> MT7981B (AKA Filogic 820) is MediaTek's dual-core ARM Cortex-A53 SoC.
> One of market devices using this SoC is Xiaomi AX3000T.
> 
> Signed-off-by: Rafał Miłecki <rafal@milecki.pl>

Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Rafał Miłecki Jan. 10, 2024, 3:41 p.m. UTC | #3
On 10.01.2024 14:38, AngeloGioacchino Del Regno wrote:
> Il 10/01/24 10:51, Rafał Miłecki ha scritto:
>> From: Rafał Miłecki <rafal@milecki.pl>
>>
>> MT7981B (AKA MediaTek Filogic 820) is a dual-core ARM Cortex-A53 SoC.
>> One of market devices using this SoC is Xiaomi AX3000T.
>>
>> This is initial contribution with basic SoC support. More hardware block
>> will get added later. Some will need their bindings (like auxadc).
>>
>> Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
>> ---
>>   arch/arm64/boot/dts/mediatek/Makefile         |   1 +
>>   .../dts/mediatek/mt7981b-xiaomi-ax3000t.dts   |  15 +++
>>   arch/arm64/boot/dts/mediatek/mt7981b.dtsi     | 108 ++++++++++++++++++
>>   3 files changed, 124 insertions(+)
>>   create mode 100644 arch/arm64/boot/dts/mediatek/mt7981b-xiaomi-ax3000t.dts
>>   create mode 100644 arch/arm64/boot/dts/mediatek/mt7981b.dtsi
>>
>> diff --git a/arch/arm64/boot/dts/mediatek/Makefile b/arch/arm64/boot/dts/mediatek/Makefile
>> index 0a189d5d8006..8bff11acfe1f 100644
>> --- a/arch/arm64/boot/dts/mediatek/Makefile
>> +++ b/arch/arm64/boot/dts/mediatek/Makefile
>> @@ -8,6 +8,7 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += mt6797-evb.dtb
>>   dtb-$(CONFIG_ARCH_MEDIATEK) += mt6797-x20-dev.dtb
>>   dtb-$(CONFIG_ARCH_MEDIATEK) += mt7622-rfb1.dtb
>>   dtb-$(CONFIG_ARCH_MEDIATEK) += mt7622-bananapi-bpi-r64.dtb
>> +dtb-$(CONFIG_ARCH_MEDIATEK) += mt7981b-xiaomi-ax3000t.dtb
>>   dtb-$(CONFIG_ARCH_MEDIATEK) += mt7986a-bananapi-bpi-r3.dtb
>>   dtb-$(CONFIG_ARCH_MEDIATEK) += mt7986a-bananapi-bpi-r3-emmc.dtbo
>>   dtb-$(CONFIG_ARCH_MEDIATEK) += mt7986a-bananapi-bpi-r3-nand.dtbo
>> diff --git a/arch/arm64/boot/dts/mediatek/mt7981b-xiaomi-ax3000t.dts b/arch/arm64/boot/dts/mediatek/mt7981b-xiaomi-ax3000t.dts
>> new file mode 100644
>> index 000000000000..a314c3e05e50
>> --- /dev/null
>> +++ b/arch/arm64/boot/dts/mediatek/mt7981b-xiaomi-ax3000t.dts
>> @@ -0,0 +1,15 @@
>> +// SPDX-License-Identifier: GPL-2.0-only OR MIT
>> +
>> +/dts-v1/;
>> +
>> +#include "mt7981b.dtsi"
>> +
>> +/ {
>> +    compatible = "xiaomi,ax3000t", "mediatek,mt7981b";
>> +    model = "Xiaomi AX3000T";
>> +
>> +    memory@40000000 {
>> +        reg = <0 0x40000000 0 0x10000000>;
>> +        device_type = "memory";
>> +    };
>> +};
>> diff --git a/arch/arm64/boot/dts/mediatek/mt7981b.dtsi b/arch/arm64/boot/dts/mediatek/mt7981b.dtsi
>> new file mode 100644
>> index 000000000000..ce878ad55204
>> --- /dev/null
>> +++ b/arch/arm64/boot/dts/mediatek/mt7981b.dtsi
>> @@ -0,0 +1,108 @@
>> +// SPDX-License-Identifier: GPL-2.0-only OR MIT
>> +
>> +#include <dt-bindings/clock/mediatek,mt7981-clk.h>
>> +#include <dt-bindings/interrupt-controller/arm-gic.h>
>> +
>> +/ {
>> +    compatible = "mediatek,mt7981b";
>> +    interrupt-parent = <&gic>;
>> +    #address-cells = <2>;
>> +    #size-cells = <2>;
>> +
>> +    cpus {
>> +        #address-cells = <1>;
>> +        #size-cells = <0>;
>> +
>> +        cpu@0 {
>> +            compatible = "arm,cortex-a53";
>> +            reg = <0x0>;
>> +            device_type = "cpu";
>> +            enable-method = "psci";
>> +        };
>> +
>> +        cpu@1 {
>> +            compatible = "arm,cortex-a53";
>> +            reg = <0x1>;
>> +            device_type = "cpu";
>> +            enable-method = "psci";
>> +        };
>> +    };
>> +
>> +    oscillator-40m {
>> +        compatible = "fixed-clock";
>> +        clock-frequency = <40000000>;
>> +        clock-output-names = "clkxtal";
>> +        #clock-cells = <0>;
>> +    };
>> +
>> +    psci {
>> +        compatible = "arm,psci-0.2";
> 
> PSCI 0.2? I invite you to check a kernel log for a string like this one:
> 
> `PSCIv%d.%d detected in firmware`
> ...because of course if it says v1.0, this should be "arm,psci-1.0".
> 
> This is just a nitpick anyway, so you can already get my
> 
> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
> 
> P.S.: but please, confirm or deny that PSCI thing ASAP :-)
> P.P.S.: For next time - I'd be happy if you could add a cover letter to your
> patch series..!

You were right, good catch!

[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.1 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: MIGRATE_INFO_TYPE not supported.
[    0.000000] psci: SMC Calling Convention v1.0

I'll fix that in V2. Thanks!
Conor Dooley Jan. 10, 2024, 4:04 p.m. UTC | #4
On Wed, Jan 10, 2024 at 10:51:17AM +0100, Rafał Miłecki wrote:
> From: Rafał Miłecki <rafal@milecki.pl>
> 
> MT7981B (AKA Filogic 820) is MediaTek's dual-core ARM Cortex-A53 SoC.
> One of market devices using this SoC is Xiaomi AX3000T.
> 
> Signed-off-by: Rafał Miłecki <rafal@milecki.pl>

Acked-by: Conor Dooley <conor.dooley@microchip.com>

Cheers,
Conor.
AngeloGioacchino Del Regno Jan. 10, 2024, 4:22 p.m. UTC | #5
Il 10/01/24 16:41, Rafał Miłecki ha scritto:
> On 10.01.2024 14:38, AngeloGioacchino Del Regno wrote:
>> Il 10/01/24 10:51, Rafał Miłecki ha scritto:
>>> From: Rafał Miłecki <rafal@milecki.pl>
>>>
>>> MT7981B (AKA MediaTek Filogic 820) is a dual-core ARM Cortex-A53 SoC.
>>> One of market devices using this SoC is Xiaomi AX3000T.
>>>
>>> This is initial contribution with basic SoC support. More hardware block
>>> will get added later. Some will need their bindings (like auxadc).
>>>
>>> Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
>>> ---
>>>   arch/arm64/boot/dts/mediatek/Makefile         |   1 +
>>>   .../dts/mediatek/mt7981b-xiaomi-ax3000t.dts   |  15 +++
>>>   arch/arm64/boot/dts/mediatek/mt7981b.dtsi     | 108 ++++++++++++++++++
>>>   3 files changed, 124 insertions(+)
>>>   create mode 100644 arch/arm64/boot/dts/mediatek/mt7981b-xiaomi-ax3000t.dts
>>>   create mode 100644 arch/arm64/boot/dts/mediatek/mt7981b.dtsi
>>>
>>> diff --git a/arch/arm64/boot/dts/mediatek/Makefile 
>>> b/arch/arm64/boot/dts/mediatek/Makefile
>>> index 0a189d5d8006..8bff11acfe1f 100644
>>> --- a/arch/arm64/boot/dts/mediatek/Makefile
>>> +++ b/arch/arm64/boot/dts/mediatek/Makefile
>>> @@ -8,6 +8,7 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += mt6797-evb.dtb
>>>   dtb-$(CONFIG_ARCH_MEDIATEK) += mt6797-x20-dev.dtb
>>>   dtb-$(CONFIG_ARCH_MEDIATEK) += mt7622-rfb1.dtb
>>>   dtb-$(CONFIG_ARCH_MEDIATEK) += mt7622-bananapi-bpi-r64.dtb
>>> +dtb-$(CONFIG_ARCH_MEDIATEK) += mt7981b-xiaomi-ax3000t.dtb
>>>   dtb-$(CONFIG_ARCH_MEDIATEK) += mt7986a-bananapi-bpi-r3.dtb
>>>   dtb-$(CONFIG_ARCH_MEDIATEK) += mt7986a-bananapi-bpi-r3-emmc.dtbo
>>>   dtb-$(CONFIG_ARCH_MEDIATEK) += mt7986a-bananapi-bpi-r3-nand.dtbo
>>> diff --git a/arch/arm64/boot/dts/mediatek/mt7981b-xiaomi-ax3000t.dts 
>>> b/arch/arm64/boot/dts/mediatek/mt7981b-xiaomi-ax3000t.dts
>>> new file mode 100644
>>> index 000000000000..a314c3e05e50
>>> --- /dev/null
>>> +++ b/arch/arm64/boot/dts/mediatek/mt7981b-xiaomi-ax3000t.dts
>>> @@ -0,0 +1,15 @@
>>> +// SPDX-License-Identifier: GPL-2.0-only OR MIT
>>> +
>>> +/dts-v1/;
>>> +
>>> +#include "mt7981b.dtsi"
>>> +
>>> +/ {
>>> +    compatible = "xiaomi,ax3000t", "mediatek,mt7981b";
>>> +    model = "Xiaomi AX3000T";
>>> +
>>> +    memory@40000000 {
>>> +        reg = <0 0x40000000 0 0x10000000>;
>>> +        device_type = "memory";
>>> +    };
>>> +};
>>> diff --git a/arch/arm64/boot/dts/mediatek/mt7981b.dtsi 
>>> b/arch/arm64/boot/dts/mediatek/mt7981b.dtsi
>>> new file mode 100644
>>> index 000000000000..ce878ad55204
>>> --- /dev/null
>>> +++ b/arch/arm64/boot/dts/mediatek/mt7981b.dtsi
>>> @@ -0,0 +1,108 @@
>>> +// SPDX-License-Identifier: GPL-2.0-only OR MIT
>>> +
>>> +#include <dt-bindings/clock/mediatek,mt7981-clk.h>
>>> +#include <dt-bindings/interrupt-controller/arm-gic.h>
>>> +
>>> +/ {
>>> +    compatible = "mediatek,mt7981b";
>>> +    interrupt-parent = <&gic>;
>>> +    #address-cells = <2>;
>>> +    #size-cells = <2>;
>>> +
>>> +    cpus {
>>> +        #address-cells = <1>;
>>> +        #size-cells = <0>;
>>> +
>>> +        cpu@0 {
>>> +            compatible = "arm,cortex-a53";
>>> +            reg = <0x0>;
>>> +            device_type = "cpu";
>>> +            enable-method = "psci";
>>> +        };
>>> +
>>> +        cpu@1 {
>>> +            compatible = "arm,cortex-a53";
>>> +            reg = <0x1>;
>>> +            device_type = "cpu";
>>> +            enable-method = "psci";
>>> +        };
>>> +    };
>>> +
>>> +    oscillator-40m {
>>> +        compatible = "fixed-clock";
>>> +        clock-frequency = <40000000>;
>>> +        clock-output-names = "clkxtal";
>>> +        #clock-cells = <0>;
>>> +    };
>>> +
>>> +    psci {
>>> +        compatible = "arm,psci-0.2";
>>
>> PSCI 0.2? I invite you to check a kernel log for a string like this one:
>>
>> `PSCIv%d.%d detected in firmware`
>> ...because of course if it says v1.0, this should be "arm,psci-1.0".
>>
>> This is just a nitpick anyway, so you can already get my
>>
>> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
>>
>> P.S.: but please, confirm or deny that PSCI thing ASAP :-)
>> P.P.S.: For next time - I'd be happy if you could add a cover letter to your
>> patch series..!
> 
> You were right, good catch!
> 
> [    0.000000] psci: probing for conduit method from DT.
> [    0.000000] psci: PSCIv1.1 detected in firmware.
> [    0.000000] psci: Using standard PSCI v0.2 function IDs
> [    0.000000] psci: MIGRATE_INFO_TYPE not supported.
> [    0.000000] psci: SMC Calling Convention v1.0
> 
> I'll fix that in V2. Thanks!
> 

Cool! You're welcome!

For v1.1 it's still "arm,psci-1.0" btw :-)
You can keep my R-b tag with that compatible change, no need to drop it.

Cheers,
Angelo
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/arm/mediatek.yaml b/Documentation/devicetree/bindings/arm/mediatek.yaml
index 92dbfb862757..12cf02b30967 100644
--- a/Documentation/devicetree/bindings/arm/mediatek.yaml
+++ b/Documentation/devicetree/bindings/arm/mediatek.yaml
@@ -82,6 +82,10 @@  properties:
           - enum:
               - mediatek,mt7629-rfb
           - const: mediatek,mt7629
+      - items:
+          - enum:
+              - xiaomi,ax3000t
+          - const: mediatek,mt7981b
       - items:
           - enum:
               - bananapi,bpi-r3