Hi,
i’m trying to use the on-chip BLSP1’s low speed UART where the kernel source default is the high speed. i can now see the HSL1 device under /dev directory, but tested with the CRO and found no output even if i use echo command to send out data.
The following code i modified,
apq8016-sbc.dtsi:
/ {
aliases {
serial0 = &blsp1_uart1;
serial1 = &blsp1_uart2;
};
};
...
&blsp1_uart1 {
status = "ok";
};
&blsp1_uart2 {
status = "ok";
pinctrl-names = "default";
pinctrl-0 = <&uart_console_sleep>;
};
msm8916.dtsi:
/* blsp1_uart1: uart@78af000 {
compatible = "qcom,msm-hsuart-v14";
reg = <0x78af000 0x200>,
<0x7884000 0x23000>;
reg-names = "core_mem", "bam_mem";
interrupt-names = "core_irq", "bam_irq", "wakeup_irq";
#address-cells = <0>;
interrupt-parent = <&blsp1_uart1>;
interrupts = <0 1 2>;
#interrupt-cells = <1>;
interrupt-map-mask = <0xffffffff>;
interrupt-map = <0 &intc 0 107 0
1 &intc 0 238 0
2 &msm_gpio 1 0>;
qcom,bam-tx-ep-pipe-index = <0>;
qcom,bam-rx-ep-pipe-index = <1>;
qcom,master-id = <86>;
clocks = <&clock_gcc clk_gcc_blsp1_uart1_apps_clk>,
<&clock_gcc clk_gcc_blsp1_ahb_clk>;
clock-names = "core_clk", "iface_clk";
qcom,msm-bus,name = "blsp1_uart1";
qcom,msm-bus,num-cases = <2>;
qcom,msm-bus,num-paths = <1>;
qcom,msm-bus,vectors-KBps =
<86 512 0 0>,
<86 512 500 800>;
pinctrl-names = "sleep", "default";
pinctrl-0 = <&hsuart_sleep>;
pinctrl-1 = <&hsuart_active>;
status = "disabled";
// };
//
// blsp1_uart2: serial@78b0000 {
};*/
blsp1_uart1: serial@78b0000 {
compatible = "qcom,msm-lsuart-v14";
reg = <0x78b0000 0x200>;
interrupts = <0 108 0>;
status = "disabled";
clocks = <&clock_gcc clk_gcc_blsp1_uart2_apps_clk>,
<&clock_gcc clk_gcc_blsp1_ahb_clk>;
clock-names = "core_clk", "iface_clk";
};
blsp1_uart2: uart@78af000 {
compatible = "qcom,msm-lsuart-v14";
reg = <0x78af000 0x200>;
interrupts = <0 107 0>;
status = "disabled";
clocks = <&clock_gcc clk_gcc_blsp1_uart1_apps_clk>,
<&clock_gcc clk_gcc_blsp1_ahb_clk>;
clock-names = "core_clk", "iface_clk";
};
msm8916-pinctrl.dtsi:
pmx-uartconsole {
qcom,pins = <&gp 4>, <&gp 5>;
qcom,num-grp-pins = <2>;
qcom,pin-func = <2>;
label = "uart-console";
uart_console_sleep: uart-console {
drive-strength = <2>;
bias-pull-down;
};
};
blsp1_uart2 {
qcom,pins = <&gp 0>, <&gp 1>;
qcom,num-grp-pins = <2>;
qcom,pin-func = <2>;
label = "uart-blsp-2";
uart_blsp2_sleep: uart-blsp-2 {
drive-strength = <2>;
bias-pull-down;
};
};
/* blsp1_uart1_active {
qcom,pins = <&gp 0>, <&gp 1>, <&gp 2>, <&gp 3>;
qcom,num-grp-pins = <4>;
qcom,pin-func = <2>;
label = "blsp1_uart1_active";
hsuart_active: default {
drive-strength = <16>;
bias-disable;
};
};
*/
blsp1_uart1_sleep {
qcom,pins = <&gp 0>, <&gp 1>, <&gp 2>, <&gp 3>;
qcom,num-grp-pins = <4>;
qcom,pin-func = <0>;
label = "blsp1_uart1_sleep";
hsuart_sleep: sleep {
drive-strength = <2>;
bias-disable;
};
};