g-sensor bmc156数据传输流程(compass部分)

刚入门的小白第一次写博客,望各路大神指点
一、硬件电路
bmc芯片电路
连接到主芯片的管脚

二、设备树

Msm8909.dtsi     Master
i2c_1: i2c@78b5000 { /* BLSP1 QUP1 */
        compatible = "qcom,i2c-msm-v2";
        #address-cells = <1>;
        #size-cells = <0>;
        reg-names = "qup_phys_addr";
        reg = <0x78b5000 0x1000>;
        interrupt-names = "qup_irq";
        interrupts = <0 95 0>;
        clocks = <&clock_gcc clk_gcc_blsp1_ahb_clk>,
                 <&clock_gcc clk_gcc_blsp1_qup1_i2c_apps_clk>;
        clock-names = "iface_clk", "core_clk";
        qcom,clk-freq-out = <100000>;
        qcom,clk-freq-in  = <19200000>;
        pinctrl-names = "i2c_active", "i2c_sleep";
        pinctrl-0 = <&i2c_1_active>;
        pinctrl-1 = <&i2c_1_sleep>;
        qcom,noise-rjct-scl = <0>;
        qcom,noise-rjct-sda = <0>;
        dmas = <&dma_blsp1 4 64 0x20000020 0x20>,
            <&dma_blsp1 5  32 0x20000020 0x20>;
        dma-names = "tx", "rx";
        qcom,master-id = <86>;
    };
Msm8909-pinctrl.dtsi
pmx_i2c_1 {  /* CLK, DATA */
            qcom,pins = <&gp 6>, <&gp 7>;
            qcom,num-grp-pins = <2>;
            qcom,pin-func = <3>;
            label = "pmx_i2c_1";
            i2c_1_active: i2c_1_active {
                drive-strength = <2>; /* 2 MA */
                bias-disable = <0>; /* No PULL */
            };
            i2c_1_sleep: i2c_1_sleep {
                drive-strength = <2>; /* 2 MA */
                bias-pull-down; /* PULL DOWN */
            };
        };
Msm8909-Q9-mtp.dtsi client
    bosch@10 { /* Accelerometer sensor */
        compatible = "bosch,bma2x2";
        reg = <0x10>;
        vdd-supply = <&pm8909_l17>;
        vio-supply = <&pm8909_l6>;
    };
    bosch@12 { /* Magnetic field sensor */
        compatible = "bosch,bmm050";
        reg = <0x12>;
        vdd-supply = <&pm8909_l17>;
        vio-supply = <&pm8909_l6>;
    };

三、 Makefile 文件
确保所有添加的驱动文件都包含在Makefile中,会被编译进去

obj-$(CONFIG_SENSORS_BMA2X2)   += bma2x2_driver.o
ccflags-y += -DBMA2X2_SENSOR_IDENTIFICATION_ENABLE
obj-$(CONFIG_SENSORS_BMM050)    += bmm050_driver.o bmm050.o
ccflags-y += -DBMM_USE_BASIC_I2C_FUNC -DCONFIG_BMM_USE_PLATFORM_DATA

四、 Config文件

config SENSORS_BMA2X2
    tristate "BMA255/BMA250E/BMA222E/BMA280 acceleration sensor support"
    depends on I2C
    help
      If you say yes here you get support for Bosch Sensortec's
      acceleration sensors BMA255/
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值