Skip to content

Commit 7f8bcc0

Browse files
konradybcioandersson
authored andcommitted
arm64: dts: qcom: msm8992: Add BLSP2_UART2 and I2C nodes
Add support for I2C to enable support for peripherals such as touchscreens or sensors. Also add BLSP_UART2 interface. Please note that the naming scheme follows downstream and as abominable as it is, that's what we get. Signed-off-by: Konrad Dybcio <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Bjorn Andersson <[email protected]>
1 parent ce13edf commit 7f8bcc0

File tree

1 file changed

+153
-0
lines changed

1 file changed

+153
-0
lines changed

arch/arm64/boot/dts/qcom/msm8992.dtsi

Lines changed: 153 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -272,6 +272,101 @@
272272
status = "disabled";
273273
};
274274

275+
blsp_i2c2: i2c@f9924000 {
276+
compatible = "qcom,i2c-qup-v2.2.1";
277+
reg = <0xf9924000 0x500>;
278+
interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
279+
clocks = <&gcc GCC_BLSP1_AHB_CLK>,
280+
<&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>;
281+
clock-names = "iface", "core";
282+
clock-frequency = <400000>;
283+
pinctrl-names = "default", "sleep";
284+
pinctrl-0 = <&i2c2_default>;
285+
pinctrl-1 = <&i2c2_sleep>;
286+
#address-cells = <1>;
287+
#size-cells = <0>;
288+
status = "disabled";
289+
};
290+
291+
/* Somebody was very creative with their numbering scheme downstream... */
292+
293+
blsp_i2c13: i2c@f9927000 {
294+
compatible = "qcom,i2c-qup-v2.2.1";
295+
reg = <0xf9927000 0x500>;
296+
interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
297+
clocks = <&gcc GCC_BLSP1_AHB_CLK>,
298+
<&gcc GCC_BLSP1_QUP5_I2C_APPS_CLK>;
299+
clock-names = "iface", "core";
300+
clock-frequency = <400000>;
301+
pinctrl-names = "default", "sleep";
302+
pinctrl-0 = <&i2c13_default>;
303+
pinctrl-1 = <&i2c13_sleep>;
304+
#address-cells = <1>;
305+
#size-cells = <0>;
306+
status = "disabled";
307+
};
308+
309+
blsp_i2c6: i2c@f9928000 {
310+
compatible = "qcom,i2c-qup-v2.2.1";
311+
reg = <0xf9928000 0x500>;
312+
interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
313+
clocks = <&gcc GCC_BLSP1_AHB_CLK>,
314+
<&gcc GCC_BLSP1_QUP6_I2C_APPS_CLK>;
315+
clock-names = "iface", "core";
316+
clock-frequency = <400000>;
317+
pinctrl-names = "default", "sleep";
318+
pinctrl-0 = <&i2c6_default>;
319+
pinctrl-1 = <&i2c6_sleep>;
320+
#address-cells = <1>;
321+
#size-cells = <0>;
322+
status = "disabled";
323+
};
324+
325+
blsp2_uart2: serial@f995e000 {
326+
compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
327+
reg = <0xf995e000 0x1000>;
328+
interrupt = <GIC_SPI 146 IRQ_TYPE_LEVEL_LOW>;
329+
clock-names = "core", "iface";
330+
clocks = <&gcc GCC_BLSP2_UART2_APPS_CLK>,
331+
<&gcc GCC_BLSP2_AHB_CLK>;
332+
pinctrl-names = "default", "sleep";
333+
pinctrl-0 = <&blsp2_uart2_default>;
334+
pinctrl-1 = <&blsp2_uart2_sleep>;
335+
status = "disabled";
336+
};
337+
338+
blsp_i2c7: i2c@f9963000 {
339+
compatible = "qcom,i2c-qup-v2.2.1";
340+
reg = <0xf9963000 0x500>;
341+
interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
342+
clocks = <&gcc GCC_BLSP2_AHB_CLK>,
343+
<&gcc GCC_BLSP2_QUP1_I2C_APPS_CLK>;
344+
clock-names = "iface", "core";
345+
clock-frequency = <400000>;
346+
pinctrl-names = "default", "sleep";
347+
pinctrl-0 = <&i2c7_default>;
348+
pinctrl-1 = <&i2c7_sleep>;
349+
#address-cells = <1>;
350+
#size-cells = <0>;
351+
status = "disabled";
352+
};
353+
354+
blsp_i2c5: i2c@f9967000 {
355+
compatible = "qcom,i2c-qup-v2.2.1";
356+
reg = <0xf9967000 0x500>;
357+
interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
358+
clocks = <&gcc GCC_BLSP2_AHB_CLK>,
359+
<&gcc GCC_BLSP2_QUP5_I2C_APPS_CLK>;
360+
clock-names = "iface", "core";
361+
clock-frequency = <100000>;
362+
pinctrl-names = "default", "sleep";
363+
pinctrl-0 = <&i2c5_default>;
364+
pinctrl-1 = <&i2c5_sleep>;
365+
#address-cells = <1>;
366+
#size-cells = <0>;
367+
status = "disabled";
368+
};
369+
275370
gcc: clock-controller@fc400000 {
276371
compatible = "qcom,gcc-msm8994";
277372
#clock-cells = <1>;
@@ -337,6 +432,20 @@
337432
bias-pull-down;
338433
};
339434

435+
blsp2_uart2_default: blsp2-uart2-default {
436+
function = "blsp_uart8";
437+
pins = "gpio45", "gpio46", "gpio47", "gpio48";
438+
drive-strength = <16>;
439+
bias-disable;
440+
};
441+
442+
blsp2_uart2_sleep: blsp2-uart2-sleep {
443+
function = "gpio";
444+
pins = "gpio45", "gpio46", "gpio47", "gpio48";
445+
drive-strength = <2>;
446+
bias-pull-down;
447+
};
448+
340449
sdc1_clk_on: clk-on {
341450
pins = "sdc1_clk";
342451
bias-disable;
@@ -397,6 +506,21 @@
397506
bias-disable;
398507
};
399508

509+
i2c5_default: i2c5-default {
510+
/* Don't be fooled! Nobody knows the reason why though... */
511+
function = "blsp_i2c11";
512+
pins = "gpio83", "gpio84";
513+
drive-strength = <2>;
514+
bias-disable;
515+
};
516+
517+
i2c5_sleep: i2c5-sleep {
518+
function = "gpio";
519+
pins = "gpio83", "gpio84";
520+
drive-strength = <2>;
521+
bias-disable;
522+
};
523+
400524
i2c6_default: i2c6-default {
401525
function = "blsp_i2c6";
402526
pins = "gpio28", "gpio27";
@@ -410,6 +534,35 @@
410534
drive-strength = <2>;
411535
bias-disable;
412536
};
537+
538+
i2c7_default: i2c7-default {
539+
function = "blsp_i2c7";
540+
pins = "gpio43", "gpio44";
541+
drive-strength = <2>;
542+
bias-disable;
543+
};
544+
545+
i2c7_sleep: i2c7-sleep {
546+
function = "gpio";
547+
pins = "gpio43", "gpio44";
548+
drive-strength = <2>;
549+
bias-disable;
550+
};
551+
552+
i2c13_default: i2c13-default {
553+
/* Not a typo either. */
554+
function = "blsp_i2c5";
555+
pins = "gpio23", "gpio24";
556+
drive-strength = <2>;
557+
bias-disable;
558+
};
559+
560+
i2c13_sleep: i2c13-sleep {
561+
function = "gpio";
562+
pins = "gpio23", "gpio24";
563+
drive-strength = <2>;
564+
bias-disable;
565+
};
413566
};
414567
};
415568

0 commit comments

Comments
 (0)