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

Konrad Dybcio konrad.dybcio at somainline.org
Fri Jul 29 05:00:02 PDT 2022



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 at collabora.com>
> ---
>  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 at collabora.com>
> + */
> +
> +/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 at 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 at 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 at 44800000 {
> +			no-map;
> +			reg = <0 0x44800000 0 0x100000>;
> +		};
> +
> +		bootloader-region at 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>;
> +};
> 



More information about the linux-arm-kernel mailing list