On Sat, Sep 10, 2022 at 05:32:13PM +0300, Iskren Chernev wrote: > Add initial support for OnePlus Nord N100, based on SM4250. Currently > working: > - boots > - usb > - buildin flash storage (UFS) > - SD card reader > > Signed-off-by: Iskren Chernev <iskren.chernev@xxxxxxxxx> > --- > arch/arm64/boot/dts/qcom/Makefile | 1 + > .../boot/dts/qcom/sm4250-oneplus-billie2.dts | 241 ++++++++++++++++++ > 2 files changed, 242 insertions(+) > create mode 100644 arch/arm64/boot/dts/qcom/sm4250-oneplus-billie2.dts > > diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile > index f4126f7e7640..5d2570b600e0 100644 > --- a/arch/arm64/boot/dts/qcom/Makefile > +++ b/arch/arm64/boot/dts/qcom/Makefile > @@ -137,6 +137,7 @@ dtb-$(CONFIG_ARCH_QCOM) += sdm845-xiaomi-polaris.dtb > dtb-$(CONFIG_ARCH_QCOM) += sdm845-shift-axolotl.dtb > dtb-$(CONFIG_ARCH_QCOM) += sdm850-lenovo-yoga-c630.dtb > dtb-$(CONFIG_ARCH_QCOM) += sdm850-samsung-w737.dtb > +dtb-$(CONFIG_ARCH_QCOM) += sm4250-oneplus-billie2.dtb > dtb-$(CONFIG_ARCH_QCOM) += sm6125-sony-xperia-seine-pdx201.dtb > dtb-$(CONFIG_ARCH_QCOM) += sm6350-sony-xperia-lena-pdx213.dtb > dtb-$(CONFIG_ARCH_QCOM) += sm7225-fairphone-fp4.dtb > diff --git a/arch/arm64/boot/dts/qcom/sm4250-oneplus-billie2.dts b/arch/arm64/boot/dts/qcom/sm4250-oneplus-billie2.dts > new file mode 100644 > index 000000000000..b9094f1efca0 > --- /dev/null > +++ b/arch/arm64/boot/dts/qcom/sm4250-oneplus-billie2.dts > @@ -0,0 +1,241 @@ > +// SPDX-License-Identifier: GPL-2.0-only Would it be possible for you to dual license this? > +/* > + * Copyright (c) 2021, Iskren Chernev <iskren.chernev@xxxxxxxxx> > + */ > + > +/dts-v1/; > + > +#include "sm4250.dtsi" > + > +/ { > + model = "OnePlus Nord N100"; > + compatible = "oneplus,billie2", "qcom,sm4250"; > + > + /* required for bootloader to select correct board */ > + qcom,msm-id = <0x1a1 0x10000 0x1bc 0x10000>; > + qcom,board-id = <0x1000b 0x00>; > + > + aliases { > + }; > + > + chosen { > + #address-cells = <2>; > + #size-cells = <2>; > + ranges; > + > + stdout-path = "framebuffer0"; > + > + framebuffer0: framebuffer@9d400000 { > + compatible = "simple-framebuffer"; > + reg = <0 0x5c000000 0 (1600 * 720 * 4)>; > + width = <720>; > + height = <1600>; > + stride = <(720 * 4)>; > + format = "a8r8g8b8"; > + }; > + }; > +}; > + > +&xo_board { > + clock-frequency = <19200000>; > +}; > + > +&sleep_clk { > + clock-frequency = <32764>; > +}; > + > +&reserved_memory { As the number of nodes grow it would be nice if these were sorted alphabetically. > + bootloader_log_mem: memory@5fff7000 { > + reg = <0x00 0x5fff7000 0x00 0x8000>; > + no-map; > + }; > + > + ramoops@cbe00000 { > + compatible = "ramoops"; > + reg = <0x0 0xcbe00000 0x0 0x400000>; > + record-size = <0x40000>; > + pmsg-size = <0x200000>; > + console-size = <0x40000>; > + ftrace-size = <0x40000>; > + }; > + > + param_mem: memory@cc200000 { > + reg = <0x00 0xcc200000 0x00 0x100000>; > + no-map; > + }; > + > + mtp_mem: memory@cc300000 { > + reg = <0x00 0xcc300000 0x00 0xb00000>; > + no-map; > + }; > +}; > + > +&usb3 { > + status = "okay"; > +}; [..] > +&rpm_requests { > + regulators-0 { Is there a reason why you don't call this node pm6125-regulators ? > + compatible = "qcom,rpm-pm6125-regulators"; > + > + vreg_s6a: s6 { > + regulator-min-microvolt = <320000>; > + regulator-max-microvolt = <1456000>; > + }; [..] > + vreg_l24a: l24 { > + regulator-min-microvolt = <2704000>; > + regulator-max-microvolt = <3544000>; > + }; Just as a heads up, by not ensuring that your regulators are in high-power-mode you risk seeing brown-outs - something we keep running into for e.g. SD-cards. Regards, Bjorn > + }; > +}; > -- > 2.37.2 >