diff mbox series

[v3,1/2] dt-bindings: arm64: dts: mediatek: add mt8395-evk board

Message ID 20230906114425.31187-1-macpaul.lin@mediatek.com
State Not Applicable
Headers show
Series [v3,1/2] dt-bindings: arm64: dts: mediatek: add mt8395-evk board | 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

Macpaul Lin Sept. 6, 2023, 11:44 a.m. UTC
1. Add compatible for MT8395.
2. Add bindings for the MediaTek mt8395-evk board, also known
as the "Genio 1200-EVK".

The MT8195 and MT8395 belong to the same SoC family,
with only minor differences in their physical characteristics.
They utilize unique efuse values for differentiation.

The booting process and configurations are managed by boot
loaders, firmware, and TF-A. Consequently, the part numbers
and procurement channels vary.

Signed-off-by: Macpaul Lin <macpaul.lin@mediatek.com>
---
 Documentation/devicetree/bindings/arm/mediatek.yaml | 6 ++++++
 1 file changed, 6 insertions(+)

Changes for v2:
 - add more detail description for mt8395.
 - add bindings for mt8395, and mt8395-evk.

Changes for v3:
 - add back bindings for mt8195 compatible.

Comments

Krzysztof Kozlowski Sept. 6, 2023, 12:07 p.m. UTC | #1
On 06/09/2023 13:44, Macpaul Lin wrote:
> 1. Add compatible for MT8395.
> 2. Add bindings for the MediaTek mt8395-evk board, also known
> as the "Genio 1200-EVK".
> 
> The MT8195 and MT8395 belong to the same SoC family,
> with only minor differences in their physical characteristics.
> They utilize unique efuse values for differentiation.


Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Best regards,
Krzysztof
AngeloGioacchino Del Regno Sept. 7, 2023, 8:39 a.m. UTC | #2
Il 06/09/23 13:44, Macpaul Lin ha scritto:
> 1. Add compatible for MT8395.
> 2. Add bindings for the MediaTek mt8395-evk board, also known
> as the "Genio 1200-EVK".
> 
> The MT8195 and MT8395 belong to the same SoC family,
> with only minor differences in their physical characteristics.
> They utilize unique efuse values for differentiation.
> 
> The booting process and configurations are managed by boot
> loaders, firmware, and TF-A. Consequently, the part numbers
> and procurement channels vary.
> 
> Signed-off-by: Macpaul Lin <macpaul.lin@mediatek.com>

Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
AngeloGioacchino Del Regno Sept. 7, 2023, 8:48 a.m. UTC | #3
Il 06/09/23 13:44, Macpaul Lin ha scritto:
> Add basic device-tree for the Genio 1200 EVK board. The
> Demo board is made by MediaTek and has a MT8395 SoC (MT8195 family),
> associated with the MT6359 and MT6360 PMICs, and
> the MT7921 connectivity chip.
> 
> The IOs available on that board are:
> * 1 USB Type-C connector with DP aux mode support
> * 2 USB Type-A connector with a USB hub
> * 1 micro-USB port for gadget or OTG support
> * 1 full size HDMI RX and 1 full size HDMI TX connector
> * 1 micro SD slot
> * 40 pins header
> * SPI interface header
> * 1 M.2 slot
> * 1 audio jack
> * 1 micro-USB port for serial debug
> * 2 connectors for DSI displays, 1 of the DSI panel is installed
> * 3 connectors for CSI cameras
> * 1 connector for a eDP panel
> * 1 MMC storage
> * 1 Touch Panel (installed DSI display)
> * 1 M.2 slot for 5G dongle
> 
> This commit adds basic support in order to be able to boot.
> 
> Signed-off-by: Ben Lok <ben.lok@mediatek.com>
> Signed-off-by: Macpaul Lin <macpaul.lin@mediatek.com>
> ---
>   arch/arm64/boot/dts/mediatek/Makefile         |   1 +
>   .../boot/dts/mediatek/genio-1200-evk.dts      | 916 ++++++++++++++++++
>   2 files changed, 917 insertions(+)
>   create mode 100644 arch/arm64/boot/dts/mediatek/genio-1200-evk.dts
> 
> Changes for v2:
>   - correct SOC binding to "mediatek,mt8395".
>   - Fix a Linux coding style comments for optee node.
>   - Fix wifi fixed 3.3v power's node with "wifi-3v3-regulator".
>   - Fix node name of mt6360 and mt6517 to generic dts name as "pmic".
>   - Remove unecessary blank line.
>   - Reording usb node as the order of "phy" then "host".
> 
> Changes for v3:
>   - Add back bindings for "mediatek,mt8195".
>   - Fix wifi fixed 3.3v power's node with "regulator-2"
> 
> diff --git a/arch/arm64/boot/dts/mediatek/Makefile b/arch/arm64/boot/dts/mediatek/Makefile
> index c99c3372a4b5..5bf29581f08b 100644
> --- a/arch/arm64/boot/dts/mediatek/Makefile
> +++ b/arch/arm64/boot/dts/mediatek/Makefile
> @@ -1,4 +1,5 @@
>   # SPDX-License-Identifier: GPL-2.0
> +dtb-$(CONFIG_ARCH_MEDIATEK) += genio-1200-evk.dtb

Please follow the current naming in dts/mediatek/.

This should be `mt8395-genio-1200-evk.dtb`

>   dtb-$(CONFIG_ARCH_MEDIATEK) += mt2712-evb.dtb
>   dtb-$(CONFIG_ARCH_MEDIATEK) += mt6755-evb.dtb
>   dtb-$(CONFIG_ARCH_MEDIATEK) += mt6779-evb.dtb
> diff --git a/arch/arm64/boot/dts/mediatek/genio-1200-evk.dts b/arch/arm64/boot/dts/mediatek/genio-1200-evk.dts
> new file mode 100644
> index 000000000000..dd7518784aaf
> --- /dev/null
> +++ b/arch/arm64/boot/dts/mediatek/genio-1200-evk.dts

`mt8195-genio-1200-evk.dts` please

> @@ -0,0 +1,916 @@
> +// SPDX-License-Identifier: (GPL-2.0 OR MIT)
> +/*
> + * Copyright (C) 2023 MediaTek Inc.
> + * Author: Ben Lok <ben.lok@mediatek.com>
> + *	   Macpaul Lin <macpaul.lin@mediatek.com>
> + */
> +/dts-v1/;
> +
> +#include "mt8195.dtsi"
> +#include "mt6359.dtsi"
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/input/input.h>
> +#include <dt-bindings/interrupt-controller/irq.h>
> +#include <dt-bindings/pinctrl/mt8195-pinfunc.h>
> +#include <dt-bindings/regulator/mediatek,mt6360-regulator.h>
> +#include <dt-bindings/spmi/spmi.h>
> +#include <dt-bindings/usb/pd.h>
> +
> +/ {
> +	model = "MediaTek Genio 1200 EVK-P1V2-EMMC";
> +	compatible = "mediatek,mt8395-evk", "mediatek,mt8395",
> +		     "mediatek,mt8195";
> +

..snip..

> +
> +&eth {
> +	phy-mode ="rgmii-rxid";
> +	phy-handle = <&eth_phy0>;
> +	snps,reset-gpio = <&pio 93 GPIO_ACTIVE_HIGH>;
> +	snps,reset-delays-us = <0 10000 10000>;
> +	mediatek,tx-delay-ps = <2030>;
> +	mediatek,mac-wol;
> +	pinctrl-names = "default", "sleep";
> +	pinctrl-0 = <&eth_default_pins>;
> +	pinctrl-1 = <&eth_sleep_pins>;
> +	status = "okay";
> +
> +	mdio {
> +		compatible = "snps,dwmac-mdio";
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		eth_phy0: eth-phy0@1 {
> +			compatible = "ethernet-phy-id001c.c916";
> +			reg = <0x1>;
> +		};
> +	};
> +};
> +
> +&uart0 {
> +	pinctrl-0 = <&uart0_pins>;
> +	pinctrl-names = "default";
> +	status = "okay";
> +};
> +
> +&uart1 {
> +	pinctrl-0 = <&uart1_pins>;
> +	pinctrl-names = "default";
> +	status = "okay";
> +};
> +
> +&scp {
> +	status = "okay";
> +};
> +
> +&mmc0 {
> +	status = "okay";
> +	pinctrl-names = "default", "state_uhs";
> +	pinctrl-0 = <&mmc0_default_pins>;
> +	pinctrl-1 = <&mmc0_uhs_pins>;
> +	bus-width = <8>;
> +	max-frequency = <200000000>;
> +	cap-mmc-highspeed;
> +	mmc-hs200-1_8v;
> +	mmc-hs400-1_8v;
> +	cap-mmc-hw-reset;
> +	no-sdio;
> +	no-sd;
> +	hs400-ds-delay = <0x14c11>;
> +	vmmc-supply = <&mt6359_vemc_1_ldo_reg>;
> +	vqmmc-supply = <&mt6359_vufs_ldo_reg>;
> +	non-removable;
> +};
> +
> +&mmc1 {
> +	pinctrl-names = "default", "state_uhs";
> +	pinctrl-0 = <&mmc1_default_pins>;
> +	pinctrl-1 = <&mmc1_uhs_pins>;
> +	bus-width = <4>;
> +	max-frequency = <200000000>;
> +	cap-sd-highspeed;
> +	sd-uhs-sdr50;
> +	sd-uhs-sdr104;
> +	no-mmc;
> +	no-sdio;
> +	vmmc-supply = <&mt6360_ldo5>;
> +	vqmmc-supply = <&mt6360_ldo3>;
> +	status = "okay";
> +	non-removable;
> +};
> +
> +
> +&ufsphy {
> +	status = "disabled";
> +};
> +
> +&pmic {

Please order nodes by name. pmic goes before ufsphy.

> +	interrupt-parent = <&pio>;
> +	interrupts = <222 IRQ_TYPE_LEVEL_HIGH>;
> +};
> +
> +&scp {
> +	memory-region = <&scp_mem>;
> +	status = "okay";
> +};
> +
> +&i2c0 {

...and `i` comes before 'mmc` as well...

> +	clock-frequency = <400000>;
> +	pinctrl-0 = <&i2c0_pins>;
> +	pinctrl-names = "default";
> +	status = "okay";
> +};
> +

..snip..

> +
> +&mt6359_vgpu11_buck_reg {
> +	regulator-always-on;
> +};
> +
> +&mt6359_vpu_buck_reg {
> +	regulator-always-on;
> +};
> +
> +&mt6359_vcore_buck_reg {
> +	regulator-always-on;
> +};
> +
> +&mt6359_vbbck_ldo_reg {
> +	regulator-always-on;
> +};
> +
> +&mt6359_vaud18_ldo_reg {
> +	regulator-always-on;
> +};
> +
> +&mt6359_vrf12_ldo_reg {
> +	regulator-always-on;
> +};
> +
> +&mt6359_vcn33_2_bt_ldo_reg {
> +	regulator-min-microvolt = <3300000>;
> +	regulator-max-microvolt = <3300000>;
> +};
> +
> +/* DEBUG: to remove */

...then remove it? :-)

> +&mt6359_vibr_ldo_reg {
> +	regulator-always-on;
> +};
> +
> +/* For USB Hub */
> +&mt6359_vcamio_ldo_reg {
> +	regulator-always-on;
> +};
> +
> +&spmi {

spmi goes after pciephy.... and please fix all of the other instances
of wrong ordering across this entire file.

Regards,
Angelo
Macpaul Lin Sept. 7, 2023, 1 p.m. UTC | #4
On 9/7/23 16:48, AngeloGioacchino Del Regno wrote:
> Il 06/09/23 13:44, Macpaul Lin ha scritto:
>> Add basic device-tree for the Genio 1200 EVK board. The
>> Demo board is made by MediaTek and has a MT8395 SoC (MT8195 family),
>> associated with the MT6359 and MT6360 PMICs, and
>> the MT7921 connectivity chip.
>>
>> The IOs available on that board are:
>> * 1 USB Type-C connector with DP aux mode support
>> * 2 USB Type-A connector with a USB hub
>> * 1 micro-USB port for gadget or OTG support
>> * 1 full size HDMI RX and 1 full size HDMI TX connector
>> * 1 micro SD slot
>> * 40 pins header
>> * SPI interface header
>> * 1 M.2 slot
>> * 1 audio jack
>> * 1 micro-USB port for serial debug
>> * 2 connectors for DSI displays, 1 of the DSI panel is installed
>> * 3 connectors for CSI cameras
>> * 1 connector for a eDP panel
>> * 1 MMC storage
>> * 1 Touch Panel (installed DSI display)
>> * 1 M.2 slot for 5G dongle
>>
>> This commit adds basic support in order to be able to boot.
>>
>> Signed-off-by: Ben Lok <ben.lok@mediatek.com>
>> Signed-off-by: Macpaul Lin <macpaul.lin@mediatek.com>
>> ---
>>   arch/arm64/boot/dts/mediatek/Makefile         |   1 +
>>   .../boot/dts/mediatek/genio-1200-evk.dts      | 916 ++++++++++++++++++
>>   2 files changed, 917 insertions(+)
>>   create mode 100644 arch/arm64/boot/dts/mediatek/genio-1200-evk.dts
>>
>> Changes for v2:
>>   - correct SOC binding to "mediatek,mt8395".
>>   - Fix a Linux coding style comments for optee node.
>>   - Fix wifi fixed 3.3v power's node with "wifi-3v3-regulator".
>>   - Fix node name of mt6360 and mt6517 to generic dts name as "pmic".
>>   - Remove unecessary blank line.
>>   - Reording usb node as the order of "phy" then "host".
>>
>> Changes for v3:
>>   - Add back bindings for "mediatek,mt8195".
>>   - Fix wifi fixed 3.3v power's node with "regulator-2"
>>
>> diff --git a/arch/arm64/boot/dts/mediatek/Makefile 
>> b/arch/arm64/boot/dts/mediatek/Makefile
>> index c99c3372a4b5..5bf29581f08b 100644
>> --- a/arch/arm64/boot/dts/mediatek/Makefile
>> +++ b/arch/arm64/boot/dts/mediatek/Makefile
>> @@ -1,4 +1,5 @@
>>   # SPDX-License-Identifier: GPL-2.0
>> +dtb-$(CONFIG_ARCH_MEDIATEK) += genio-1200-evk.dtb
> 
> Please follow the current naming in dts/mediatek/.
> 
> This should be `mt8395-genio-1200-evk.dtb`

Fixed.

> 
>>   dtb-$(CONFIG_ARCH_MEDIATEK) += mt2712-evb.dtb
>>   dtb-$(CONFIG_ARCH_MEDIATEK) += mt6755-evb.dtb
>>   dtb-$(CONFIG_ARCH_MEDIATEK) += mt6779-evb.dtb
>> diff --git a/arch/arm64/boot/dts/mediatek/genio-1200-evk.dts 
>> b/arch/arm64/boot/dts/mediatek/genio-1200-evk.dts
>> new file mode 100644
>> index 000000000000..dd7518784aaf
>> --- /dev/null
>> +++ b/arch/arm64/boot/dts/mediatek/genio-1200-evk.dts
> 
> `mt8195-genio-1200-evk.dts` please

Is this a typo?
I'll get build error if I've actually rename the file name to 
'mt8195-genio-1200-evk.dts' which isn't match mt8395-genio-1200-evk.dtb.
(I've tested it to make sure every thing okay.)

>> @@ -0,0 +1,916 @@
>> +// SPDX-License-Identifier: (GPL-2.0 OR MIT)
>> +/*
>> + * Copyright (C) 2023 MediaTek Inc.
>> + * Author: Ben Lok <ben.lok@mediatek.com>
>> + *       Macpaul Lin <macpaul.lin@mediatek.com>
>> + */
>> +/dts-v1/;
>> +
>> +#include "mt8195.dtsi"
>> +#include "mt6359.dtsi"
>> +#include <dt-bindings/gpio/gpio.h>
>> +#include <dt-bindings/input/input.h>
>> +#include <dt-bindings/interrupt-controller/irq.h>
>> +#include <dt-bindings/pinctrl/mt8195-pinfunc.h>
>> +#include <dt-bindings/regulator/mediatek,mt6360-regulator.h>
>> +#include <dt-bindings/spmi/spmi.h>
>> +#include <dt-bindings/usb/pd.h>
>> +
>> +/ {
>> +    model = "MediaTek Genio 1200 EVK-P1V2-EMMC";
>> +    compatible = "mediatek,mt8395-evk", "mediatek,mt8395",
>> +             "mediatek,mt8195";
>> +
> 
> ..snip..
> 
>> +
>> +&eth {
>> +    phy-mode ="rgmii-rxid";
>> +    phy-handle = <&eth_phy0>;
>> +    snps,reset-gpio = <&pio 93 GPIO_ACTIVE_HIGH>;
>> +    snps,reset-delays-us = <0 10000 10000>;
>> +    mediatek,tx-delay-ps = <2030>;
>> +    mediatek,mac-wol;
>> +    pinctrl-names = "default", "sleep";
>> +    pinctrl-0 = <&eth_default_pins>;
>> +    pinctrl-1 = <&eth_sleep_pins>;
>> +    status = "okay";
>> +
>> +    mdio {
>> +        compatible = "snps,dwmac-mdio";
>> +        #address-cells = <1>;
>> +        #size-cells = <0>;
>> +        eth_phy0: eth-phy0@1 {
>> +            compatible = "ethernet-phy-id001c.c916";
>> +            reg = <0x1>;
>> +        };
>> +    };
>> +};
>> +
>> +&uart0 {
>> +    pinctrl-0 = <&uart0_pins>;
>> +    pinctrl-names = "default";
>> +    status = "okay";
>> +};
>> +
>> +&uart1 {
>> +    pinctrl-0 = <&uart1_pins>;
>> +    pinctrl-names = "default";
>> +    status = "okay";
>> +};
>> +
>> +&scp {
>> +    status = "okay";
>> +};
>> +
>> +&mmc0 {
>> +    status = "okay";
>> +    pinctrl-names = "default", "state_uhs";
>> +    pinctrl-0 = <&mmc0_default_pins>;
>> +    pinctrl-1 = <&mmc0_uhs_pins>;
>> +    bus-width = <8>;
>> +    max-frequency = <200000000>;
>> +    cap-mmc-highspeed;
>> +    mmc-hs200-1_8v;
>> +    mmc-hs400-1_8v;
>> +    cap-mmc-hw-reset;
>> +    no-sdio;
>> +    no-sd;
>> +    hs400-ds-delay = <0x14c11>;
>> +    vmmc-supply = <&mt6359_vemc_1_ldo_reg>;
>> +    vqmmc-supply = <&mt6359_vufs_ldo_reg>;
>> +    non-removable;
>> +};
>> +
>> +&mmc1 {
>> +    pinctrl-names = "default", "state_uhs";
>> +    pinctrl-0 = <&mmc1_default_pins>;
>> +    pinctrl-1 = <&mmc1_uhs_pins>;
>> +    bus-width = <4>;
>> +    max-frequency = <200000000>;
>> +    cap-sd-highspeed;
>> +    sd-uhs-sdr50;
>> +    sd-uhs-sdr104;
>> +    no-mmc;
>> +    no-sdio;
>> +    vmmc-supply = <&mt6360_ldo5>;
>> +    vqmmc-supply = <&mt6360_ldo3>;
>> +    status = "okay";
>> +    non-removable;
>> +};
>> +
>> +
>> +&ufsphy {
>> +    status = "disabled";
>> +};
>> +
>> +&pmic {
> 
> Please order nodes by name. pmic goes before ufsphy.
> 
>> +    interrupt-parent = <&pio>;
>> +    interrupts = <222 IRQ_TYPE_LEVEL_HIGH>;
>> +};
>> +
>> +&scp {
>> +    memory-region = <&scp_mem>;
>> +    status = "okay";
>> +};
>> +
>> +&i2c0 {
> 
> ...and `i` comes before 'mmc` as well...
> 
>> +    clock-frequency = <400000>;
>> +    pinctrl-0 = <&i2c0_pins>;
>> +    pinctrl-names = "default";
>> +    status = "okay";
>> +};
>> +
> 
> ..snip..
> 
>> +
>> +&mt6359_vgpu11_buck_reg {
>> +    regulator-always-on;
>> +};
>> +
>> +&mt6359_vpu_buck_reg {
>> +    regulator-always-on;
>> +};
>> +
>> +&mt6359_vcore_buck_reg {
>> +    regulator-always-on;
>> +};
>> +
>> +&mt6359_vbbck_ldo_reg {
>> +    regulator-always-on;
>> +};
>> +
>> +&mt6359_vaud18_ldo_reg {
>> +    regulator-always-on;
>> +};
>> +
>> +&mt6359_vrf12_ldo_reg {
>> +    regulator-always-on;
>> +};
>> +
>> +&mt6359_vcn33_2_bt_ldo_reg {
>> +    regulator-min-microvolt = <3300000>;
>> +    regulator-max-microvolt = <3300000>;
>> +};
>> +
>> +/* DEBUG: to remove */
> 
> ...then remove it? :-)

Fixed.

>> +&mt6359_vibr_ldo_reg {
>> +    regulator-always-on;
>> +};
>> +
>> +/* For USB Hub */
>> +&mt6359_vcamio_ldo_reg {
>> +    regulator-always-on;
>> +};
>> +
>> +&spmi {
> 
> spmi goes after pciephy.... and please fix all of the other instances
> of wrong ordering across this entire file.
> 
> Regards,
> Angelo
> 
> 

I've reordered these node according to alphabet order as could as 
possible. I'll send version v4 for reviewing. Thanks

Best regards,
Macpaul Lin
AngeloGioacchino Del Regno Sept. 7, 2023, 1:05 p.m. UTC | #5
Il 07/09/23 15:00, Macpaul Lin ha scritto:
> 
> 
> On 9/7/23 16:48, AngeloGioacchino Del Regno wrote:
>> Il 06/09/23 13:44, Macpaul Lin ha scritto:
>>> Add basic device-tree for the Genio 1200 EVK board. The
>>> Demo board is made by MediaTek and has a MT8395 SoC (MT8195 family),
>>> associated with the MT6359 and MT6360 PMICs, and
>>> the MT7921 connectivity chip.
>>>
>>> The IOs available on that board are:
>>> * 1 USB Type-C connector with DP aux mode support
>>> * 2 USB Type-A connector with a USB hub
>>> * 1 micro-USB port for gadget or OTG support
>>> * 1 full size HDMI RX and 1 full size HDMI TX connector
>>> * 1 micro SD slot
>>> * 40 pins header
>>> * SPI interface header
>>> * 1 M.2 slot
>>> * 1 audio jack
>>> * 1 micro-USB port for serial debug
>>> * 2 connectors for DSI displays, 1 of the DSI panel is installed
>>> * 3 connectors for CSI cameras
>>> * 1 connector for a eDP panel
>>> * 1 MMC storage
>>> * 1 Touch Panel (installed DSI display)
>>> * 1 M.2 slot for 5G dongle
>>>
>>> This commit adds basic support in order to be able to boot.
>>>
>>> Signed-off-by: Ben Lok <ben.lok@mediatek.com>
>>> Signed-off-by: Macpaul Lin <macpaul.lin@mediatek.com>
>>> ---
>>>   arch/arm64/boot/dts/mediatek/Makefile         |   1 +
>>>   .../boot/dts/mediatek/genio-1200-evk.dts      | 916 ++++++++++++++++++
>>>   2 files changed, 917 insertions(+)
>>>   create mode 100644 arch/arm64/boot/dts/mediatek/genio-1200-evk.dts
>>>
>>> Changes for v2:
>>>   - correct SOC binding to "mediatek,mt8395".
>>>   - Fix a Linux coding style comments for optee node.
>>>   - Fix wifi fixed 3.3v power's node with "wifi-3v3-regulator".
>>>   - Fix node name of mt6360 and mt6517 to generic dts name as "pmic".
>>>   - Remove unecessary blank line.
>>>   - Reording usb node as the order of "phy" then "host".
>>>
>>> Changes for v3:
>>>   - Add back bindings for "mediatek,mt8195".
>>>   - Fix wifi fixed 3.3v power's node with "regulator-2"
>>>
>>> diff --git a/arch/arm64/boot/dts/mediatek/Makefile 
>>> b/arch/arm64/boot/dts/mediatek/Makefile
>>> index c99c3372a4b5..5bf29581f08b 100644
>>> --- a/arch/arm64/boot/dts/mediatek/Makefile
>>> +++ b/arch/arm64/boot/dts/mediatek/Makefile
>>> @@ -1,4 +1,5 @@
>>>   # SPDX-License-Identifier: GPL-2.0
>>> +dtb-$(CONFIG_ARCH_MEDIATEK) += genio-1200-evk.dtb
>>
>> Please follow the current naming in dts/mediatek/.
>>
>> This should be `mt8395-genio-1200-evk.dtb`
> 
> Fixed.
> 
>>
>>>   dtb-$(CONFIG_ARCH_MEDIATEK) += mt2712-evb.dtb
>>>   dtb-$(CONFIG_ARCH_MEDIATEK) += mt6755-evb.dtb
>>>   dtb-$(CONFIG_ARCH_MEDIATEK) += mt6779-evb.dtb
>>> diff --git a/arch/arm64/boot/dts/mediatek/genio-1200-evk.dts 
>>> b/arch/arm64/boot/dts/mediatek/genio-1200-evk.dts
>>> new file mode 100644
>>> index 000000000000..dd7518784aaf
>>> --- /dev/null
>>> +++ b/arch/arm64/boot/dts/mediatek/genio-1200-evk.dts
>>
>> `mt8195-genio-1200-evk.dts` please
> 
> Is this a typo?
> I'll get build error if I've actually rename the file name to 
> 'mt8195-genio-1200-evk.dts' which isn't match mt8395-genio-1200-evk.dtb.
> (I've tested it to make sure every thing okay.)
> 

Eh sorry yes I meant to write mt8395, not 8195!! :-)

>>> @@ -0,0 +1,916 @@
>>> +// SPDX-License-Identifier: (GPL-2.0 OR MIT)
>>> +/*
>>> + * Copyright (C) 2023 MediaTek Inc.
>>> + * Author: Ben Lok <ben.lok@mediatek.com>
>>> + *       Macpaul Lin <macpaul.lin@mediatek.com>
>>> + */
>>> +/dts-v1/;
>>> +
>>> +#include "mt8195.dtsi"
>>> +#include "mt6359.dtsi"
>>> +#include <dt-bindings/gpio/gpio.h>
>>> +#include <dt-bindings/input/input.h>
>>> +#include <dt-bindings/interrupt-controller/irq.h>
>>> +#include <dt-bindings/pinctrl/mt8195-pinfunc.h>
>>> +#include <dt-bindings/regulator/mediatek,mt6360-regulator.h>
>>> +#include <dt-bindings/spmi/spmi.h>
>>> +#include <dt-bindings/usb/pd.h>
>>> +
>>> +/ {
>>> +    model = "MediaTek Genio 1200 EVK-P1V2-EMMC";
>>> +    compatible = "mediatek,mt8395-evk", "mediatek,mt8395",
>>> +             "mediatek,mt8195";
>>> +
>>
>> ..snip..
>>
>>> +
>>> +&eth {
>>> +    phy-mode ="rgmii-rxid";
>>> +    phy-handle = <&eth_phy0>;
>>> +    snps,reset-gpio = <&pio 93 GPIO_ACTIVE_HIGH>;
>>> +    snps,reset-delays-us = <0 10000 10000>;
>>> +    mediatek,tx-delay-ps = <2030>;
>>> +    mediatek,mac-wol;
>>> +    pinctrl-names = "default", "sleep";
>>> +    pinctrl-0 = <&eth_default_pins>;
>>> +    pinctrl-1 = <&eth_sleep_pins>;
>>> +    status = "okay";
>>> +
>>> +    mdio {
>>> +        compatible = "snps,dwmac-mdio";
>>> +        #address-cells = <1>;
>>> +        #size-cells = <0>;
>>> +        eth_phy0: eth-phy0@1 {
>>> +            compatible = "ethernet-phy-id001c.c916";
>>> +            reg = <0x1>;
>>> +        };
>>> +    };
>>> +};
>>> +
>>> +&uart0 {
>>> +    pinctrl-0 = <&uart0_pins>;
>>> +    pinctrl-names = "default";
>>> +    status = "okay";
>>> +};
>>> +
>>> +&uart1 {
>>> +    pinctrl-0 = <&uart1_pins>;
>>> +    pinctrl-names = "default";
>>> +    status = "okay";
>>> +};
>>> +
>>> +&scp {
>>> +    status = "okay";
>>> +};
>>> +
>>> +&mmc0 {
>>> +    status = "okay";
>>> +    pinctrl-names = "default", "state_uhs";
>>> +    pinctrl-0 = <&mmc0_default_pins>;
>>> +    pinctrl-1 = <&mmc0_uhs_pins>;
>>> +    bus-width = <8>;
>>> +    max-frequency = <200000000>;
>>> +    cap-mmc-highspeed;
>>> +    mmc-hs200-1_8v;
>>> +    mmc-hs400-1_8v;
>>> +    cap-mmc-hw-reset;
>>> +    no-sdio;
>>> +    no-sd;
>>> +    hs400-ds-delay = <0x14c11>;
>>> +    vmmc-supply = <&mt6359_vemc_1_ldo_reg>;
>>> +    vqmmc-supply = <&mt6359_vufs_ldo_reg>;
>>> +    non-removable;
>>> +};
>>> +
>>> +&mmc1 {
>>> +    pinctrl-names = "default", "state_uhs";
>>> +    pinctrl-0 = <&mmc1_default_pins>;
>>> +    pinctrl-1 = <&mmc1_uhs_pins>;
>>> +    bus-width = <4>;
>>> +    max-frequency = <200000000>;
>>> +    cap-sd-highspeed;
>>> +    sd-uhs-sdr50;
>>> +    sd-uhs-sdr104;
>>> +    no-mmc;
>>> +    no-sdio;
>>> +    vmmc-supply = <&mt6360_ldo5>;
>>> +    vqmmc-supply = <&mt6360_ldo3>;
>>> +    status = "okay";
>>> +    non-removable;
>>> +};
>>> +
>>> +
>>> +&ufsphy {
>>> +    status = "disabled";
>>> +};
>>> +
>>> +&pmic {
>>
>> Please order nodes by name. pmic goes before ufsphy.
>>
>>> +    interrupt-parent = <&pio>;
>>> +    interrupts = <222 IRQ_TYPE_LEVEL_HIGH>;
>>> +};
>>> +
>>> +&scp {
>>> +    memory-region = <&scp_mem>;
>>> +    status = "okay";
>>> +};
>>> +
>>> +&i2c0 {
>>
>> ...and `i` comes before 'mmc` as well...
>>
>>> +    clock-frequency = <400000>;
>>> +    pinctrl-0 = <&i2c0_pins>;
>>> +    pinctrl-names = "default";
>>> +    status = "okay";
>>> +};
>>> +
>>
>> ..snip..
>>
>>> +
>>> +&mt6359_vgpu11_buck_reg {
>>> +    regulator-always-on;
>>> +};
>>> +
>>> +&mt6359_vpu_buck_reg {
>>> +    regulator-always-on;
>>> +};
>>> +
>>> +&mt6359_vcore_buck_reg {
>>> +    regulator-always-on;
>>> +};
>>> +
>>> +&mt6359_vbbck_ldo_reg {
>>> +    regulator-always-on;
>>> +};
>>> +
>>> +&mt6359_vaud18_ldo_reg {
>>> +    regulator-always-on;
>>> +};
>>> +
>>> +&mt6359_vrf12_ldo_reg {
>>> +    regulator-always-on;
>>> +};
>>> +
>>> +&mt6359_vcn33_2_bt_ldo_reg {
>>> +    regulator-min-microvolt = <3300000>;
>>> +    regulator-max-microvolt = <3300000>;
>>> +};
>>> +
>>> +/* DEBUG: to remove */
>>
>> ...then remove it? :-)
> 
> Fixed.
> 
>>> +&mt6359_vibr_ldo_reg {
>>> +    regulator-always-on;
>>> +};
>>> +
>>> +/* For USB Hub */
>>> +&mt6359_vcamio_ldo_reg {
>>> +    regulator-always-on;
>>> +};
>>> +
>>> +&spmi {
>>
>> spmi goes after pciephy.... and please fix all of the other instances
>> of wrong ordering across this entire file.
>>
>> Regards,
>> Angelo
>>
>>
> 
> I've reordered these node according to alphabet order as could as possible. I'll 
> send version v4 for reviewing. Thanks
> 

Eager to see your v4!

Cheers,
Angelo

> Best regards,
> Macpaul Lin
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/arm/mediatek.yaml b/Documentation/devicetree/bindings/arm/mediatek.yaml
index ae12b1cab9fb..4e79c46cd9e2 100644
--- a/Documentation/devicetree/bindings/arm/mediatek.yaml
+++ b/Documentation/devicetree/bindings/arm/mediatek.yaml
@@ -248,6 +248,12 @@  properties:
           - enum:
               - mediatek,mt8365-evk
           - const: mediatek,mt8365
+      - description: MediaTek Genio 1200 Boards (Genio 1200 EVK)
+        items:
+          - enum:
+              - mediatek,mt8395-evk
+          - const: mediatek,mt8395
+          - const: mediatek,mt8195
       - items:
           - enum:
               - mediatek,mt8516-pumpkin