zoukankan      html  css  js  c++  java
  • I.MX6 PMU MMPF0100 driver porting

    /**************************************************************************
     *                   I.MX6 MMPF0100 driver porting
     * 说明:
     *     虽然主板上有MMPF0100芯片,却没有注册设备并使用该PMU驱动,真是浪费,
     * 当然因为需要,所以将PMU的驱动注册起来。
     *  
     *                                        2016-3-31 深圳 南山平山村 曾剑锋
     *************************************************************************/
    
    参考文档:
        PF0100 PMIC drivers
            https://community.freescale.com/thread/308531
    
    一、cat arch/arm/mach-mx6/mx6q_sabresd_pmic_pfuze100.c
        ......
        #define PFUZE100_I2C_DEVICE_NAME  "pfuze100"
        /* 7-bit I2C bus slave address */
        #define PFUZE100_I2C_ADDR         (0x08)
        ......
        static struct i2c_board_info __initdata pfuze100_i2c_device = {
            I2C_BOARD_INFO(PFUZE100_I2C_DEVICE_NAME, PFUZE100_I2C_ADDR),
            .platform_data = &pfuze100_plat,
        };
        
        int __init mx6q_sabresd_init_pfuze100(u32 int_gpio)
        {
            pfuze100_i2c_device.irq = gpio_to_irq(int_gpio); /*update INT gpio */
            return i2c_register_board_info(1, &pfuze100_i2c_device, 1);
        }
    
    二、cat arch/arm/mach-mx6/board-mx6dl_sabresd.h
        static iomux_v3_cfg_t mx6dl_sabresd_pads[] = {
            ......
            MX6Q_PAD_GPIO_18__GPIO_7_13,
            ......
        }
    
    三、cat arch/arm/mach-mx6/board-mx6q_sabresd.c
        ......
        #define SABREAUTO_PMIC_INT      IMX_GPIO_NR(7, 13)
        ......
        /**
         * PMU MMPF0100 devices
         */
        ret = gpio_request(SABREAUTO_PMIC_INT, "pFUZE-int");
        if (ret) {
            printk(KERN_ERR"request pFUZE-int error!!
    ");
            return;
        } else {
            gpio_direction_input(SABREAUTO_PMIC_INT);
            mx6q_sabresd_init_pfuze100(SABREAUTO_PMIC_INT);
        }
        ......
    
    四、i2c-tools检查注册情况:
        root@android:/data/local # ./i2cdetect -r -y 1                                 
             0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
        00:          -- -- -- -- -- UU -- -- -- -- -- -- -- 
        10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
        20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
        30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
        40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
        50: -- -- -- -- -- -- -- -- -- -- -- -- -- UU -- -- 
        60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
        70: -- -- -- -- -- -- -- --                         
        root@android:/data/local # 
        
    五、查看驱动信息:
        root@android:/sys/bus/i2c/devices/1-0008 # cat pfuze_ctl                       
        reg000: 10
        reg001: 00
        reg002: 00
        reg003: 21
        reg004: 00
        reg005: 01
        reg006: 3f
        reg007: 01
        reg008: 00
        reg009: 7f
        reg010: 00
        reg011: 00
        reg012: 00
        reg013: 00
        reg014: 00
        reg015: 81
        reg016: 00
        reg017: 00
        reg018: 3f
        reg019: 00
        reg020: 00
        reg021: 00
        reg022: 00
        reg023: 00
        reg024: 00
        reg025: 00
        reg026: 00
        reg027: 10
        reg028: 00
        reg029: 00
        reg030: 00
        reg031: 00
        reg032: 2b
        reg033: 1b
        reg034: 2b
        reg035: 0c
        reg036: c4
        reg037: 00
        reg038: 00
        reg039: 00
        reg040: 00
        reg041: 00
        reg042: 00
        reg043: 00
        reg044: 00
        reg045: 00
        reg046: 2b
        reg047: 1b
        reg048: 2b
        reg049: 0c
        reg050: c4
        reg051: 00
        reg052: 00
        reg053: 72
        reg054: 72
        reg055: 72
        reg056: 0c
        reg057: d4
        reg058: 00
        reg059: 00
        reg060: 2c
        reg061: 2c
        reg062: 2c
        reg063: 0c
        reg064: e4
        reg065: 00
        reg066: 00
        reg067: 2c
        reg068: 2c
        reg069: 2c
        reg070: 0c
        reg071: e4
        reg072: 00
        reg073: 00
        reg074: 6f
        reg075: 6f
        reg076: 6f
        reg077: 0c
        reg078: f4
        reg079: 00
        reg080: 00
        reg081: 00
        reg082: 00
        reg083: 00
        reg084: 00
        reg085: 00
        reg086: 00
        reg087: 00
        reg088: 00
        reg089: 00
        reg090: 00
        reg091: 00
        reg092: 00
        reg093: 00
        reg094: 00
        reg095: 00
        reg096: 00
        reg097: 00
        reg098: 00
        reg099: 00
        reg100: 00
        reg101: 00
        reg102: 48
        reg103: 00
        reg104: 00
        reg105: 00
        reg106: 10
        reg107: 06
        reg108: 1e
        reg109: 1e
        reg110: 17
        reg111: 10
        reg112: 1a
        reg113: 1f
        reg114: 00
        reg115: 00
        reg116: 00
        reg117: 00
        reg118: 00
        reg119: 00
        reg120: 00
        reg121: 00
        reg122: 00
        reg123: 00
        reg124: 00
        reg125: 00
        reg126: 00
        reg127: 00
        
        root@android:/sys/bus/i2c/devices/1-0008 #
  • 相关阅读:
    SQL Server 2000 JDBC驱动的完整安装及测试说明
    Google 免费:搜索本站内容
    阳光下旅行
    佛说五百年的回眸才换来今生的擦肩而过
    在程序中调用“数据链接属性”对话框,产生连接字符串
    ╭☆难以割舍^_^就是牵挂☆╮
    java打包详解
    .NET 自定义实体类简介
    C#中方法的参数有四种类型
    DataSet操作数据库
  • 原文地址:https://www.cnblogs.com/zengjfgit/p/5342504.html
Copyright © 2011-2022 走看看