5454ty 发表于 2015-1-27 18:02:00

如何修改代码,实现GPIO引脚的复用功能

举个例子,如下图,
data:image/png;base64,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

比如说现在的SPI0_CSN0,我也不知道原来内核是把他当作普通的GPIO用还是当作特殊功能引脚用的,但是现在我想把它变成一个普通的GPIO来使用,我改如何修改它,让它变成普通的GPIO来使用.

请高手指点

5454ty 发表于 2015-1-27 18:05:25

图好像没有看到,我再传一次图,

zhansb 发表于 2015-1-27 18:20:24

wiki讲到了:http://wiki.t-firefly.com/index.php/Firefly-RK3288/GPIO

214740484 发表于 2016-7-27 10:09:57

谢谢!!!!

lrghl88 发表于 2016-9-8 14:02:10

thanks very much

凉茶k 发表于 2016-9-19 19:53:31

rockchip,pull = <VALUE_PULL_DISABLE>;rockchip,drive = <VALUE_DRV_DEFAULT>;这两个属性代表什么意思?

zhansb 发表于 2016-9-20 09:41:02

一个是上下拉配置,一个是IO驱动能力配置

crg375658266 发表于 2016-9-20 10:21:51

QQQQQQQ

凉茶k 发表于 2016-9-29 09:38:54

static int rockchip_i2c_probe(struct platform_device *pdev){        struct rockchip_i2c *i2c = NULL;        struct resource *res;        struct device_node *np = pdev->dev.of_node;        int ret;// ...                i2c->sda_gpio = of_get_gpio(np, 0);                if (!gpio_is_valid(i2c->sda_gpio)) {                        dev_err(&pdev->dev, "sda gpio is invalid\n");                        return -EINVAL;                }                ret = devm_gpio_request(&pdev->dev, i2c->sda_gpio, dev_name(&i2c->adap.dev));                if (ret) {                        dev_err(&pdev->dev, "failed to request sda gpio\n");                        return ret;                }                i2c->scl_gpio = of_get_gpio(np, 1);                if (!gpio_is_valid(i2c->scl_gpio)) {                        dev_err(&pdev->dev, "scl gpio is invalid\n");                        return -EINVAL;                }                ret = devm_gpio_request(&pdev->dev, i2c->scl_gpio, dev_name(&i2c->adap.dev));                if (ret) {                        dev_err(&pdev->dev, "failed to request scl gpio\n");                        return ret;                }                i2c->gpio_state = pinctrl_lookup_state(i2c->dev->pins->p, "gpio");                if (IS_ERR(i2c->gpio_state)) {                        dev_err(&pdev->dev, "no gpio pinctrl state\n");                        return PTR_ERR(i2c->gpio_state);                }                pinctrl_select_state(i2c->dev->pins->p, i2c->gpio_state);                gpio_direction_input(i2c->sda_gpio);                gpio_direction_input(i2c->scl_gpio);                pinctrl_select_state(i2c->dev->pins->p, i2c->dev->pins->default_state);// ...}
这个函数中为什么先去申请gpio,然后再设置pin脚为gpio功能呢?我理解应该先去设置pin脚为gpio后,才能去申请gpio然后对gpio进行操作。
那请问下,如何才能把引脚复用改成i2c呢?


wx_Roman_rRewE 发表于 2021-10-22 17:59:03

大佬们    链接打不开呀,一样的需求问题
页: [1] 2
查看完整版本: 如何修改代码,实现GPIO引脚的复用功能