Re: [PATCH 7/7] arm64: dts: mediatek: Add support for MT6795 Sony Xperia M5 smartphone

From: Konrad Dybcio
Date: Fri Jul 29 2022 - 08:00:18 EST




On 29.07.2022 12:44, AngeloGioacchino Del Regno wrote:
> Add a basic support for the Sony Xperia M5 (codename "Holly")
> smartphone, powered by a MediaTek Helio X10 SoC.
>
> This achieves a console boot.
>
> Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx>
> ---
> arch/arm64/boot/dts/mediatek/Makefile | 1 +
> .../dts/mediatek/mt6795-sony-xperia-m5.dts | 90 +++++++++++++++++++
> 2 files changed, 91 insertions(+)
> create mode 100644 arch/arm64/boot/dts/mediatek/mt6795-sony-xperia-m5.dts
>
> diff --git a/arch/arm64/boot/dts/mediatek/Makefile b/arch/arm64/boot/dts/mediatek/Makefile
> index af362a085a02..72fd683c9264 100644
> --- a/arch/arm64/boot/dts/mediatek/Makefile
> +++ b/arch/arm64/boot/dts/mediatek/Makefile
> @@ -3,6 +3,7 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += mt2712-evb.dtb
> dtb-$(CONFIG_ARCH_MEDIATEK) += mt6755-evb.dtb
> dtb-$(CONFIG_ARCH_MEDIATEK) += mt6779-evb.dtb
> dtb-$(CONFIG_ARCH_MEDIATEK) += mt6795-evb.dtb
> +dtb-$(CONFIG_ARCH_MEDIATEK) += mt6795-sony-xperia-m5.dtb
-holly.dtb?

> dtb-$(CONFIG_ARCH_MEDIATEK) += mt6797-evb.dtb
> dtb-$(CONFIG_ARCH_MEDIATEK) += mt6797-x20-dev.dtb
> dtb-$(CONFIG_ARCH_MEDIATEK) += mt7622-rfb1.dtb
> diff --git a/arch/arm64/boot/dts/mediatek/mt6795-sony-xperia-m5.dts b/arch/arm64/boot/dts/mediatek/mt6795-sony-xperia-m5.dts
> new file mode 100644
> index 000000000000..94d011c4126c
> --- /dev/null
> +++ b/arch/arm64/boot/dts/mediatek/mt6795-sony-xperia-m5.dts
> @@ -0,0 +1,90 @@
> +// SPDX-License-Identifier: GPL-2.0-only
> +/*
> + * Copyright (c) 2022, Collabora Ltd
> + * Author: AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx>
> + */
> +
> +/dts-v1/;
> +#include "mt6795.dtsi"
> +
> +#include <dt-bindings/gpio/gpio.h>
Looks unused.

> +
> +/ {
> + model = "Sony Xperia M5";
> + compatible = "sony,xperia-m5", "mediatek,mt6795";
sony,holly?

> + chassis-type = "handset";
> +
> + aliases {
> + mmc0 = &mmc0;
> + mmc1 = &mmc1;
> + serial0 = &uart0;
> + serial1 = &uart1;
> + };
> +
> + memory@40000000 {
> + device_type = "memory";
> + reg = <0 0x40000000 0 0x1E800000>;
Lowercase hex in size. Also, doesn't the bootloader fill it in?

> + };
> +
> + reserved_memory: reserved-memory {
> + #address-cells = <2>;
> + #size-cells = <2>;
> + ranges;
> +
> + /* 128 KiB reserved for ARM Trusted Firmware (BL31) */
Is that true for all devices with this SoC, or..? If so, it may be worth
moving this into mt6795.dtsi.

> + bl31_secmon_reserved: secmon@43000000 {
memory@, everywhere. Use labels to name the nodes.

> + no-map;
reg goes first.
> + reg = <0 0x43000000 0 0x30000>;
> + };
> +
> + /* preloader and bootloader regions cannot be touched */
> + preloader-region@44800000 {
> + no-map;
> + reg = <0 0x44800000 0 0x100000>;
> + };
> +
> + bootloader-region@46000000 {
> + no-map;
> + reg = <0 0x46000000 0 0x400000>;
> + };
> + };
> +};
> +
> +&pio {
> + uart0_pins: uart0-pins {
> + pins-rx {
> + pinmux = <PINMUX_GPIO113__FUNC_URXD0>;
> + bias-pull-up;
> + input-enable;
> + };
> + pins-tx {
> + pinmux = <PINMUX_GPIO114__FUNC_UTXD0>;
> + output-high;
> + };
> + };
> +
> + uart2_pins: uart2-pins {
> + pins-rx {
> + pinmux = <PINMUX_GPIO31__FUNC_URXD2>;
> + bias-pull-up;
> + input-enable;
> + };
> + pins-tx {
> + pinmux = <PINMUX_GPIO32__FUNC_UTXD2>;
> + };
> + };
> +};
> +
> +&uart0 {
> + status = "okay";
Status last here and below, please.

Konrad
> +
> + pinctrl-names = "default";
> + pinctrl-0 = <&uart0_pins>;
> +};
> +
> +&uart2 {
> + status = "okay";
> +
> + pinctrl-names = "default";
> + pinctrl-0 = <&uart2_pins>;
> +};
>