mirror of https://gitee.com/openkylin/linux.git
gpio: palmas: add dt support
Add of_device_id table for Palma GPIO to be enable the driver from DT file. The driver can be registered from DT file as: palmas: tps65913@58 { ::::::::::: palmas_gpio: palmas_gpio { compatible = "ti,palmas-gpio"; gpio-controller; #gpio-cells = <2>; }; }; Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com> Acked-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
parent
5e0dd40046
commit
5763318f56
|
@ -0,0 +1,27 @@
|
|||
Palmas GPIO controller bindings
|
||||
|
||||
Required properties:
|
||||
- compatible:
|
||||
- "ti,palams-gpio" for palma series of the GPIO controller
|
||||
- "ti,tps80036-gpio" for Palma series device TPS80036.
|
||||
- "ti,tps65913-gpio" for palma series device TPS65913.
|
||||
- "ti,tps65914-gpio" for palma series device TPS65914.
|
||||
- #gpio-cells : Should be two.
|
||||
- first cell is the gpio pin number
|
||||
- second cell is used to specify the gpio polarity:
|
||||
0 = active high
|
||||
1 = active low
|
||||
- gpio-controller : Marks the device node as a GPIO controller.
|
||||
|
||||
Note: This gpio node will be sub node of palmas node.
|
||||
|
||||
Example:
|
||||
palmas: tps65913@58 {
|
||||
:::::::::::
|
||||
palmas_gpio: palmas_gpio {
|
||||
compatible = "ti,palmas-gpio";
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
};
|
||||
:::::::::::
|
||||
};
|
|
@ -134,7 +134,7 @@ static int palmas_gpio_probe(struct platform_device *pdev)
|
|||
palmas_gpio->gpio_chip.get = palmas_gpio_get;
|
||||
palmas_gpio->gpio_chip.dev = &pdev->dev;
|
||||
#ifdef CONFIG_OF_GPIO
|
||||
palmas_gpio->gpio_chip.of_node = palmas->dev->of_node;
|
||||
palmas_gpio->gpio_chip.of_node = pdev->dev.of_node;
|
||||
#endif
|
||||
palmas_pdata = dev_get_platdata(palmas->dev);
|
||||
if (palmas_pdata && palmas_pdata->gpio_base)
|
||||
|
@ -159,9 +159,19 @@ static int palmas_gpio_remove(struct platform_device *pdev)
|
|||
return gpiochip_remove(&palmas_gpio->gpio_chip);
|
||||
}
|
||||
|
||||
static struct of_device_id of_palmas_gpio_match[] = {
|
||||
{ .compatible = "ti,palmas-gpio"},
|
||||
{ .compatible = "ti,tps65913-gpio"},
|
||||
{ .compatible = "ti,tps65914-gpio"},
|
||||
{ .compatible = "ti,tps80036-gpio"},
|
||||
{ },
|
||||
};
|
||||
MODULE_DEVICE_TABLE(of, of_palmas_gpio_match);
|
||||
|
||||
static struct platform_driver palmas_gpio_driver = {
|
||||
.driver.name = "palmas-gpio",
|
||||
.driver.owner = THIS_MODULE,
|
||||
.driver.of_match_table = of_palmas_gpio_match,
|
||||
.probe = palmas_gpio_probe,
|
||||
.remove = palmas_gpio_remove,
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue