QCOM 8976 porting SPI device

最近porting一个fingerprint的spi设备到板子上,看了一下线路图,gpio8-gpio11,查了一下80-NM328里的p26说gpio8,9是BLSP 3
但是再看SP80-NU154-6SC发现没有BLSP 3的address,所以重新看HW给的gpio.exl,发现HW把BLSP 1的QUP 3非常像,于是就试一试

地址是0x78B7000
首先得新建一个SPI bus
@@ -51,6 +51,7 @@
                sdhc1 = &sdhc_1; /* SDC1 eMMC slot */
                sdhc2 = &sdhc_2; /* SDC2 SD card slot */
                spi0 = &spi_0;
+                spi2 = &spi_2;/*matthew_xuan*/
        };
 
        memory {
@@ -2041,6 +2042,31 @@
                qcom,master-id = <86>;
        };
 
+
+       spi_2: spi@0x78B7000 { /* BLSP1 QUP3 matthew_xuan*/
+               compatible = "qcom,spi-qup-v2";
+               reg-names = "spi_physical", "spi_bam_physical";
+               reg = <0x78B7000 0x600>,
+                     <0x7886000 0x1f000>;
+               interrupt-names = "spi_irq", "spi_bam_irq";
+               interrupts = <0 97 0>, <0 240 0>;  //SP80-NU154-6SC里define
+               spi-max-frequency = <19200000>;
+               pinctrl-names = "spi_default", "spi_sleep";
+               pinctrl-0 = <&spi2_default &spi2_cs2_active>; //自己到msm8976-pinctrl.dtsi加
+               pinctrl-1 = <&spi2_sleep &spi2_cs2_sleep>;  //自己到msm8976-pinctrl.dtsi加
+               clocks = <&clock_gcc clk_gcc_blsp1_ahb_clk>, 
+                        <&clock_gcc clk_gcc_blsp1_qup3_spi_apps_clk>; //到80-NU767-1的P84里的表格里看
+               clock-names = "iface_clk", "core_clk";
+               qcom,infinite-mode = <0>;
+               qcom,use-bam;
+               qcom,use-pinctrl;
+               qcom,ver-reg-exists;
+               qcom,bam-consumer-pipe-index = <8>;//到80-NU767-1的P84里的表格里看
+               qcom,bam-producer-pipe-index = <9>;
+               qcom,master-id = <86>;
+       };
+
定义那些gpio

 /*matthew_xuan*/
+             spi2_active {
+                       /* MOSI, MISO, CLK */
+                       qcom,pins = <&gp 8>, <&gp 9>, <&gp 11>;
+                       qcom,num-grp-pins = <3>;
+                       qcom,pin-func = <1>;
+                       label = "spi2-active";
+                       /* active state */
+                       spi2_default: spi2_default {
+                               drive-strength = <12>; /* 12 MA */
+                               bias-disable = <0>; /* No PULL */
+                       };
+               };
+
+               spi2_suspend {
+                       /* MOSI, MISO, CLK */
+                       qcom,pins = <&gp 8>, <&gp 9>, <&gp 11>;
+                       qcom,num-grp-pins = <3>;
+                       qcom,pin-func = <0>;
+                       label = "spi2-suspend";
+                       /* suspended state */
+                       spi2_sleep: spi2_sleep {
+                               drive-strength = <2>; /* 2 MA */
+                               bias-pull-down; /* PULL Down */
+                       };
+               };
+
+               spi2_cs0_active {
+                       /* CS */
+                       qcom,pins = <&gp 10>;
+                       qcom,num-grp-pins = <1>;
+                       qcom,pin-func = <1>;
+                       label = "spi2-cs2-active";
+                       spi2_cs2_active: cs2_active {
+                               drive-strength = <2>;
+                               bias-disable = <0>;
+                       };
+               };
+
+               spi2_cs0_suspend {
+                       /* CS */
+                       qcom,pins = <&gp 10>;
+                       qcom,num-grp-pins = <1>;
+                       qcom,pin-func = <0>;
+                       label = "spi2-cs2-suspend";
+                       spi2_cs2_sleep: cs2_sleep {
+                               drive-strength = <2>;
+                               bias-disable = <0>;
+                       };
+               };
+              /*matthew_xuan*/
+
+然后把device加进去
+&spi_2 { /* BLSP1 QUP3 */
+       validity@0 {
+               compatible = "validity,metallica";
+               reg = <0>;
+               interrupt-parent = <&msmgpio>;
+                interrupts = <106 0x8>;
+                spi-max-frequency = <4800000>;
+                rst-gpio = <&msmgpio 138 0>;
+               vdd-io-supply = <&pm8950_l6>;
+               /*vdd-phy-supply = <&pm8226_lvs1>;*/
+               
+               
+       };

+};

上面所有的spec都在我的下载里,欢迎下载




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值