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
2 changed files with 38 additions and 1 deletions
27
Documentation/devicetree/bindings/gpio/gpio-palmas.txt
Normal file
27
Documentation/devicetree/bindings/gpio/gpio-palmas.txt
Normal file
|
@ -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.get = palmas_gpio_get;
|
||||||
palmas_gpio->gpio_chip.dev = &pdev->dev;
|
palmas_gpio->gpio_chip.dev = &pdev->dev;
|
||||||
#ifdef CONFIG_OF_GPIO
|
#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
|
#endif
|
||||||
palmas_pdata = dev_get_platdata(palmas->dev);
|
palmas_pdata = dev_get_platdata(palmas->dev);
|
||||||
if (palmas_pdata && palmas_pdata->gpio_base)
|
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);
|
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 = {
|
static struct platform_driver palmas_gpio_driver = {
|
||||||
.driver.name = "palmas-gpio",
|
.driver.name = "palmas-gpio",
|
||||||
.driver.owner = THIS_MODULE,
|
.driver.owner = THIS_MODULE,
|
||||||
|
.driver.of_match_table = of_palmas_gpio_match,
|
||||||
.probe = palmas_gpio_probe,
|
.probe = palmas_gpio_probe,
|
||||||
.remove = palmas_gpio_remove,
|
.remove = palmas_gpio_remove,
|
||||||
};
|
};
|
||||||
|
|
Loading…
Add table
Reference in a new issue