This short series brings a couple of fixes and features
(such as display out) for the QTI RB2 board. Similar patches
for the RB1 should be expected soon.
Depends on and based atop (in order):
[email protected]
[email protected]
[email protected]
Signed-off-by: Konrad Dybcio <[email protected]>
---
Konrad Dybcio (5):
arm64: dts: qcom: qrb4210-rb2: Describe fixed regulators
arm64: dts: qcom: qrb4210-rb2: Enable display out
arm64: dts: qcom: qrb4210-rb2: Add GPIO LEDs
arm64: dts: qcom: qrb4210-rb2: Enable load setting on SDHCI VQMMC
arm64: dts: qcom: qrb4210-rb2: Enable CAN bus controller
arch/arm64/boot/dts/qcom/qrb4210-rb2.dts | 223 ++++++++++++++++++++++++++++++-
1 file changed, 220 insertions(+), 3 deletions(-)
---
base-commit: c768c054f1a722d4b973ddab81ee580b7e24a891
change-id: 20230515-topic-rb2-bits-22e685b4f48d
Best regards,
--
Konrad Dybcio <[email protected]>
Add the three LEDs (blue/yellow/green) connected to TLMM GPIOs.
Signed-off-by: Konrad Dybcio <[email protected]>
---
arch/arm64/boot/dts/qcom/qrb4210-rb2.dts | 36 ++++++++++++++++++++++++++++++--
1 file changed, 34 insertions(+), 2 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts b/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
index 9b539720f05d..eeee268ebfe2 100644
--- a/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
+++ b/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
@@ -5,6 +5,7 @@
/dts-v1/;
+#include <dt-bindings/leds/common.h>
#include "sm4250.dtsi"
/ {
@@ -30,6 +31,38 @@ hdmi_con: endpoint {
};
};
+ leds {
+ compatible = "gpio-leds";
+
+ led-bt {
+ label = "blue:bt";
+ function = LED_FUNCTION_BLUETOOTH;
+ color = <LED_COLOR_ID_BLUE>;
+ gpios = <&tlmm 45 GPIO_ACTIVE_HIGH>;
+ linux,default-trigger = "bluetooth-power";
+ default-state = "off";
+ };
+
+ led-user0 {
+ label = "green:user0";
+ function = LED_FUNCTION_INDICATOR;
+ color = <LED_COLOR_ID_GREEN>;
+ gpios = <&tlmm 52 GPIO_ACTIVE_HIGH>;
+ linux,default-trigger = "none";
+ default-state = "off";
+ panic-indicator;
+ };
+
+ led-wlan {
+ label = "yellow:wlan";
+ function = LED_FUNCTION_WLAN;
+ color = <LED_COLOR_ID_YELLOW>;
+ gpios = <&tlmm 47 GPIO_ACTIVE_HIGH>;
+ linux,default-trigger = "phy0tx";
+ default-state = "off";
+ };
+ };
+
vreg_hdmi_out_1p2: regulator-hdmi-out-1p2 {
compatible = "regulator-fixed";
regulator-name = "VREG_HDMI_OUT_1P2";
@@ -385,8 +418,7 @@ &sleep_clk {
};
&tlmm {
- gpio-reserved-ranges = <43 2>, <47 1>,
- <49 1>, <52 1>, <54 1>,
+ gpio-reserved-ranges = <43 2>, <49 1>, <54 1>,
<56 3>, <61 2>, <64 1>,
<68 1>, <72 8>, <96 1>;
--
2.40.1
The RB2 has a HDMI output via an LT9611UXC bridge. Set it up.
Signed-off-by: Konrad Dybcio <[email protected]>
---
arch/arm64/boot/dts/qcom/qrb4210-rb2.dts | 88 +++++++++++++++++++++++++++++++-
1 file changed, 87 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts b/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
index 80c6b59c8ff6..9b539720f05d 100644
--- a/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
+++ b/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
@@ -19,6 +19,17 @@ chosen {
stdout-path = "serial0:115200n8";
};
+ hdmi-connector {
+ compatible = "hdmi-connector";
+ type = "a";
+
+ port {
+ hdmi_con: endpoint {
+ remote-endpoint = <<9611_out>;
+ };
+ };
+ };
+
vreg_hdmi_out_1p2: regulator-hdmi-out-1p2 {
compatible = "regulator-fixed";
regulator-name = "VREG_HDMI_OUT_1P2";
@@ -109,6 +120,68 @@ &eud {
status = "okay";
};
+&gpi_dma0 {
+ status = "okay";
+};
+
+&i2c2 {
+ clock-frequency = <400000>;
+ status = "okay";
+
+ lt9611_codec: hdmi-bridge@2b {
+ compatible = "lontium,lt9611uxc";
+ reg = <0x2b>;
+ interrupts-extended = <&tlmm 46 IRQ_TYPE_EDGE_FALLING>;
+ reset-gpios = <&tlmm 41 GPIO_ACTIVE_HIGH>;
+
+ vdd-supply = <&vreg_hdmi_out_1p2>;
+ vcc-supply = <<9611_3v3>;
+
+ pinctrl-0 = <<9611_irq_pin <9611_rst_pin>;
+ pinctrl-names = "default";
+ #sound-dai-cells = <1>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ lt9611_a: endpoint {
+ remote-endpoint = <&mdss_dsi0_out>;
+ };
+ };
+
+ port@2 {
+ reg = <2>;
+
+ lt9611_out: endpoint {
+ remote-endpoint = <&hdmi_con>;
+ };
+ };
+ };
+ };
+};
+
+&mdss {
+ status = "okay";
+};
+
+&mdss_dsi0 {
+ vdda-supply = <&vreg_l18a_1p232>;
+ status = "okay";
+};
+
+&mdss_dsi0_out {
+ remote-endpoint = <<9611_a>;
+ data-lanes = <0 1 2 3>;
+};
+
+&mdss_dsi0_phy {
+ status = "okay";
+};
+
&qupv3_id_0 {
status = "okay";
};
@@ -312,11 +385,24 @@ &sleep_clk {
};
&tlmm {
- gpio-reserved-ranges = <37 5>, <43 2>, <47 1>,
+ gpio-reserved-ranges = <43 2>, <47 1>,
<49 1>, <52 1>, <54 1>,
<56 3>, <61 2>, <64 1>,
<68 1>, <72 8>, <96 1>;
+ lt9611_rst_pin: lt9611-rst-state {
+ pins = "gpio41";
+ function = "gpio";
+ input-disable;
+ output-high;
+ };
+
+ lt9611_irq_pin: lt9611-irq-state {
+ pins = "gpio46";
+ function = "gpio";
+ bias-disable;
+ };
+
sdc2_card_det_n: sd-card-det-n-state {
pins = "gpio88";
function = "gpio";
--
2.40.1
Enable the Microchip mcp2518fd hosted on the SPI5 bus.
Signed-off-by: Konrad Dybcio <[email protected]>
---
arch/arm64/boot/dts/qcom/qrb4210-rb2.dts | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts b/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
index 224c96bba35f..e2e82dd83c55 100644
--- a/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
+++ b/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
@@ -20,6 +20,14 @@ chosen {
stdout-path = "serial0:115200n8";
};
+ clocks {
+ clk40M: can-clk {
+ compatible = "fixed-clock";
+ clock-frequency = <40000000>;
+ #clock-cells = <0>;
+ };
+ };
+
hdmi-connector {
compatible = "hdmi-connector";
type = "a";
@@ -415,6 +423,20 @@ &sdhc_2 {
status = "okay";
};
+&spi5 {
+ status = "okay";
+
+ can@0 {
+ compatible = "microchip,mcp2518fd";
+ reg = <0>;
+ interrupts-extended = <&tlmm 39 IRQ_TYPE_LEVEL_LOW>;
+ clocks = <&clk40M>;
+ spi-max-frequency = <10000000>;
+ vdd-supply = <&vdc_5v>;
+ xceiver-supply = <&vdc_5v>;
+ };
+};
+
&sleep_clk {
clock-frequency = <32000>;
};
--
2.40.1
The MMC core calls regulator_set_load on VQMMC, enable loadsetting to
make it effective.
Fixes: 8d58a8c0d930 ("arm64: dts: qcom: Add base qrb4210-rb2 board dts")
Signed-off-by: Konrad Dybcio <[email protected]>
---
arch/arm64/boot/dts/qcom/qrb4210-rb2.dts | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts b/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
index eeee268ebfe2..224c96bba35f 100644
--- a/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
+++ b/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
@@ -283,6 +283,7 @@ vreg_l4a_0p9: l4 {
vreg_l5a_2p96: l5 {
regulator-min-microvolt = <1648000>;
regulator-max-microvolt = <3056000>;
+ regulator-allow-set-load;
};
vreg_l6a_0p6: l6 {
@@ -313,6 +314,7 @@ vreg_l10a_1p8: l10 {
vreg_l11a_1p8: l11 {
regulator-min-microvolt = <1704000>;
regulator-max-microvolt = <1952000>;
+ regulator-allow-set-load;
};
vreg_l12a_1p8: l12 {
--
2.40.1
On 15/05/2023 13:04, Konrad Dybcio wrote:
> The RB2 has a HDMI output via an LT9611UXC bridge. Set it up.
>
> Signed-off-by: Konrad Dybcio <[email protected]>
> ---
> arch/arm64/boot/dts/qcom/qrb4210-rb2.dts | 88 +++++++++++++++++++++++++++++++-
> 1 file changed, 87 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts b/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
> index 80c6b59c8ff6..9b539720f05d 100644
> --- a/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
> +++ b/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
[...]
> @@ -312,11 +385,24 @@ &sleep_clk {
> };
>
> &tlmm {
> - gpio-reserved-ranges = <37 5>, <43 2>, <47 1>,
> + gpio-reserved-ranges = <43 2>, <47 1>,
Is this intentional?
> <49 1>, <52 1>, <54 1>,
> <56 3>, <61 2>, <64 1>,
> <68 1>, <72 8>, <96 1>;
>
> + lt9611_rst_pin: lt9611-rst-state {
> + pins = "gpio41";
> + function = "gpio";
> + input-disable;
> + output-high;
> + };
> +
> + lt9611_irq_pin: lt9611-irq-state {
> + pins = "gpio46";
> + function = "gpio";
> + bias-disable;
> + };
> +
> sdc2_card_det_n: sd-card-det-n-state {
> pins = "gpio88";
> function = "gpio";
>
--
Kind Regards,
Caleb (they/them)
On 15.05.2023 17:57, Caleb Connolly wrote:
>
>
> On 15/05/2023 13:04, Konrad Dybcio wrote:
>> The RB2 has a HDMI output via an LT9611UXC bridge. Set it up.
>>
>> Signed-off-by: Konrad Dybcio <[email protected]>
>> ---
>> arch/arm64/boot/dts/qcom/qrb4210-rb2.dts | 88 +++++++++++++++++++++++++++++++-
>> 1 file changed, 87 insertions(+), 1 deletion(-)
>>
>> diff --git a/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts b/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
>> index 80c6b59c8ff6..9b539720f05d 100644
>> --- a/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
>> +++ b/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
>
> [...]
>> @@ -312,11 +385,24 @@ &sleep_clk {
>> };
>>
>> &tlmm {
>> - gpio-reserved-ranges = <37 5>, <43 2>, <47 1>,
>> + gpio-reserved-ranges = <43 2>, <47 1>,
>
> Is this intentional?
Yes, notice how this included the reset pin. These pins are
not even really reserved, there's no FPC on this board..
Konrad
>> <49 1>, <52 1>, <54 1>,
>> <56 3>, <61 2>, <64 1>,
>> <68 1>, <72 8>, <96 1>;
>>
>> + lt9611_rst_pin: lt9611-rst-state {
>> + pins = "gpio41";
>> + function = "gpio";
>> + input-disable;
>> + output-high;
>> + };
>> +
>> + lt9611_irq_pin: lt9611-irq-state {
>> + pins = "gpio46";
>> + function = "gpio";
>> + bias-disable;
>> + };
>> +
>> sdc2_card_det_n: sd-card-det-n-state {
>> pins = "gpio88";
>> function = "gpio";
>>
>
On Mon, 15 May 2023 at 16:04, Konrad Dybcio <[email protected]> wrote:
>
> The RB2 has a HDMI output via an LT9611UXC bridge. Set it up.
>
> Signed-off-by: Konrad Dybcio <[email protected]>
Reviewed-by: Dmitry Baryshkov <[email protected]>
Tested-by: Dmitry Baryshkov <[email protected]>
> ---
> arch/arm64/boot/dts/qcom/qrb4210-rb2.dts | 88 +++++++++++++++++++++++++++++++-
> 1 file changed, 87 insertions(+), 1 deletion(-)
--
With best wishes
Dmitry
On 5/15/23 6:34 PM, Konrad Dybcio wrote:
> This short series brings a couple of fixes and features
> (such as display out) for the QTI RB2 board. Similar patches
> for the RB1 should be expected soon.
>
> Depends on and based atop (in order):
>
> [email protected]
> [email protected]
> [email protected]
>
> Signed-off-by: Konrad Dybcio <[email protected]>
> ---
> Konrad Dybcio (5):
> arm64: dts: qcom: qrb4210-rb2: Describe fixed regulators
> arm64: dts: qcom: qrb4210-rb2: Enable display out
> arm64: dts: qcom: qrb4210-rb2: Add GPIO LEDs
> arm64: dts: qcom: qrb4210-rb2: Enable load setting on SDHCI VQMMC
> arm64: dts: qcom: qrb4210-rb2: Enable CAN bus controller
>
> arch/arm64/boot/dts/qcom/qrb4210-rb2.dts | 223 ++++++++++++++++++++++++++++++-
> 1 file changed, 220 insertions(+), 3 deletions(-)
> ---
> base-commit: c768c054f1a722d4b973ddab81ee580b7e24a891
> change-id: 20230515-topic-rb2-bits-22e685b4f48d
>
> Best regards,
For the series:
Reviewed-and-Tested-by: Bhupesh Sharma <[email protected]>
Thanks.
On Mon, May 15, 2023 at 03:04:14PM +0200, Konrad Dybcio wrote:
> Add the three LEDs (blue/yellow/green) connected to TLMM GPIOs.
>
> Signed-off-by: Konrad Dybcio <[email protected]>
> ---
> arch/arm64/boot/dts/qcom/qrb4210-rb2.dts | 36 ++++++++++++++++++++++++++++++--
> 1 file changed, 34 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts b/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
> index 9b539720f05d..eeee268ebfe2 100644
> --- a/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
> +++ b/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
> @@ -5,6 +5,7 @@
>
> /dts-v1/;
>
> +#include <dt-bindings/leds/common.h>
> #include "sm4250.dtsi"
>
> / {
> @@ -30,6 +31,38 @@ hdmi_con: endpoint {
> };
> };
>
> + leds {
> + compatible = "gpio-leds";
> +
> + led-bt {
> + label = "blue:bt";
> + function = LED_FUNCTION_BLUETOOTH;
> + color = <LED_COLOR_ID_BLUE>;
> + gpios = <&tlmm 45 GPIO_ACTIVE_HIGH>;
> + linux,default-trigger = "bluetooth-power";
> + default-state = "off";
> + };
> +
> + led-user0 {
> + label = "green:user0";
> + function = LED_FUNCTION_INDICATOR;
> + color = <LED_COLOR_ID_GREEN>;
> + gpios = <&tlmm 52 GPIO_ACTIVE_HIGH>;
> + linux,default-trigger = "none";
> + default-state = "off";
> + panic-indicator;
> + };
> +
> + led-wlan {
> + label = "yellow:wlan";
> + function = LED_FUNCTION_WLAN;
> + color = <LED_COLOR_ID_YELLOW>;
> + gpios = <&tlmm 47 GPIO_ACTIVE_HIGH>;
> + linux,default-trigger = "phy0tx";
> + default-state = "off";
> + };
> + };
> +
> vreg_hdmi_out_1p2: regulator-hdmi-out-1p2 {
> compatible = "regulator-fixed";
> regulator-name = "VREG_HDMI_OUT_1P2";
> @@ -385,8 +418,7 @@ &sleep_clk {
> };
>
> &tlmm {
> - gpio-reserved-ranges = <43 2>, <47 1>,
> - <49 1>, <52 1>, <54 1>,
> + gpio-reserved-ranges = <43 2>, <49 1>, <54 1>,
How come pin 49 becomes inaccessible here? Was this intended for the
previous patch?
Regards,
Bjorn
> <56 3>, <61 2>, <64 1>,
> <68 1>, <72 8>, <96 1>;
>
>
> --
> 2.40.1
>
On 18.05.2023 04:13, Bjorn Andersson wrote:
> On Mon, May 15, 2023 at 03:04:14PM +0200, Konrad Dybcio wrote:
>> Add the three LEDs (blue/yellow/green) connected to TLMM GPIOs.
>>
>> Signed-off-by: Konrad Dybcio <[email protected]>
>> ---
>> arch/arm64/boot/dts/qcom/qrb4210-rb2.dts | 36 ++++++++++++++++++++++++++++++--
>> 1 file changed, 34 insertions(+), 2 deletions(-)
>>
>> diff --git a/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts b/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
>> index 9b539720f05d..eeee268ebfe2 100644
>> --- a/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
>> +++ b/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
>> @@ -5,6 +5,7 @@
>>
>> /dts-v1/;
>>
>> +#include <dt-bindings/leds/common.h>
>> #include "sm4250.dtsi"
>>
>> / {
>> @@ -30,6 +31,38 @@ hdmi_con: endpoint {
>> };
>> };
>>
>> + leds {
>> + compatible = "gpio-leds";
>> +
>> + led-bt {
>> + label = "blue:bt";
>> + function = LED_FUNCTION_BLUETOOTH;
>> + color = <LED_COLOR_ID_BLUE>;
>> + gpios = <&tlmm 45 GPIO_ACTIVE_HIGH>;
>> + linux,default-trigger = "bluetooth-power";
>> + default-state = "off";
>> + };
>> +
>> + led-user0 {
>> + label = "green:user0";
>> + function = LED_FUNCTION_INDICATOR;
>> + color = <LED_COLOR_ID_GREEN>;
>> + gpios = <&tlmm 52 GPIO_ACTIVE_HIGH>;
>> + linux,default-trigger = "none";
>> + default-state = "off";
>> + panic-indicator;
>> + };
>> +
>> + led-wlan {
>> + label = "yellow:wlan";
>> + function = LED_FUNCTION_WLAN;
>> + color = <LED_COLOR_ID_YELLOW>;
>> + gpios = <&tlmm 47 GPIO_ACTIVE_HIGH>;
>> + linux,default-trigger = "phy0tx";
>> + default-state = "off";
>> + };
>> + };
>> +
>> vreg_hdmi_out_1p2: regulator-hdmi-out-1p2 {
>> compatible = "regulator-fixed";
>> regulator-name = "VREG_HDMI_OUT_1P2";
>> @@ -385,8 +418,7 @@ &sleep_clk {
>> };
>>
>> &tlmm {
>> - gpio-reserved-ranges = <43 2>, <47 1>,
>> - <49 1>, <52 1>, <54 1>,
>> + gpio-reserved-ranges = <43 2>, <49 1>, <54 1>,
>
> How come pin 49 becomes inaccessible here? Was this intended for the
> previous patch?
It doesn't, the "remove" part of the diff is 2-lines.
This reserved-ranges is totally bogus since introduction.. I can send
a separate patch squaring it out.
Konrad
>
> Regards,
> Bjorn
>
>> <56 3>, <61 2>, <64 1>,
>> <68 1>, <72 8>, <96 1>;
>>
>>
>> --
>> 2.40.1
>>
On Mon, 15 May 2023 15:04:11 +0200, Konrad Dybcio wrote:
> This short series brings a couple of fixes and features
> (such as display out) for the QTI RB2 board. Similar patches
> for the RB1 should be expected soon.
>
> Depends on and based atop (in order):
>
> [email protected]
> [email protected]
> [email protected]
>
> [...]
Applied, thanks!
[1/5] arm64: dts: qcom: qrb4210-rb2: Describe fixed regulators
commit: e130889286881e561a2904c5da44c3cbf5d5cd79
[2/5] arm64: dts: qcom: qrb4210-rb2: Enable display out
commit: f7b01e07e89ced85975345b12cb63538ee07e91c
[3/5] arm64: dts: qcom: qrb4210-rb2: Add GPIO LEDs
commit: fd888ed763415c31cf0ea7f044bd6cf429832f0e
[4/5] arm64: dts: qcom: qrb4210-rb2: Enable load setting on SDHCI VQMMC
commit: 42be4edd8910a5f998a5bd993f42ea7112dd8f80
[5/5] arm64: dts: qcom: qrb4210-rb2: Enable CAN bus controller
commit: 34a7cdf075410c30ca88c85627520dda74d3bd30
Best regards,
--
Bjorn Andersson <[email protected]>