主题 : MINI210S添加pwm驱动的问题 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 35356
精华: 0
发帖: 19
金钱: 100 两
威望: 20 点
综合积分: 38 分
注册时间: 2010-12-30
最后登录: 2015-07-29
楼主  发表于: 2014-05-16 14:55

 MINI210S添加pwm驱动的问题

开发板:MINI210S
系统:android4.0

在原来的蜂鸣器驱动pwm.c基础上,想增加一路XpwmTOUT3输出pwm

#define DEVICE_NAME                "pwm2"


#define PWM_IOCTL_SET_FREQ        1
#define PWM_IOCTL_STOP            0

#define NS_IN_1HZ                (1000000000UL)


#define BUZZER_PWM_ID            3
#define BUZZER_PMW_GPIO            S5PV210_GPD0(3)

编译ko都正常

就是insmod的时候没有相应的pwm id

static int __init mini210_pwm_dev_init(void) {
    int ret;

    ret = gpio_request(BUZZER_PMW_GPIO, DEVICE_NAME);
    if (ret) {
        printk("request GPIO %d for pwm failed\n", BUZZER_PMW_GPIO);
        return ret;
    }

    gpio_set_value(BUZZER_PMW_GPIO, 0);
    s3c_gpio_cfgpin(BUZZER_PMW_GPIO, S3C_GPIO_OUTPUT);

    pwm4buzzer = pwm_request(BUZZER_PWM_ID, DEVICE_NAME);
    if (IS_ERR(pwm4buzzer)) {
        printk("request pwm %d for %s failed\n", BUZZER_PWM_ID, DEVICE_NAME);
                //这里打印出错误原因
        return -ENODEV;
    }

    pwm_stop();

    sema_init(&lock, 1);
    ret = misc_register(&mini210_misc_dev);

    printk(DEVICE_NAME "\tinitialized\n");

    return ret;
}


请高手指点
级别: 新手上路
UID: 35356
精华: 0
发帖: 19
金钱: 100 两
威望: 20 点
综合积分: 38 分
注册时间: 2010-12-30
最后登录: 2015-07-29
1楼  发表于: 2014-05-18 16:51
管理员支持一下呗,研究了好久都没搞定
级别: 新手上路
UID: 35356
精华: 0
发帖: 19
金钱: 100 两
威望: 20 点
综合积分: 38 分
注册时间: 2010-12-30
最后登录: 2015-07-29
2楼  发表于: 2014-05-19 11:02
顶起
^很多问题的背后都是简单的原因......
级别: 荣誉会员
UID: 34780
精华: 0
发帖: 1219
金钱: 6230 两
威望: 1246 点
综合积分: 2438 分
注册时间: 2010-12-21
最后登录: 2017-09-18
3楼  发表于: 2014-05-19 16:03
需要修改 mach-mini210.c 增加设备的注册,可在
    &s3c_device-timer[0],
的后面增加
    &s3c_device-timer[3],
试试