mbox series

[RESEND,v5,0/4] arm64: dts: qcom: msm8916-acer-a1-724: Add initial device tree

Message ID 20221122132816.257717-1-linmengbo0689@protonmail.com
Headers show
Series arm64: dts: qcom: msm8916-acer-a1-724: Add initial device tree | expand

Message

Lin, Meng-Bo Nov. 22, 2022, 1:28 p.m. UTC
resend: fix wrong in-reply-to
v5: Add touchscreen.
v4: Sort properties in l11.
v3: Set property status = "okay"; as the last property.
Reword the bindings patch.
v2: Fix a typo in dt-bindings commit message

Acer Iconia Talk S A1-724 is a tablet using the MSM8916 SoC released
in 2014.

Note: The original firmware from Acer can only boot 32-bit kernels.
To boot arm64 kernels it is necessary to flash 64-bit TZ/HYP firmware
with EDL, e.g. taken from the DragonBoard 410c. This works because Acer
didn't set up (firmware) secure boot.

Add a device tree for with initial support for:

- GPIO keys
- pm8916-vibrator
- SDHCI (internal and external storage)
- USB Device Mode
- UART
- WCNSS (WiFi/BT)
- Regulators
- Bosch BMC150 accelerometer/magnetometer
- Focaltech FT5446 touchscreen

Comments

Konrad Dybcio Nov. 22, 2022, 2:57 p.m. UTC | #1
On 22.11.2022 14:32, Lin, Meng-Bo wrote:
> A1-724 uses a Focaltech FT5446 touchscreen that is connected to blsp_i2c5.
> Add it to the device tree.
> 
> Signed-off-by: Lin, Meng-Bo <linmengbo0689@protonmail.com>
> ---
Your commit message is wrong. It should be arm64: dts:.. and not dts: arm64:...
>  .../boot/dts/qcom/msm8916-acer-a1-724.dts     | 42 +++++++++++++++++++
>  1 file changed, 42 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/qcom/msm8916-acer-a1-724.dts b/arch/arm64/boot/dts/qcom/msm8916-acer-a1-724.dts
> index bea0d022dd9a..5b216107f69b 100644
> --- a/arch/arm64/boot/dts/qcom/msm8916-acer-a1-724.dts
> +++ b/arch/arm64/boot/dts/qcom/msm8916-acer-a1-724.dts
> @@ -81,6 +81,30 @@ magnetometer@12 {
>  	};
>  };
>  
> +&blsp_i2c5 {
> +	status = "okay";
> +
> +	touchscreen@38 {
> +		/* Actually ft5446 */
> +		compatible = "edt,edt-ft5406";
> +		reg = <0x38>;
> +
> +		interrupt-parent = <&msmgpio>;
> +		interrupts = <13 IRQ_TYPE_LEVEL_LOW>;
> +
> +		reset-gpios = <&msmgpio 12 GPIO_ACTIVE_LOW>;
> +
> +		vcc-supply = <&pm8916_l16>;
> +		iovcc-supply = <&pm8916_l6>;
> +
> +		touchscreen-size-x = <720>;
> +		touchscreen-size-y = <1280>;
> +
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&touchscreen_default>;
> +	};
> +};
> +
>  &blsp1_uart2 {
>  	status = "okay";
>  };
> @@ -245,6 +269,24 @@ gpio_keys_default: gpio-keys-default-state {
>  		bias-pull-up;
>  	};
>  
> +	touchscreen_default: touchscreen-default-state {
> +		reset-pins {
> +			pins = "gpio12";
> +			function = "gpio";
Redundant new line, here and in the next subnode.

Konrad
> +
> +			drive-strength = <2>;
> +			bias-disable;
> +		};
> +
> +		touchscreen-pins {
> +			pins = "gpio13";
> +			function = "gpio";
> +
> +			drive-strength = <2>;
> +			bias-pull-up;
> +		};
> +	};
> +
>  	usb_id_default: usb-id-default-state {
>  		pins = "gpio110";
>  		function = "gpio";