Message ID | 20220609095412.211060-1-amartinz@shiftphones.com (mailing list archive) |
---|---|
State | Changes Requested |
Headers | show |
Series | [1/2] arch: arm64: qcom: sdm845-shift-axolotl: fix Bluetooth firmware loading | expand |
On 09/06/2022 11:54, Alexander Martinz wrote: > From: Dylan Van Assche <me@dylanvanassche.be> > > Add hsuart0 alias, firmware name and prevent garbage data on Bluetooth UART lines > on the SHIFT 6mq based on the Qualcomm SDM845 chip. > I discovered that these were missing by comparing the DTS with similar > devices such as the Oneplus 6/6T and Dragonboard 845c. > > Signed-of-by: Dylan Van Assche <me@dylanvanassche.be> > Tested-by: Alexander Martinz <amartinz@shiftphones.co> Thanks for the patch. Instead of your Tested-by (or beside) your SoB is needed, following Dylan's. Best regards, Krzysztof
On Thu, 9 Jun 2022 at 12:54, Alexander Martinz <amartinz@shiftphones.com> wrote: > > From: Dylan Van Assche <me@dylanvanassche.be> > > Add hsuart0 alias, firmware name and prevent garbage data on Bluetooth UART lines hsuart aliases are not standard. Please use serialN alias instead. > on the SHIFT 6mq based on the Qualcomm SDM845 chip. > I discovered that these were missing by comparing the DTS with similar > devices such as the Oneplus 6/6T and Dragonboard 845c. > > Signed-of-by: Dylan Van Assche <me@dylanvanassche.be> > Tested-by: Alexander Martinz <amartinz@shiftphones.com> > --- > .../boot/dts/qcom/sdm845-shift-axolotl.dts | 33 +++++++++++++++++++ > 1 file changed, 33 insertions(+) > > diff --git a/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts b/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts > index 103cc40816fd..fa72f23ef0c2 100644 > --- a/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts > +++ b/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts > @@ -20,6 +20,7 @@ / { > > aliases { > display0 = &framebuffer0; > + hsuart0 = &uart6; > serial0 = &uart9; > }; > > @@ -529,6 +530,32 @@ volume_down_resin: resin { > }; > }; > > +/* > + * Prevent garbage data on bluetooth UART lines > + */ > +&qup_uart6_default { > + pinmux { > + pins = "gpio45", "gpio46", "gpio47", "gpio48"; > + function = "qup6"; > + }; This chunk should probably go into sdm845.dtsi. I'd suggest either adding a separate qup_uart6_4pin or just making qup_uart6_default the 4-pin UART. > + > + cts { > + pins = "gpio45"; Then the label and 'pins' can go into the dtsi, while keeping just the bias and drive-strength in the platform dtsi. > + bias-pull-down; > + }; > + > + rts-tx { > + pins = "gpio46", "gpio47"; > + drive-strength = <2>; > + bias-disable; > + }; > + > + rx { > + pins = "gpio48"; > + bias-pull-up; > + }; > +}; > + > &qup_uart9_default { > pinconf-rx { > pins = "gpio5"; > @@ -667,6 +694,12 @@ &uart6 { > bluetooth { > compatible = "qcom,wcn3990-bt"; > > + /* > + * This path is relative to the qca/ > + * subdir under lib/firmware. > + */ > + firmware-name = "axolotl/crnv21.bin"; Do you know what is the difference between axolotl's bin and the regular one? > + > vddio-supply = <&vreg_s4a_1p8>; > vddxo-supply = <&vreg_l7a_1p8>; > vddrf-supply = <&vreg_l17a_1p3>;
On 09/06/2022 13:47, Dmitry Baryshkov wrote: > On Thu, 9 Jun 2022 at 12:54, Alexander Martinz <amartinz@shiftphones.com> wrote: >> >> From: Dylan Van Assche <me@dylanvanassche.be> >> >> Add hsuart0 alias, firmware name and prevent garbage data on Bluetooth UART lines > > hsuart aliases are not standard. Please use serialN alias instead. > >> on the SHIFT 6mq based on the Qualcomm SDM845 chip. >> I discovered that these were missing by comparing the DTS with similar >> devices such as the Oneplus 6/6T and Dragonboard 845c. >> >> Signed-of-by: Dylan Van Assche <me@dylanvanassche.be> >> Tested-by: Alexander Martinz <amartinz@shiftphones.com> >> --- >> .../boot/dts/qcom/sdm845-shift-axolotl.dts | 33 +++++++++++++++++++ >> 1 file changed, 33 insertions(+) >> >> diff --git a/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts b/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts >> index 103cc40816fd..fa72f23ef0c2 100644 >> --- a/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts >> +++ b/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts >> @@ -20,6 +20,7 @@ / { >> >> aliases { >> display0 = &framebuffer0; >> + hsuart0 = &uart6; >> serial0 = &uart9; >> }; >> >> @@ -529,6 +530,32 @@ volume_down_resin: resin { >> }; >> }; >> >> +/* >> + * Prevent garbage data on bluetooth UART lines >> + */ >> +&qup_uart6_default { >> + pinmux { >> + pins = "gpio45", "gpio46", "gpio47", "gpio48"; >> + function = "qup6"; >> + }; > > This chunk should probably go into sdm845.dtsi. I'd suggest either > adding a separate qup_uart6_4pin or just making qup_uart6_default the > 4-pin UART. This sounds good > >> + >> + cts { >> + pins = "gpio45"; > > Then the label and 'pins' can go into the dtsi, while keeping just the > bias and drive-strength in the platform dtsi. > >> + bias-pull-down; >> + }; >> + >> + rts-tx { >> + pins = "gpio46", "gpio47"; >> + drive-strength = <2>; >> + bias-disable; >> + }; >> + >> + rx { >> + pins = "gpio48"; >> + bias-pull-up; >> + }; >> +}; >> + >> &qup_uart9_default { >> pinconf-rx { >> pins = "gpio5"; >> @@ -667,6 +694,12 @@ &uart6 { >> bluetooth { >> compatible = "qcom,wcn3990-bt"; >> >> + /* >> + * This path is relative to the qca/ >> + * subdir under lib/firmware. >> + */ >> + firmware-name = "axolotl/crnv21.bin"; > > Do you know what is the difference between axolotl's bin and the regular one? Just checked in a hex editor and there are some differences. This firmware is signed on most devices but given the SHIFT6mq is secureboot off we could in theory use upstream firmware here - if it works. This particular device has some very broken wifi firmware - we have to use the firmware from the OnePlus 6 to get wifi to work at all... > >> + >> vddio-supply = <&vreg_s4a_1p8>; >> vddxo-supply = <&vreg_l7a_1p8>; >> vddrf-supply = <&vreg_l17a_1p3>; > > -- > With best wishes > Dmitry -- Kind Regards, Caleb
diff --git a/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts b/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts index 103cc40816fd..fa72f23ef0c2 100644 --- a/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts +++ b/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts @@ -20,6 +20,7 @@ / { aliases { display0 = &framebuffer0; + hsuart0 = &uart6; serial0 = &uart9; }; @@ -529,6 +530,32 @@ volume_down_resin: resin { }; }; +/* + * Prevent garbage data on bluetooth UART lines + */ +&qup_uart6_default { + pinmux { + pins = "gpio45", "gpio46", "gpio47", "gpio48"; + function = "qup6"; + }; + + cts { + pins = "gpio45"; + bias-pull-down; + }; + + rts-tx { + pins = "gpio46", "gpio47"; + drive-strength = <2>; + bias-disable; + }; + + rx { + pins = "gpio48"; + bias-pull-up; + }; +}; + &qup_uart9_default { pinconf-rx { pins = "gpio5"; @@ -667,6 +694,12 @@ &uart6 { bluetooth { compatible = "qcom,wcn3990-bt"; + /* + * This path is relative to the qca/ + * subdir under lib/firmware. + */ + firmware-name = "axolotl/crnv21.bin"; + vddio-supply = <&vreg_s4a_1p8>; vddxo-supply = <&vreg_l7a_1p8>; vddrf-supply = <&vreg_l17a_1p3>;