Re: [PATCH 1/5] arm64: dts: qcom: msm8916: Add device tree for Huawei Ascend G7

Stephan Gerhold
2021-06-10T15:46:16Z

On Thu, Jun 10, 2021 at 10:32:50AM -0500, Bjorn Andersson wrote:
> On Fri 14 May 05:43 CDT 2021, Stephan Gerhold wrote:
>
> > The Huawei Ascend G7 is a smartphone from Huawei based on MSM8916.
> > It's fairly similar to the other MSM8916 devices, the only notable
> > exception are the "cd-gpios" for detecting if a SD card was inserted:
> > It looks like Huawei forgot to re-route this to gpio38, so the correct
> > GPIO seems to be gpio56 on this device.
> >
> > Note: The original firmware from Huawei 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 Huawei
> > forgot to set up (firmware) secure boot for some reason.
> >
> > Also note that Huawei no longer provides bootloader unlock codes.
> > This can be bypassed by patching the bootloader from a custom HYP firmware,
> > making it think the bootloader is unlocked. I use a modified version of
> > qhypstub [1], that patches a single instruction in the Huawei bootloader.
> >
> > The device tree contains initial support for the Huawei Ascend G7 with:
> > - UART (untested, probably available via some test points)
> > - eMMC/SD card
> > - Buttons
> > - Notification LED (combination of 3 GPIO LEDs)
> > - Vibrator
> > - WiFi/Bluetooth (WCNSS)
> > - USB
> >
> > [1]: https://github.com/msm8916-mainline/qhypstub
> >
> > Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
> > ---
> > arch/arm64/boot/dts/qcom/Makefile | 1 +
> > .../arm64/boot/dts/qcom/msm8916-huawei-g7.dts | 279 ++++++++++++++++++
> > 2 files changed, 280 insertions(+)
> > create mode 100644 arch/arm64/boot/dts/qcom/msm8916-huawei-g7.dts
> >
> > diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
> > index 456502aeee49..c894de19654e 100644
> > --- a/arch/arm64/boot/dts/qcom/Makefile
> > +++ b/arch/arm64/boot/dts/qcom/Makefile
> > @@ -7,6 +7,7 @@ dtb-$(CONFIG_ARCH_QCOM) += ipq6018-cp01-c1.dtb
> > dtb-$(CONFIG_ARCH_QCOM) += ipq8074-hk01.dtb
> > dtb-$(CONFIG_ARCH_QCOM) += msm8916-alcatel-idol347.dtb
> > dtb-$(CONFIG_ARCH_QCOM) += msm8916-asus-z00l.dtb
> > +dtb-$(CONFIG_ARCH_QCOM) += msm8916-huawei-g7.dtb
> > dtb-$(CONFIG_ARCH_QCOM) += msm8916-longcheer-l8150.dtb
> > dtb-$(CONFIG_ARCH_QCOM) += msm8916-longcheer-l8910.dtb
> > dtb-$(CONFIG_ARCH_QCOM) += msm8916-mtp.dtb
> > diff --git a/arch/arm64/boot/dts/qcom/msm8916-huawei-g7.dts b/arch/arm64/boot/dts/qcom/msm8916-huawei-g7.dts
> > new file mode 100644
> > index 000000000000..d67aa7dd4a21
> > --- /dev/null
> > +++ b/arch/arm64/boot/dts/qcom/msm8916-huawei-g7.dts
> > @@ -0,0 +1,279 @@
> > +// SPDX-License-Identifier: GPL-2.0-only
>
> Would it be possible to change this to BSD license instead?
>

Sorry, I'm not sure I can. :/

This is derived from the other MSM8916 device trees that are
GPL-2.0-only, which are again derived from work that was made by many
other people. I'm not sure I can just put BSD here.

Also, would this really change anything? All the common MSM8916 includes
(msm8916.dtsi, pm8916.dtsi etc) are GPL-2.0-only so the resulting device
tree will forever stay GPL-2.0-only anyway. I think we can only properly
apply BSD to new device trees (unless we could somehow get permission
from all previous contributors).

Personally I would rather have the license consistent for all devices
based on one SoC, everything else will just be confusing for someone who
looks only at this particular file and mistakenly assumes it's
completely available under BSD.

Thanks,
Stephan