2021-01-24 13:59:15

by Jonathan Albrieux

[permalink] [raw]
Subject: [PATCH 0/3] Add initial support for BQ Aquaris X5

Aquaris X5 (Longcheer L8910) is a smartphone released by BQ in 2015.

As part of msm8916-mainline project, this series aims to bring initial
mainline support for it.

Features added:
- SDHCI (internal and external storage)
- USB Device Mode
- UART
- Regulators
- WiFi/BT
- Volume buttons
- Vibrator
- Touchkeys backlight
- Accelerometer and gyroscope sensor
- Magnetometer sensor

Jonathan Albrieux (3):
arm64: dts: qcom: Add device tree for BQ Aquaris X5 (Longcheer L8910)
arm64: dts: qcom: msm8916: Add blsp_i2c3
arm64: dts: qcom: msm8916-longcheer-l8910: Add imu/magnetometer

arch/arm64/boot/dts/qcom/Makefile | 1 +
.../boot/dts/qcom/msm8916-longcheer-l8910.dts | 267 ++++++++++++++++++
arch/arm64/boot/dts/qcom/msm8916-pins.dtsi | 16 ++
arch/arm64/boot/dts/qcom/msm8916.dtsi | 15 +
4 files changed, 299 insertions(+)
create mode 100644 arch/arm64/boot/dts/qcom/msm8916-longcheer-l8910.dts

--
2.17.1


2021-01-24 13:59:58

by Jonathan Albrieux

[permalink] [raw]
Subject: [PATCH 1/3] arm64: dts: qcom: Add device tree for BQ Aquaris X5 (Longcheer L8910)

BQ Aquaris X5 (Longcheer L8910) is a smartphone using the MSM8916 SoC.

Add device tree with initial support for:

- SDHCI (internal and external storage)
- USB Device Mode
- UART
- Regulators
- WiFi/BT
- Volume buttons
- Vibrator
- Touchkeys backlight

This device tree is based on downstream device tree from BQ and from
Longcheer L8915 device tree.

Co-developed-by: Stephan Gerhold <[email protected]>
Signed-off-by: Stephan Gerhold <[email protected]>
Signed-off-by: Jonathan Albrieux <[email protected]>
---
arch/arm64/boot/dts/qcom/Makefile | 1 +
.../boot/dts/qcom/msm8916-longcheer-l8910.dts | 230 ++++++++++++++++++
2 files changed, 231 insertions(+)
create mode 100644 arch/arm64/boot/dts/qcom/msm8916-longcheer-l8910.dts

diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index b5d86739f781..94b76a7ac6ba 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -6,6 +6,7 @@ dtb-$(CONFIG_ARCH_QCOM) += ipq6018-cp01-c1.dtb
dtb-$(CONFIG_ARCH_QCOM) += ipq8074-hk01.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8916-asus-z00l.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8916-longcheer-l8150.dtb
+dtb-$(CONFIG_ARCH_QCOM) += msm8916-longcheer-l8910.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8916-mtp.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8916-samsung-a3u-eur.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8916-samsung-a5u-eur.dtb
diff --git a/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8910.dts b/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8910.dts
new file mode 100644
index 000000000000..7d5eff922f41
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8910.dts
@@ -0,0 +1,230 @@
+// SPDX-License-Identifier: GPL-2.0-only
+
+/dts-v1/;
+
+#include "msm8916-pm8916.dtsi"
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
+
+/ {
+ model = "BQ Aquaris X5 (Longcheer L8910)";
+ compatible = "longcheer,l8910", "qcom,msm8916";
+
+ aliases {
+ serial0 = &blsp1_uart2;
+ };
+
+ chosen {
+ stdout-path = "serial0";
+ };
+
+ gpio-keys {
+ compatible = "gpio-keys";
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&gpio_keys_default>;
+
+ label = "GPIO Buttons";
+
+ volume-up {
+ label = "Volume Up";
+ gpios = <&msmgpio 107 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_VOLUMEUP>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ led-0 {
+ gpios = <&msmgpio 17 GPIO_ACTIVE_HIGH>;
+ color = <LED_COLOR_ID_WHITE>;
+ default-state = "off";
+ function = LED_FUNCTION_KBD_BACKLIGHT;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&button_backlight_default>;
+ };
+ };
+
+ usb_id: usb-id {
+ compatible = "linux,extcon-usb-gpio";
+ id-gpio = <&msmgpio 110 GPIO_ACTIVE_HIGH>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&usb_id_default>;
+ };
+};
+
+&blsp1_uart2 {
+ status = "okay";
+};
+
+&pm8916_resin {
+ status = "okay";
+ linux,code = <KEY_VOLUMEDOWN>;
+};
+
+&pm8916_vib {
+ status = "okay";
+};
+
+&pronto {
+ status = "okay";
+};
+
+&sdhc_1 {
+ status = "okay";
+
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>;
+ pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>;
+};
+
+&sdhc_2 {
+ status = "okay";
+
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>;
+ pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>;
+
+ cd-gpios = <&msmgpio 38 GPIO_ACTIVE_LOW>;
+};
+
+&usb {
+ status = "okay";
+ extcon = <&usb_id>, <&usb_id>;
+};
+
+&usb_hs_phy {
+ extcon = <&usb_id>;
+};
+
+&smd_rpm_regulators {
+ vdd_l1_l2_l3-supply = <&pm8916_s3>;
+ vdd_l4_l5_l6-supply = <&pm8916_s4>;
+ vdd_l7-supply = <&pm8916_s4>;
+
+ s3 {
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1300000>;
+ };
+
+ s4 {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <2100000>;
+ };
+
+ l1 {
+ regulator-min-microvolt = <1225000>;
+ regulator-max-microvolt = <1225000>;
+ };
+
+ l2 {
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ };
+
+ l4 {
+ regulator-min-microvolt = <2050000>;
+ regulator-max-microvolt = <2050000>;
+ };
+
+ l5 {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+
+ l6 {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+
+ l7 {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+
+ l8 {
+ regulator-min-microvolt = <2850000>;
+ regulator-max-microvolt = <2900000>;
+ };
+
+ l9 {
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ };
+
+ l10 {
+ regulator-min-microvolt = <2700000>;
+ regulator-max-microvolt = <2800000>;
+ };
+
+ l11 {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <2950000>;
+ regulator-allow-set-load;
+ regulator-system-load = <200000>;
+ };
+
+ l12 {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <2950000>;
+ };
+
+ l13 {
+ regulator-min-microvolt = <3075000>;
+ regulator-max-microvolt = <3075000>;
+ };
+
+ l14 {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <3300000>;
+ };
+
+ l15 {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <3300000>;
+ };
+
+ l16 {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <3300000>;
+ };
+
+ l17 {
+ regulator-min-microvolt = <2850000>;
+ regulator-max-microvolt = <2850000>;
+ };
+
+ l18 {
+ regulator-min-microvolt = <2700000>;
+ regulator-max-microvolt = <2700000>;
+ };
+};
+
+&msmgpio {
+ button_backlight_default: button-backlight-default {
+ pins = "gpio17";
+ function = "gpio";
+
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ gpio_keys_default: gpio-keys-default {
+ pins = "gpio107";
+ function = "gpio";
+
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+
+ usb_id_default: usb-id-default {
+ pins = "gpio110";
+ function = "gpio";
+
+ drive-strength = <8>;
+ bias-pull-up;
+ };
+};
--
2.17.1

2021-01-24 14:00:21

by Jonathan Albrieux

[permalink] [raw]
Subject: [PATCH 3/3] arm64: dts: qcom: msm8916-longcheer-l8910: Add imu/magnetometer

BQ Aquaris X5 (Longcheer L8910) has:
- BMI160 accelerometer and gyroscope sensor
- AK09911 magnetometer sensor
Add them to the device tree.

This patch depends on patch "arm64: dts: qcom: msm8916: Add blsp_i2c3".

Signed-off-by: Jonathan Albrieux <[email protected]>
---
.../boot/dts/qcom/msm8916-longcheer-l8910.dts | 37 +++++++++++++++++++
1 file changed, 37 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8910.dts b/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8910.dts
index 7d5eff922f41..c3933ec0f116 100644
--- a/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8910.dts
+++ b/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8910.dts
@@ -56,6 +56,35 @@
};
};

+&blsp_i2c3 {
+ status = "okay";
+
+ imu@68 {
+ compatible = "bosch,bmi160";
+ reg = <0x68>;
+
+ vdd-supply = <&pm8916_l17>;
+ vddio-supply = <&pm8916_l6>;
+
+ mount-matrix = "0", "1", "0",
+ "-1", "0", "0",
+ "0", "0", "1";
+ };
+
+ magnetometer@d {
+ compatible = "asahi-kasei,ak09911";
+ reg = <0x0d>;
+
+ vdd-supply = <&pm8916_l17>;
+ vid-supply = <&pm8916_l6>;
+
+ reset-gpios = <&msmgpio 111 GPIO_ACTIVE_LOW>;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&mag_reset_default>;
+ };
+};
+
&blsp1_uart2 {
status = "okay";
};
@@ -220,6 +249,14 @@
bias-pull-up;
};

+ mag_reset_default: mag-reset-default {
+ pins = "gpio111";
+ function = "gpio";
+
+ drive-strength = <2>;
+ bias-disable;
+ };
+
usb_id_default: usb-id-default {
pins = "gpio110";
function = "gpio";
--
2.17.1

2021-01-24 15:10:06

by Konrad Dybcio

[permalink] [raw]
Subject: Re: [PATCH 3/3] arm64: dts: qcom: msm8916-longcheer-l8910: Add imu/magnetometer



> +&blsp_i2c3 {
> + status = "okay";
> +
> + imu@68 {
> + compatible = "bosch,bmi160";
> + reg = <0x68>;
> +
> + vdd-supply = <&pm8916_l17>;
> + vddio-supply = <&pm8916_l6>;
> +
> + mount-matrix = "0", "1", "0",
> + "-1", "0", "0",
> + "0", "0", "1";
> + };
> +
> + magnetometer@d {
> + compatible = "asahi-kasei,ak09911";
> + reg = <0x0d>;
> +
> + vdd-supply = <&pm8916_l17>;
> + vid-supply = <&pm8916_l6>;
> +
> + reset-gpios = <&msmgpio 111 GPIO_ACTIVE_LOW>;
> +
> + pinctrl-names = "default";
> + pinctrl-0 = <&mag_reset_default>;
> + };
> +};

Please sort I2C devices by their address.


> };
>
> + mag_reset_default: mag-reset-default {
> + pins = "gpio111";
> + function = "gpio";
> +
> + drive-strength = <2>;
> + bias-disable;
> + };
> +

Please add this after gpio110 to keep it sorted gpio-number-wise.


Konrad

2021-01-24 15:15:05

by Konrad Dybcio

[permalink] [raw]
Subject: Re: [PATCH 1/3] arm64: dts: qcom: Add device tree for BQ Aquaris X5 (Longcheer L8910)

The sorting on smd_rpm_regulators & msmgpio seems off.. unless it's the new thing to put it at the end?

Also, did you forget the copyright header or is that on purpose?


Otherwise, LGTM


Konrad

2021-01-24 15:49:33

by Stephan Gerhold

[permalink] [raw]
Subject: Re: [PATCH 1/3] arm64: dts: qcom: Add device tree for BQ Aquaris X5 (Longcheer L8910)

On Sun, Jan 24, 2021 at 04:12:30PM +0100, Konrad Dybcio wrote:
> The sorting on smd_rpm_regulators & msmgpio seems off.. unless it's the new thing to put it at the end?
>

It's consistent like this for all MSM8916 device trees at least.

Back when I converted them I thought that it's kind of annoying to have
this large list of regulators and pinctrl placed right inbetween all
other device definitions. And it's even worse for apq8016-sbc.dtsi which
has this large list of gpio-line-names. It just makes it harder to see
the actual interesting definitions (new devices etc) in my opinion.

I think I mentioned this in my patch description back then
and Bjorn did not complain. :-)

But I understand this may be somewhat inconsistent with other qcom
device trees at the moment, so I suppose I would be fine with a patch
to order them entirely alphabetically.
(As long as it's consistent for all MSM8916 device trees...)

Thanks,
Stephan

2021-01-24 15:56:28

by Stephan Gerhold

[permalink] [raw]
Subject: Re: [PATCH 3/3] arm64: dts: qcom: msm8916-longcheer-l8910: Add imu/magnetometer

On Sun, Jan 24, 2021 at 04:07:19PM +0100, Konrad Dybcio wrote:
> > +&blsp_i2c3 {
> > + status = "okay";
> > +
> > + imu@68 {
> > + compatible = "bosch,bmi160";
> > + reg = <0x68>;
> > +
> > + vdd-supply = <&pm8916_l17>;
> > + vddio-supply = <&pm8916_l6>;
> > +
> > + mount-matrix = "0", "1", "0",
> > + "-1", "0", "0",
> > + "0", "0", "1";
> > + };
> > +
> > + magnetometer@d {
> > + compatible = "asahi-kasei,ak09911";
> > + reg = <0x0d>;
> > +
> > + vdd-supply = <&pm8916_l17>;
> > + vid-supply = <&pm8916_l6>;
> > +
> > + reset-gpios = <&msmgpio 111 GPIO_ACTIVE_LOW>;
> > +
> > + pinctrl-names = "default";
> > + pinctrl-0 = <&mag_reset_default>;
> > + };
> > +};
>
> Please sort I2C devices by their address.
>

+1 :)

>
> > };
> >
> > + mag_reset_default: mag-reset-default {
> > + pins = "gpio111";
> > + function = "gpio";
> > +
> > + drive-strength = <2>;
> > + bias-disable;
> > + };
> > +
>
> Please add this after gpio110 to keep it sorted gpio-number-wise.
>

This is ordered alphabetically. I haven't seen gpio-number order
anywhere yet... :)

Thanks,
Stephan

2021-01-24 19:54:33

by Jonathan Albrieux

[permalink] [raw]
Subject: Re: [PATCH 3/3] arm64: dts: qcom: msm8916-longcheer-l8910: Add imu/magnetometer

On Sun, Jan 24, 2021 at 04:51:31PM +0100, Stephan Gerhold wrote:
> On Sun, Jan 24, 2021 at 04:07:19PM +0100, Konrad Dybcio wrote:
> > > +&blsp_i2c3 {
> > > + status = "okay";
> > > +
> > > + imu@68 {
> > > + compatible = "bosch,bmi160";
> > > + reg = <0x68>;
> > > +
> > > + vdd-supply = <&pm8916_l17>;
> > > + vddio-supply = <&pm8916_l6>;
> > > +
> > > + mount-matrix = "0", "1", "0",
> > > + "-1", "0", "0",
> > > + "0", "0", "1";
> > > + };
> > > +
> > > + magnetometer@d {
> > > + compatible = "asahi-kasei,ak09911";
> > > + reg = <0x0d>;
> > > +
> > > + vdd-supply = <&pm8916_l17>;
> > > + vid-supply = <&pm8916_l6>;
> > > +
> > > + reset-gpios = <&msmgpio 111 GPIO_ACTIVE_LOW>;
> > > +
> > > + pinctrl-names = "default";
> > > + pinctrl-0 = <&mag_reset_default>;
> > > + };
> > > +};
> >
> > Please sort I2C devices by their address.
> >
>
> +1 :)
>
Thank you Konrad, thank you Stephan, I'll fix the order!

> >
> > > };
> > >
> > > + mag_reset_default: mag-reset-default {
> > > + pins = "gpio111";
> > > + function = "gpio";
> > > +
> > > + drive-strength = <2>;
> > > + bias-disable;
> > > + };
> > > +
> >
> > Please add this after gpio110 to keep it sorted gpio-number-wise.
> >
>
> This is ordered alphabetically. I haven't seen gpio-number order
> anywhere yet... :)
>
Let me know if this order has to be changed, meanwhile I'll prepare
a v2 for the i2c device order and will prepare a v3 in case this
order too has to be changed.

Again, thank you,
Jonathan

> Thanks,
> Stephan

2021-01-24 21:09:17

by Pavel Machek

[permalink] [raw]
Subject: Re: [PATCH 0/3] Add initial support for BQ Aquaris X5

Hi!

> Aquaris X5 (Longcheer L8910) is a smartphone released by BQ in 2015.
>
> As part of msm8916-mainline project, this series aims to bring initial
> mainline support for it.

Good to see another phone being supported. Can I ask you to cc:
[email protected] with phone stuff?

> Features added:
> - SDHCI (internal and external storage)
> - USB Device Mode
> - UART
> - Regulators
> - WiFi/BT
> - Volume buttons
> - Vibrator
> - Touchkeys backlight
> - Accelerometer and gyroscope sensor
> - Magnetometer sensor

How close are you to having useful phone calls?

Best regards,
Pavel
--
http://www.livejournal.com/~pavelmachek


Attachments:
(No filename) (686.00 B)
signature.asc (188.00 B)
Digital signature
Download all attachments

2021-01-24 21:53:40

by Stephan Gerhold

[permalink] [raw]
Subject: Re: [PATCH 0/3] Add initial support for BQ Aquaris X5

Hi Pavel,

On Sun, Jan 24, 2021 at 10:01:19PM +0100, Pavel Machek wrote:
> Hi!
>
> > Aquaris X5 (Longcheer L8910) is a smartphone released by BQ in 2015.
> >
> > As part of msm8916-mainline project, this series aims to bring initial
> > mainline support for it.
>
> Good to see another phone being supported. Can I ask you to cc:
> [email protected] with phone stuff?
>
> > Features added:
> > - SDHCI (internal and external storage)
> > - USB Device Mode
> > - UART
> > - Regulators
> > - WiFi/BT
> > - Volume buttons
> > - Vibrator
> > - Touchkeys backlight
> > - Accelerometer and gyroscope sensor
> > - Magnetometer sensor
>
> How close are you to having useful phone calls?
>

You can do phone calls (with audio) and you can use mobile data, if you
have the patches for that. :) I'm trying to find time to finish up the
drivers needed for that, but I've been a bit short on time lately.

Actually we have come pretty far with MSM8916-based smartphones.
Most functionality is (somewhat) working at this point, the primary
open task is optimizing suspend/power consumption. Battery/charging
and camera is also tricky but works somewhat on some of the devices.

Most of the functionality is packaged in postmarketOS [1] and you can
find a list of the devices in the postmarketOS wiki [2]. Especially
the ones in the "community" category are quite similar in terms of
working functionality.

Stephan

[1]: https://postmarketos.org
[2]: https://wiki.postmarketos.org/wiki/Qualcomm_Snapdragon_410/412_(MSM8916)

2021-01-28 00:43:19

by Pavel Machek

[permalink] [raw]
Subject: Re: [PATCH 0/3] Add initial support for BQ Aquaris X5

Hi!

> > > Aquaris X5 (Longcheer L8910) is a smartphone released by BQ in 2015.
> > >
> > > As part of msm8916-mainline project, this series aims to bring initial
> > > mainline support for it.
> >
> > Good to see another phone being supported. Can I ask you to cc:
> > [email protected] with phone stuff?
> >
> > > Features added:
> > > - SDHCI (internal and external storage)
> > > - USB Device Mode
> > > - UART
> > > - Regulators
> > > - WiFi/BT
> > > - Volume buttons
> > > - Vibrator
> > > - Touchkeys backlight
> > > - Accelerometer and gyroscope sensor
> > > - Magnetometer sensor
> >
> > How close are you to having useful phone calls?
>
> You can do phone calls (with audio) and you can use mobile data, if you
> have the patches for that. :) I'm trying to find time to finish up the
> drivers needed for that, but I've been a bit short on time lately.

:-).

> Actually we have come pretty far with MSM8916-based smartphones.
> Most functionality is (somewhat) working at this point, the primary
> open task is optimizing suspend/power consumption. Battery/charging
> and camera is also tricky but works somewhat on some of the devices.

Yes, power consumption is a lot of fun :-(.

> Most of the functionality is packaged in postmarketOS [1] and you can
> find a list of the devices in the postmarketOS wiki [2]. Especially
> the ones in the "community" category are quite similar in terms of
> working functionality.

I know about postmarketOS (I even contributed a bit some time ago),
and watch it from time to time. Currently I'm using old Nokia 6151 for
phone calls, but would not mind switching. Work is ongoing in Droid 4
land -- phone calls are also "almost there". But the almost seems to
be a lot of work :-(.

Best regards,
Pavel
--
http://www.livejournal.com/~pavelmachek


Attachments:
(No filename) (1.84 kB)
signature.asc (188.00 B)
Digital signature
Download all attachments

2021-01-28 04:25:40

by Bjorn Andersson

[permalink] [raw]
Subject: Re: [PATCH 3/3] arm64: dts: qcom: msm8916-longcheer-l8910: Add imu/magnetometer

On Sun 24 Jan 13:49 CST 2021, Jonathan Albrieux wrote:

> On Sun, Jan 24, 2021 at 04:51:31PM +0100, Stephan Gerhold wrote:
> > On Sun, Jan 24, 2021 at 04:07:19PM +0100, Konrad Dybcio wrote:
> > > > +&blsp_i2c3 {
> > > > + status = "okay";
> > > > +
> > > > + imu@68 {
> > > > + compatible = "bosch,bmi160";
> > > > + reg = <0x68>;
> > > > +
> > > > + vdd-supply = <&pm8916_l17>;
> > > > + vddio-supply = <&pm8916_l6>;
> > > > +
> > > > + mount-matrix = "0", "1", "0",
> > > > + "-1", "0", "0",
> > > > + "0", "0", "1";
> > > > + };
> > > > +
> > > > + magnetometer@d {
> > > > + compatible = "asahi-kasei,ak09911";
> > > > + reg = <0x0d>;
> > > > +
> > > > + vdd-supply = <&pm8916_l17>;
> > > > + vid-supply = <&pm8916_l6>;
> > > > +
> > > > + reset-gpios = <&msmgpio 111 GPIO_ACTIVE_LOW>;
> > > > +
> > > > + pinctrl-names = "default";
> > > > + pinctrl-0 = <&mag_reset_default>;
> > > > + };
> > > > +};
> > >
> > > Please sort I2C devices by their address.
> > >
> >
> > +1 :)
> >
> Thank you Konrad, thank you Stephan, I'll fix the order!
>
> > >
> > > > };
> > > >
> > > > + mag_reset_default: mag-reset-default {
> > > > + pins = "gpio111";
> > > > + function = "gpio";
> > > > +
> > > > + drive-strength = <2>;
> > > > + bias-disable;
> > > > + };
> > > > +
> > >
> > > Please add this after gpio110 to keep it sorted gpio-number-wise.
> > >
> >
> > This is ordered alphabetically. I haven't seen gpio-number order
> > anywhere yet... :)
> >
> Let me know if this order has to be changed, meanwhile I'll prepare
> a v2 for the i2c device order and will prepare a v3 in case this
> order too has to be changed.
>

I'm happy with having these sorted alphabetically.

Regards,
Bjorn

2021-01-28 09:40:57

by Stephan Gerhold

[permalink] [raw]
Subject: Re: [PATCH 0/3] Add initial support for BQ Aquaris X5

On Wed, Jan 27, 2021 at 11:24:07PM +0100, Pavel Machek wrote:
> > > How close are you to having useful phone calls?
> >
> > You can do phone calls (with audio) and you can use mobile data, if you
> > have the patches for that. :) I'm trying to find time to finish up the
> > drivers needed for that, but I've been a bit short on time lately.
>
> > Most of the functionality is packaged in postmarketOS [1] and you can
> > find a list of the devices in the postmarketOS wiki [2]. Especially
> > the ones in the "community" category are quite similar in terms of
> > working functionality.
>
> I know about postmarketOS (I even contributed a bit some time ago),
> and watch it from time to time. Currently I'm using old Nokia 6151 for
> phone calls, but would not mind switching. Work is ongoing in Droid 4
> land -- phone calls are also "almost there". But the almost seems to
> be a lot of work :-(.
>

It's fairly simple on Qualcomm SoCs once audio DSP and modem are working
(which is not that simple). I basically just tell the audio DSP to
stream voice call audio to the audio ports and then it does that without
involving the kernel.

It seems to work quite well, so far no one complained about quality or
something like that. Not sure if anyone is actively using it already
though :)

The work left is mainly making the driver more generic so it can work on
other Qualcomm SoCs as well (right now I have some things hardcoded).
Also, I still haven't fully figured out what is the best way to
integrate it into ASoC/UCM/..., so that it can be easily activated when
starting a voice call.

Stephan

2021-02-02 21:38:52

by Pavel Machek

[permalink] [raw]
Subject: Re: [PATCH 0/3] Add initial support for BQ Aquaris X5

Hi!

> > > > How close are you to having useful phone calls?
> > >
> > > You can do phone calls (with audio) and you can use mobile data, if you
> > > have the patches for that. :) I'm trying to find time to finish up the
> > > drivers needed for that, but I've been a bit short on time lately.
> >
> > > Most of the functionality is packaged in postmarketOS [1] and you can
> > > find a list of the devices in the postmarketOS wiki [2]. Especially
> > > the ones in the "community" category are quite similar in terms of
> > > working functionality.
> >
> > I know about postmarketOS (I even contributed a bit some time ago),
> > and watch it from time to time. Currently I'm using old Nokia 6151 for
> > phone calls, but would not mind switching. Work is ongoing in Droid 4
> > land -- phone calls are also "almost there". But the almost seems to
> > be a lot of work :-(.
> >
>
> It's fairly simple on Qualcomm SoCs once audio DSP and modem are working
> (which is not that simple). I basically just tell the audio DSP to
> stream voice call audio to the audio ports and then it does that without
> involving the kernel.
>
> It seems to work quite well, so far no one complained about quality or
> something like that. Not sure if anyone is actively using it already
> though :)

Ok, thanks for info :-).

> The work left is mainly making the driver more generic so it can work on
> other Qualcomm SoCs as well (right now I have some things hardcoded).
> Also, I still haven't fully figured out what is the best way to
> integrate it into ASoC/UCM/..., so that it can be easily activated when
> starting a voice call.

On droid 4, we use mixer settings to configure audio system for a
call. Maemo Leste has some kind of component to automatically adjust
mixers when call is started. We use ofonod.

Best regards,
Pavel
--
http://www.livejournal.com/~pavelmachek


Attachments:
(No filename) (1.88 kB)
signature.asc (201.00 B)
Download all attachments