mbox series

[0/3] Add support for HTC One Mini 2 smartphone

Message ID 20231011-htc-memul-v1-0-76e57873190c@z3ntu.xyz
Headers show
Series Add support for HTC One Mini 2 smartphone | expand

Message

Luca Weiss Oct. 11, 2023, 5:02 p.m. UTC
Add support for this smartphone from HTC which is based on the MSM8926
SoC and codenamed "memul".

Depends on, runtime-only, bootloader enables watchdog so we need to pet
it to stay alive:
https://lore.kernel.org/linux-arm-msm/20231011-msm8226-msm8974-watchdog-v1-0-2c472818fbce@z3ntu.xyz/T/

Depends on, for dt-bindings & Makefile change, could also be re-ordered:
https://lore.kernel.org/linux-arm-msm/20230930221323.101289-1-rayyan@ansari.sh/T/

(Technically a resend of msg-id
<20231011-htc-memul-v1-0-97c3910f80a9@z3ntu.xyz> where I missed adding
most email addresses, sorry)

Signed-off-by: Luca Weiss <luca@z3ntu.xyz>
---
Luca Weiss (3):
      dt-bindings: vendor-prefixes: document HTC Corporation
      dt-bindings: arm: qcom: Add HTC One Mini 2
      ARM: dts: qcom: Add support for HTC One Mini 2

 Documentation/devicetree/bindings/arm/qcom.yaml    |   1 +
 .../devicetree/bindings/vendor-prefixes.yaml       |   2 +
 arch/arm/boot/dts/qcom/Makefile                    |   1 +
 arch/arm/boot/dts/qcom/qcom-msm8926-htc-memul.dts  | 337 +++++++++++++++++++++
 4 files changed, 341 insertions(+)
---
base-commit: 4a914c105417214fb38cd124317f174247c0a426
change-id: 20231002-htc-memul-742a8517d24b

Best regards,

Comments

Konrad Dybcio Oct. 11, 2023, 6:25 p.m. UTC | #1
On 10/11/23 19:02, Luca Weiss wrote:
> Add support for this smartphone based on the MSM8926 SoC, codenamed
> "memul".
> 
> Supported functionality:
> * Power & volume buttons
> * ADSP
> * Magnetometer
> * Accelerometer
> * Touchscreen
> * Vibrator
> * Internal storage
> * SD card
> * Charger
> * USB
> 
> Signed-off-by: Luca Weiss <luca@z3ntu.xyz>
> ---
>   arch/arm/boot/dts/qcom/Makefile                   |   1 +
>   arch/arm/boot/dts/qcom/qcom-msm8926-htc-memul.dts | 337 ++++++++++++++++++++++
>   2 files changed, 338 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/qcom/Makefile b/arch/arm/boot/dts/qcom/Makefile
> index a3d293e40820..0cb272f4fa45 100644
> --- a/arch/arm/boot/dts/qcom/Makefile
> +++ b/arch/arm/boot/dts/qcom/Makefile
> @@ -32,6 +32,7 @@ dtb-$(CONFIG_ARCH_QCOM) += \
>   	qcom-msm8916-samsung-e7.dtb \
>   	qcom-msm8916-samsung-grandmax.dtb \
>   	qcom-msm8916-samsung-serranove.dtb \
> +	qcom-msm8926-htc-memul.dtb \
>   	qcom-msm8926-microsoft-superman-lte.dtb \
>   	qcom-msm8926-microsoft-tesla.dtb \
>   	qcom-msm8960-cdp.dtb \
> diff --git a/arch/arm/boot/dts/qcom/qcom-msm8926-htc-memul.dts b/arch/arm/boot/dts/qcom/qcom-msm8926-htc-memul.dts
> new file mode 100644
> index 000000000000..b848f0cce3b4
> --- /dev/null
> +++ b/arch/arm/boot/dts/qcom/qcom-msm8926-htc-memul.dts
> @@ -0,0 +1,337 @@
> +// SPDX-License-Identifier: BSD-3-Clause
> +/*
> + * Copyright (c) 2023, Luca Weiss <luca@z3ntu.xyz>
> + */
> +
> +/dts-v1/;
> +
> +#include "qcom-msm8226.dtsi"
> +#include "qcom-pm8226.dtsi"
> +
> +/delete-node/ &adsp_region;
> +/delete-node/ &smem_region;
> +
> +/ {
> +	model = "HTC One Mini 2";
> +	compatible = "htc,memul", "qcom,msm8926", "qcom,msm8226";
> +	chassis-type = "handset";
> +
> +	aliases {
> +		mmc0 = &sdhc_1; /* SDC1 eMMC slot */
> +		mmc1 = &sdhc_2; /* SDC2 SD card slot */
> +	};
> +
> +	gpio-keys {
> +		compatible = "gpio-keys";
> +
> +		key-power {
> +			label = "Power";
> +			gpios = <&tlmm 106 GPIO_ACTIVE_LOW>;
> +			linux,code = <KEY_POWER>;
> +			debounce-interval = <15>;
> +		};
> +
> +		key-volume-down {
> +			label = "Volume Down";
> +			gpios = <&tlmm 107 GPIO_ACTIVE_LOW>;
> +			linux,code = <KEY_VOLUMEDOWN>;
> +			debounce-interval = <15>;
> +		};
> +
> +		key-volume-up {
> +			label = "Volume Up";
> +			gpios = <&tlmm 108 GPIO_ACTIVE_LOW>;
> +			linux,code = <KEY_VOLUMEUP>;
> +			debounce-interval = <15>;
> +		};
> +	};
> +
> +	reserved-memory {
> +		unknown@5b00000 {
> +			reg = <0x05b00000 0x200000>;
> +			no-map;
> +		};
> +
> +		unknown@7a00000 {
> +			reg = <0x07a00000 0x100000>;
> +			no-map;
> +		};
> +
> +		mpss_region: mpss@8000000 {
> +			reg = <0x08000000 0x4f00000>;
> +			no-map;
> +		};
> +
> +		unknown@cf00000 {
> +			reg = <0x0cf00000 0x200000>;
> +			no-map;
> +		};
> +
> +		mba_region: mba@d100000 {
> +			reg = <0x0d100000 0x3a000>;
> +			no-map;
> +		};
> +
> +		wcnss_region: wcnss@d200000 {
> +			reg = <0x0d200000 0x650000>;
> +			no-map;
> +		};
> +
> +		adsp_region: adsp@dc00000 {
> +			reg = <0x0dc00000 0x1400000>;
> +			no-map;
> +		};
> +
> +		venus_region: venus@f500000 {
> +			reg = <0x0f500000 0x500000>;
> +			no-map;
> +		};
> +
> +		smem_region: smem@fa00000 {
> +			reg = <0x0fa00000 0x100000>;
> +			no-map;
> +		};
> +
> +		unknown@fc00000 {
> +			reg = <0x0fc00000 0xa00000>;
> +			no-map;
> +		};
> +	};
> +};
> +
> +&adsp {
> +	status = "okay";
firmware-path?
[...]

> +		pm8226_s3: s3 {
> +			regulator-min-microvolt = <1200000>;
> +			regulator-max-microvolt = <1350000>;
> +		};
Newline between subnodes, please

[...]

> +&smbb {
> +	qcom,fast-charge-safe-current = <1750000>;
> +	qcom,fast-charge-current-limit = <1750000>;
> +	qcom,fast-charge-safe-voltage = <4360000>;
> +	qcom,fast-charge-high-threshold-voltage = <4350000>;
> +	qcom,auto-recharge-threshold-voltage = <4300000>;
> +	qcom,minimum-input-voltage = <4300000>;
we had quickcharge in 2013? nice

Konrad