On 16/10/2023 13:47, Nia Espera wrote:
> Device tree files for OnePlus 9 and 9 Pro. Details of supported features
> mentioned in the cover letter for this patch series, but for
> accessibility also repeated here:
>
> - USB OTG
> - UFS
> - Framebuffer display
> - Touchscreen (for lemonade)
> - Power & volume down keys
> - Battery reading
> - Modem, IPA, and remoteproc bringup
>
> Steps to get booting:
>
> - Wipe dtbo partition
> - Flash vbmeta with disabled verity bit
> - Flash kernel and initfs to boot partition with CLI args pd_ignore_unused
> and clk_ignore_unused
> - Flash rootfs to some other partition (probably super or userdata)
>
> Signed-off-by: Nia Espera <nesp...@igalia.com>
Small comment below, for the next revision:
Reviewed-by: Caleb Connolly <caleb.conno...@linaro.org>
> ---
> arch/arm64/boot/dts/qcom/Makefile | 2 +
> .../arm64/boot/dts/qcom/sm8350-oneplus-common.dtsi | 1247
> ++++++++++++++++++++
> .../boot/dts/qcom/sm8350-oneplus-lemonade.dts | 82 ++
> .../boot/dts/qcom/sm8350-oneplus-lemonadep.dts | 37 +
> 4 files changed, 1368 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/Makefile
> b/arch/arm64/boot/dts/qcom/Makefile
> index 2cca20563a1d..369ad4721b29 100644
> --- a/arch/arm64/boot/dts/qcom/Makefile
> +++ b/arch/arm64/boot/dts/qcom/Makefile
> @@ -211,6 +211,8 @@ dtb-$(CONFIG_ARCH_QCOM) += sm8250-xiaomi-elish-csot.dtb
> dtb-$(CONFIG_ARCH_QCOM) += sm8350-hdk.dtb
> dtb-$(CONFIG_ARCH_QCOM) += sm8350-microsoft-surface-duo2.dtb
> dtb-$(CONFIG_ARCH_QCOM) += sm8350-mtp.dtb
> +dtb-$(CONFIG_ARCH_QCOM) += sm8350-oneplus-lemonade.dtb
> +dtb-$(CONFIG_ARCH_QCOM) += sm8350-oneplus-lemonadep.dtb
> dtb-$(CONFIG_ARCH_QCOM) += sm8350-sony-xperia-sagami-pdx214.dtb
> dtb-$(CONFIG_ARCH_QCOM) += sm8350-sony-xperia-sagami-pdx215.dtb
> dtb-$(CONFIG_ARCH_QCOM) += sm8450-hdk.dtb
> diff --git a/arch/arm64/boot/dts/qcom/sm8350-oneplus-common.dtsi
> b/arch/arm64/boot/dts/qcom/sm8350-oneplus-common.dtsi
> new file mode 100644
> index 000000000000..2f6768f35259
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/sm8350-oneplus-common.dtsi
> @@ -0,0 +1,1247 @@
> +// SPDX-License-Identifier: BSD-3-Clause
> +/*
> + * Copyright (c) 2023 Caleb Connolly <caleb.conno...@linaro.org>
This is loosely based on some initial work I did, but not to the degree
where this copyright is necessary, feel free to drop it on the next
revision.
> + *
> + * Copyright (c) 2023 Igalia S.L.
> + * Authors:
> + * Nia Espera <nesp...@igalia.com>
> + */
> +
> +#include <dt-bindings/iio/qcom,spmi-adc7-pm8350.h>
> +#include <dt-bindings/iio/qcom,spmi-adc7-pm8350b.h>
> +#define SMB139x_1_SID 0x0b
> +#define SMB139x_2_SID 0x0c
> +#include <dt-bindings/iio/qcom,spmi-adc7-smb139x.h>
> +#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
> +#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
> +#include "sm8350.dtsi"
> +#include "pm8350.dtsi"
> +#include "pm8350b.dtsi"
> +#include "pm8350c.dtsi"
> +#include "pmk8350.dtsi"
> +#include "pmr735a.dtsi"
> +#include "pmr735b.dtsi"
> +
> +/ {
> + /* As with the Sony devices, msm-id and board-id aren't needed here */
> + chassis-type = "handset";
> + interrupt-parent = <&intc>;
> +
[...]
> +
> + /*
> + * Hack; OP9 bootloader specifically checks that the timer node has
> + * this label.
> + */
> + arch_timer: timer {};
For this to work you also need to build the DTB with labels (the -@ flag
to dtc), otherwise this board won't boot. You can add the following to
the Makefile:
DTC_FLAGS_sm8350-oneplus-lemonade := -@
DTC_FLAGS_sm8350-oneplus-lemonadep := -@
See for reference:
https://lore.kernel.org/linux-arm-msm/20231009172717.2695854-1-dmitry.barysh...@linaro.org/
Regards,
--
// Caleb (they/them)