2019-05-19 13:07:45 +01:00
|
|
|
|
2008-02-04 22:28:17 -08:00
|
|
|
|
2011-05-20 00:40:19 -06:00
|
|
|
|
2008-02-04 22:28:17 -08:00
|
|
|
|
|
|
|
|
|
2008-07-25 01:46:11 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-10-23 23:00:58 -07:00
|
|
|
|
2011-05-20 00:40:19 -06:00
|
|
|
|
2008-07-25 01:46:11 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-02-04 22:28:17 -08:00
|
|
|
|
2018-05-21 10:57:07 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-03-05 01:35:31 +01:00
|
|
|
|
|
|
|
|
|
2018-05-21 10:57:07 -07:00
|
|
|
|
2019-03-05 01:35:31 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-05-21 10:57:07 -07:00
|
|
|
|
2012-04-07 14:31:33 -06:00
|
|
|
|
|
|
|
|
|
2016-07-05 08:46:43 +02:00
|
|
|
|
2016-08-16 09:58:25 +02:00
|
|
|
|
2012-04-07 14:31:33 -06:00
|
|
|
|
2012-11-30 12:37:36 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-03-25 10:40:18 +01:00
|
|
|
|
2014-05-29 16:52:46 +02:00
|
|
|
|
2014-03-25 10:40:18 +01:00
|
|
|
|
|
|
|
|
|
2023-02-07 16:29:47 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-02-04 22:28:17 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-01-26 11:12:25 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-02-04 22:28:17 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
gpio: sysfs interface
This adds a simple sysfs interface for GPIOs.
/sys/class/gpio
/export ... asks the kernel to export a GPIO to userspace
/unexport ... to return a GPIO to the kernel
/gpioN ... for each exported GPIO #N
/value ... always readable, writes fail for input GPIOs
/direction ... r/w as: in, out (default low); write high, low
/gpiochipN ... for each gpiochip; #N is its first GPIO
/base ... (r/o) same as N
/label ... (r/o) descriptive, not necessarily unique
/ngpio ... (r/o) number of GPIOs; numbered N .. N+(ngpio - 1)
GPIOs claimed by kernel code may be exported by its owner using a new
gpio_export() call, which should be most useful for driver debugging.
Such exports may optionally be done without a "direction" attribute.
Userspace may ask to take over a GPIO by writing to a sysfs control file,
helping to cope with incomplete board support or other "one-off"
requirements that don't merit full kernel support:
echo 23 > /sys/class/gpio/export
... will gpio_request(23, "sysfs") and gpio_export(23);
use /sys/class/gpio/gpio-23/direction to (re)configure it,
when that GPIO can be used as both input and output.
echo 23 > /sys/class/gpio/unexport
... will gpio_free(23), when it was exported as above
The extra D-space footprint is a few hundred bytes, except for the sysfs
resources associated with each exported GPIO. The additional I-space
footprint is about two thirds of the current size of gpiolib (!). Since
no /dev node creation is involved, no "udev" support is needed.
Related changes:
* This adds a device pointer to "struct gpio_chip". When GPIO
providers initialize that, sysfs gpio class devices become children of
that device instead of being "virtual" devices.
* The (few) gpio_chip providers which have such a device node have
been updated.
* Some gpio_chip drivers also needed to update their module "owner"
field ... for which missing kerneldoc was added.
* Some gpio_chips don't support input GPIOs. Those GPIOs are now
flagged appropriately when the chip is registered.
Based on previous patches, and discussion both on and off LKML.
A Documentation/ABI/testing/sysfs-gpio update is ready to submit once this
merges to mainline.
[akpm@linux-foundation.org: a few maintenance build fixes]
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Cc: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de>
Cc: Greg KH <greg@kroah.com>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-07-25 01:46:07 -07:00
|
|
|
|
2020-11-10 15:27:24 +01:00
|
|
|
|
2013-01-16 18:53:32 -08:00
|
|
|
|
2020-11-10 15:27:24 +01:00
|
|
|
|
gpio: sysfs interface
This adds a simple sysfs interface for GPIOs.
/sys/class/gpio
/export ... asks the kernel to export a GPIO to userspace
/unexport ... to return a GPIO to the kernel
/gpioN ... for each exported GPIO #N
/value ... always readable, writes fail for input GPIOs
/direction ... r/w as: in, out (default low); write high, low
/gpiochipN ... for each gpiochip; #N is its first GPIO
/base ... (r/o) same as N
/label ... (r/o) descriptive, not necessarily unique
/ngpio ... (r/o) number of GPIOs; numbered N .. N+(ngpio - 1)
GPIOs claimed by kernel code may be exported by its owner using a new
gpio_export() call, which should be most useful for driver debugging.
Such exports may optionally be done without a "direction" attribute.
Userspace may ask to take over a GPIO by writing to a sysfs control file,
helping to cope with incomplete board support or other "one-off"
requirements that don't merit full kernel support:
echo 23 > /sys/class/gpio/export
... will gpio_request(23, "sysfs") and gpio_export(23);
use /sys/class/gpio/gpio-23/direction to (re)configure it,
when that GPIO can be used as both input and output.
echo 23 > /sys/class/gpio/unexport
... will gpio_free(23), when it was exported as above
The extra D-space footprint is a few hundred bytes, except for the sysfs
resources associated with each exported GPIO. The additional I-space
footprint is about two thirds of the current size of gpiolib (!). Since
no /dev node creation is involved, no "udev" support is needed.
Related changes:
* This adds a device pointer to "struct gpio_chip". When GPIO
providers initialize that, sysfs gpio class devices become children of
that device instead of being "virtual" devices.
* The (few) gpio_chip providers which have such a device node have
been updated.
* Some gpio_chip drivers also needed to update their module "owner"
field ... for which missing kerneldoc was added.
* Some gpio_chips don't support input GPIOs. Those GPIOs are now
flagged appropriately when the chip is registered.
Based on previous patches, and discussion both on and off LKML.
A Documentation/ABI/testing/sysfs-gpio update is ready to submit once this
merges to mainline.
[akpm@linux-foundation.org: a few maintenance build fixes]
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Cc: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de>
Cc: Greg KH <greg@kroah.com>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-07-25 01:46:07 -07:00
|
|
|
|
2019-05-23 08:54:19 +02:00
|
|
|
|
gpio: sysfs interface
This adds a simple sysfs interface for GPIOs.
/sys/class/gpio
/export ... asks the kernel to export a GPIO to userspace
/unexport ... to return a GPIO to the kernel
/gpioN ... for each exported GPIO #N
/value ... always readable, writes fail for input GPIOs
/direction ... r/w as: in, out (default low); write high, low
/gpiochipN ... for each gpiochip; #N is its first GPIO
/base ... (r/o) same as N
/label ... (r/o) descriptive, not necessarily unique
/ngpio ... (r/o) number of GPIOs; numbered N .. N+(ngpio - 1)
GPIOs claimed by kernel code may be exported by its owner using a new
gpio_export() call, which should be most useful for driver debugging.
Such exports may optionally be done without a "direction" attribute.
Userspace may ask to take over a GPIO by writing to a sysfs control file,
helping to cope with incomplete board support or other "one-off"
requirements that don't merit full kernel support:
echo 23 > /sys/class/gpio/export
... will gpio_request(23, "sysfs") and gpio_export(23);
use /sys/class/gpio/gpio-23/direction to (re)configure it,
when that GPIO can be used as both input and output.
echo 23 > /sys/class/gpio/unexport
... will gpio_free(23), when it was exported as above
The extra D-space footprint is a few hundred bytes, except for the sysfs
resources associated with each exported GPIO. The additional I-space
footprint is about two thirds of the current size of gpiolib (!). Since
no /dev node creation is involved, no "udev" support is needed.
Related changes:
* This adds a device pointer to "struct gpio_chip". When GPIO
providers initialize that, sysfs gpio class devices become children of
that device instead of being "virtual" devices.
* The (few) gpio_chip providers which have such a device node have
been updated.
* Some gpio_chip drivers also needed to update their module "owner"
field ... for which missing kerneldoc was added.
* Some gpio_chips don't support input GPIOs. Those GPIOs are now
flagged appropriately when the chip is registered.
Based on previous patches, and discussion both on and off LKML.
A Documentation/ABI/testing/sysfs-gpio update is ready to submit once this
merges to mainline.
[akpm@linux-foundation.org: a few maintenance build fixes]
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Cc: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de>
Cc: Greg KH <greg@kroah.com>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-07-25 01:46:07 -07:00
|
|
|
|
2019-05-23 08:54:19 +02:00
|
|
|
|
|
|
|
|
|
2020-09-28 08:27:52 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
gpio: sysfs interface
This adds a simple sysfs interface for GPIOs.
/sys/class/gpio
/export ... asks the kernel to export a GPIO to userspace
/unexport ... to return a GPIO to the kernel
/gpioN ... for each exported GPIO #N
/value ... always readable, writes fail for input GPIOs
/direction ... r/w as: in, out (default low); write high, low
/gpiochipN ... for each gpiochip; #N is its first GPIO
/base ... (r/o) same as N
/label ... (r/o) descriptive, not necessarily unique
/ngpio ... (r/o) number of GPIOs; numbered N .. N+(ngpio - 1)
GPIOs claimed by kernel code may be exported by its owner using a new
gpio_export() call, which should be most useful for driver debugging.
Such exports may optionally be done without a "direction" attribute.
Userspace may ask to take over a GPIO by writing to a sysfs control file,
helping to cope with incomplete board support or other "one-off"
requirements that don't merit full kernel support:
echo 23 > /sys/class/gpio/export
... will gpio_request(23, "sysfs") and gpio_export(23);
use /sys/class/gpio/gpio-23/direction to (re)configure it,
when that GPIO can be used as both input and output.
echo 23 > /sys/class/gpio/unexport
... will gpio_free(23), when it was exported as above
The extra D-space footprint is a few hundred bytes, except for the sysfs
resources associated with each exported GPIO. The additional I-space
footprint is about two thirds of the current size of gpiolib (!). Since
no /dev node creation is involved, no "udev" support is needed.
Related changes:
* This adds a device pointer to "struct gpio_chip". When GPIO
providers initialize that, sysfs gpio class devices become children of
that device instead of being "virtual" devices.
* The (few) gpio_chip providers which have such a device node have
been updated.
* Some gpio_chip drivers also needed to update their module "owner"
field ... for which missing kerneldoc was added.
* Some gpio_chips don't support input GPIOs. Those GPIOs are now
flagged appropriately when the chip is registered.
Based on previous patches, and discussion both on and off LKML.
A Documentation/ABI/testing/sysfs-gpio update is ready to submit once this
merges to mainline.
[akpm@linux-foundation.org: a few maintenance build fixes]
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Cc: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de>
Cc: Greg KH <greg@kroah.com>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-07-25 01:46:07 -07:00
|
|
|
|
2020-09-28 08:27:53 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-06-04 18:38:28 -06:00
|
|
|
|
2016-10-03 09:46:58 +02:00
|
|
|
|
2011-06-04 18:38:28 -06:00
|
|
|
|
|
|
|
|
|
2020-05-28 16:58:44 +02:00
|
|
|
|
2023-02-25 21:39:48 -08:00
|
|
|
|
2020-05-28 16:58:44 +02:00
|
|
|
|
|
|
|
|
|
gpio: swnode: Add ability to specify native chip selects for SPI
SPI devices can specify a cs-gpios property to enumerate their
chip selects. Under device tree, a zero entry in this property can
be used to specify that a particular chip select is using the SPI
controllers native chip select, for example:
cs-gpios = <&gpio1 0 0>, <0>;
Here, the second chip select is native. However, when using swnodes
there is currently no way to specify a native chip select. The
proposal here is to register a swnode_gpio_undefined software node,
that can be specified to allow the indication of a native chip
select. For example:
static const struct software_node_ref_args device_cs_refs[] = {
{
.node = &device_gpiochip_swnode,
.nargs = 2,
.args = { 0, GPIO_ACTIVE_LOW },
},
{
.node = &swnode_gpio_undefined,
.nargs = 0,
},
};
Register the swnode as the gpiolib is initialised and check in
swnode_get_gpio_device() if the returned node matches
swnode_gpio_undefined and return -ENOENT, which matches the
behaviour of the device tree system when it encounters a 0 phandle.
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Andy Shevchenko <andy@kernel.org>
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20240416100904.3738093-2-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2024-04-16 11:09:01 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-05-20 00:40:19 -06:00
|
|
|
|
2008-02-04 22:28:17 -08:00
|
|
|
|
2015-04-08 15:11:16 +02:00
|
|
|
|
2010-03-05 13:44:33 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-09-18 12:50:43 -04:00
|
|
|
|
|
|
|
|
|
2023-08-10 18:00:38 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-09-18 12:50:43 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-04-08 15:11:16 +02:00
|
|
|
|
2016-10-03 09:46:58 +02:00
|
|
|
|
2008-11-12 13:25:38 -08:00
|
|
|
|
2014-10-03 11:31:57 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-04-08 10:08:56 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-02-07 16:29:47 +02:00
|
|
|
|
2015-04-08 10:08:56 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-10-19 11:07:37 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-02-29 22:00:01 +08:00
|
|
|
|
2015-10-19 11:07:37 +08:00
|
|
|
|
2021-10-23 23:00:58 -07:00
|
|
|
|
|
|
|
|
|
2015-10-19 11:07:37 +08:00
|
|
|
|
2016-08-30 17:24:27 +09:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-09-27 13:48:33 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-01-28 20:44:29 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-01-28 20:44:30 +01:00
|
|
|
|
2016-01-28 20:44:29 +01:00
|
|
|
|
2016-01-28 20:44:32 +01:00
|
|
|
|
2016-01-28 20:44:29 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-02-20 14:19:33 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-03-02 11:47:01 +02:00
|
|
|
|
|
|
|
|
|
2018-02-28 14:48:08 +01:00
|
|
|
|
2018-02-20 14:19:33 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-04-08 14:36:17 +02:00
|
|
|
|
|
|
|
|
|
2023-07-19 01:30:53 +03:00
|
|
|
|
2015-04-08 14:36:17 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-10-25 09:27:03 +13:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-05-28 19:14:05 -07:00
|
|
|
|
|
|
|
|
|
2016-01-06 10:55:23 -08:00
|
|
|
|
2024-05-30 19:17:31 +01:00
|
|
|
|
2015-05-28 19:14:05 -07:00
|
|
|
|
2017-10-24 12:54:50 -07:00
|
|
|
|
2015-05-28 19:14:05 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-12-18 16:10:42 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-10-09 20:05:56 +04:00
|
|
|
|
2013-04-26 19:47:28 +04:00
|
|
|
|
2013-12-24 18:08:54 +04:00
|
|
|
|
2013-04-26 19:47:28 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-10-09 20:05:56 +04:00
|
|
|
|
2013-11-21 17:34:36 +02:00
|
|
|
|
2022-11-07 18:29:21 +01:00
|
|
|
|
2013-11-21 17:34:36 +02:00
|
|
|
|
2019-06-05 11:25:19 +05:30
|
|
|
|
2013-11-21 17:34:36 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-02-25 17:01:01 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-07-30 18:28:02 +03:00
|
|
|
|
2014-02-25 17:01:01 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-03-05 10:56:51 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-05-17 15:22:23 +09:00
|
|
|
|
|
|
|
|
|
2016-11-20 17:48:36 +00:00
|
|
|
|
2012-05-17 15:22:23 +09:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-01-30 15:51:15 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-06-01 10:09:19 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-06-08 14:35:33 -07:00
|
|
|
|
2018-08-22 22:41:11 +02:00
|
|
|
|
2011-06-01 10:09:19 -07:00
|
|
|
|
2017-01-19 22:23:20 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-09-28 17:00:26 +02:00
|
|
|
|
2017-01-19 22:23:20 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-04-08 10:08:56 +02:00
|
|
|
|
|
|
|
|
|
2023-07-24 19:13:20 +03:00
|
|
|
|
2015-04-08 10:08:56 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-03-13 00:28:16 +01:00
|
|
|
|
|
|
|
|
|
2017-01-22 13:18:44 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-03-13 00:28:17 +01:00
|
|
|
|
2017-01-22 13:18:44 +01:00
|
|
|
|
2017-03-13 00:28:16 +01:00
|
|
|
|
|
|
|
|
|
2017-01-22 13:18:44 +01:00
|
|
|
|
2015-04-08 10:08:56 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-04-23 21:13:14 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-04-08 10:08:56 +02:00
|
|
|
|
|
|
|
|
|
2016-08-16 12:07:31 +02:00
|
|
|
|
2015-04-08 10:08:56 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-12-14 16:24:13 +08:00
|
|
|
|
|
|
|
|
|
2022-11-01 16:24:41 +08:00
|
|
|
|
2020-12-14 16:24:13 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-10-23 23:00:58 -07:00
|
|
|
|
2020-12-14 16:24:13 +08:00
|
|
|
|
|
|
|
|
|
gpio: Add GPIO driver for Nintendo Wii
The Nintendo Wii's chipset (called "Hollywood") has a GPIO controller
that supports a configurable number of pins (up to 32), interrupts, and
some special mechanisms to share the controller between the system's
security processor (an ARM926) and the PowerPC CPU. Pin multiplexing is
not supported.
This patch adds a basic driver for this GPIO controller. Interrupt
support will come in a later patch.
This patch is based on code developed by Albert Herranz and the GameCube
Linux Team, file arch/powerpc/platforms/embedded6xx/hlwd-gpio.c,
available at https://github.com/DeltaResero/GC-Wii-Linux-Kernels, but
has grown quite dissimilar.
v3:
- Do some style cleanups, as suggest by Andy Shevchenko
v2:
- Change hlwd_gpio_driver.driver.name to "gpio-hlwd" to match the
filename (was "hlwd_gpio")
- Remove unnecessary include of linux/of_gpio.h, as suggested by Linus
Walleij.
- Add struct device pointer to context struct to make it possible to use
dev_info(hlwd->dev, "..."), as suggested by Linus Walleij
- Use the GPIO_GENERIC library to reduce code size, as suggested by
Linus Walleij
- Use iowrite32be instead of __raw_writel for big-endian MMIO access, as
suggested by Linus Walleij
- Remove commit message paragraph suggesting to diff against the
original driver, because it's so different now
Signed-off-by: Jonathan Neuschäfer <j.neuschaefer@gmx.net>
Cc: Albert Herranz <albert_herranz@yahoo.es>
Reviewed-by: Segher Boessenkool <segher@kernel.crashing.org>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2018-02-09 13:07:29 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-01-14 20:14:49 +01:00
|
|
|
|
gpio: Add GPIO driver for Nintendo Wii
The Nintendo Wii's chipset (called "Hollywood") has a GPIO controller
that supports a configurable number of pins (up to 32), interrupts, and
some special mechanisms to share the controller between the system's
security processor (an ARM926) and the PowerPC CPU. Pin multiplexing is
not supported.
This patch adds a basic driver for this GPIO controller. Interrupt
support will come in a later patch.
This patch is based on code developed by Albert Herranz and the GameCube
Linux Team, file arch/powerpc/platforms/embedded6xx/hlwd-gpio.c,
available at https://github.com/DeltaResero/GC-Wii-Linux-Kernels, but
has grown quite dissimilar.
v3:
- Do some style cleanups, as suggest by Andy Shevchenko
v2:
- Change hlwd_gpio_driver.driver.name to "gpio-hlwd" to match the
filename (was "hlwd_gpio")
- Remove unnecessary include of linux/of_gpio.h, as suggested by Linus
Walleij.
- Add struct device pointer to context struct to make it possible to use
dev_info(hlwd->dev, "..."), as suggested by Linus Walleij
- Use the GPIO_GENERIC library to reduce code size, as suggested by
Linus Walleij
- Use iowrite32be instead of __raw_writel for big-endian MMIO access, as
suggested by Linus Walleij
- Remove commit message paragraph suggesting to diff against the
original driver, because it's so different now
Signed-off-by: Jonathan Neuschäfer <j.neuschaefer@gmx.net>
Cc: Albert Herranz <albert_herranz@yahoo.es>
Reviewed-by: Segher Boessenkool <segher@kernel.crashing.org>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2018-02-09 13:07:29 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-04-08 10:08:56 +02:00
|
|
|
|
|
|
|
|
|
2021-04-02 21:42:25 +03:00
|
|
|
|
|
|
|
|
|
2015-04-08 10:08:56 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-10-23 23:00:58 -07:00
|
|
|
|
2015-04-08 10:08:56 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-08-12 08:30:12 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-01-25 21:59:11 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-04-21 22:06:54 +02:00
|
|
|
|
2019-01-25 21:59:11 +01:00
|
|
|
|
2019-08-08 14:32:38 +02:00
|
|
|
|
2019-01-25 21:59:11 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-04-21 22:06:54 +02:00
|
|
|
|
2019-12-03 15:12:43 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-01-25 21:59:11 +01:00
|
|
|
|
2015-04-08 10:08:56 +02:00
|
|
|
|
|
|
|
|
|
2019-10-20 22:43:13 +08:00
|
|
|
|
2015-04-08 10:08:56 +02:00
|
|
|
|
2021-10-23 23:00:58 -07:00
|
|
|
|
2015-04-08 10:08:56 +02:00
|
|
|
|
2023-03-02 16:17:11 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-03-09 19:14:07 +08:00
|
|
|
|
2023-03-02 16:17:11 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-05-02 23:11:34 +02:00
|
|
|
|
2016-06-05 14:23:43 -04:00
|
|
|
|
2015-05-02 23:11:34 +02:00
|
|
|
|
|
|
|
|
|
gpio: lpc18xx: add GPIO pin interrupt controller support
The change adds support of LPC18xx/LPC43xx GPIO pin interrupt controller
block within SoC GPIO controller. The new interrupt controller driver
allows to configure and capture edge or level interrupts on 8 arbitrary
selectedinput GPIO pins, and lift the signals to be reported as NVIC rising
edge interrupts. Configuration of a particular GPIO pin to serve as
interrupt and its mapping to an interrupt on NVIC is done by SCU pin
controller, for more details see description of 'nxp,gpio-pin-interrupt'
device tree property of a GPIO pin [1].
From LPC18xx and LPC43xx User Manuals the GPIO controller consists of
the following blocks:
* GPIO pin interrupt block at 0x40087000, this change adds its support,
* GPIO GROUP0 interrupt block at 0x40088000,
* GPIO GROUP1 interrupt block at 0x40089000,
* GPIO port block at 0x400F4000, it is supported by the original driver.
While all 4 sub-controller blocks have their own I/O addresses, moreover
all 3 interrupt blocks are APB0 peripherals and high-speed GPIO block is
an AHB slave, according to the hardware manual the GPIO controller is
seen as a single block, and 4 sub-controllers have the shared reset signal
RGU #28 and clock to register interface CLK_CPU_GPIO on CCU1.
Likely support of two GPIO group interrupt blocks won't be added in short
term, because the mechanism to mask several interrupt sources is not well
defined.
[1] Documentation/devicetree/bindings/pinctrl/nxp,lpc1850-scu.txt
Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2018-11-29 00:48:41 +02:00
|
|
|
|
2015-05-02 23:11:34 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-08-09 16:40:31 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-01-19 18:35:53 +08:00
|
|
|
|
2017-10-27 21:21:47 +01:00
|
|
|
|
2015-01-19 18:35:53 +08:00
|
|
|
|
|
|
|
|
|
2014-02-24 20:54:58 +01:00
|
|
|
|
2016-02-29 19:44:43 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-10-23 23:00:58 -07:00
|
|
|
|
2016-02-29 19:44:43 +01:00
|
|
|
|
2012-05-11 18:48:39 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-02-07 16:29:47 +02:00
|
|
|
|
2012-05-11 18:48:39 +02:00
|
|
|
|
|
|
|
|
|
2021-10-23 23:00:58 -07:00
|
|
|
|
|
|
|
|
|
2012-05-11 18:48:39 +02:00
|
|
|
|
2011-07-06 11:54:19 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-02-07 16:29:47 +02:00
|
|
|
|
2011-07-06 11:54:19 -06:00
|
|
|
|
2011-09-21 12:49:20 +02:00
|
|
|
|
2016-01-12 20:10:09 +08:00
|
|
|
|
2011-09-21 12:49:20 +02:00
|
|
|
|
2016-01-12 20:10:09 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-04-19 14:10:08 +02:00
|
|
|
|
2011-09-21 12:49:20 +02:00
|
|
|
|
|
|
|
|
|
2016-01-12 20:10:09 +08:00
|
|
|
|
2011-09-21 12:49:20 +02:00
|
|
|
|
2018-07-05 15:43:10 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-07-10 17:18:47 +02:00
|
|
|
|
2018-07-05 15:43:10 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-10-23 23:00:58 -07:00
|
|
|
|
2018-07-05 15:43:10 +02:00
|
|
|
|
2012-09-19 22:52:58 +02:00
|
|
|
|
|
|
|
|
|
2017-05-19 18:09:23 +02:00
|
|
|
|
2016-08-16 12:07:31 +02:00
|
|
|
|
2012-09-19 22:52:58 +02:00
|
|
|
|
2017-05-24 16:32:06 +02:00
|
|
|
|
2012-09-19 22:52:58 +02:00
|
|
|
|
2011-06-06 00:07:54 +08:00
|
|
|
|
gpio: mxc: Support module build
Change config to tristate, add module device table, module author,
description and license to support module build for i.MX GPIO driver.
As this is a SoC GPIO module, it provides common functions for most
of the peripheral devices, such as GPIO pins control, secondary
interrupt controller for GPIO pins IRQ etc., without GPIO driver, most
of the peripheral devices will NOT work properly, so GPIO module is
similar with clock, pinctrl driver that should be loaded ONCE and
never unloaded.
Since MXC GPIO driver needs to have init function to register syscore
ops once, here still use subsys_initcall(), NOT module_platform_driver().
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Link: https://lore.kernel.org/r/1600320829-1453-1-git-send-email-Anson.Huang@nxp.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2020-09-17 13:33:46 +08:00
|
|
|
|
2020-03-07 21:31:57 +08:00
|
|
|
|
2011-06-04 18:38:28 -06:00
|
|
|
|
2011-06-07 16:25:37 +08:00
|
|
|
|
2011-06-04 18:38:28 -06:00
|
|
|
|
|
|
|
|
|
2021-02-08 15:51:53 +01:00
|
|
|
|
2020-03-09 09:57:38 +08:00
|
|
|
|
2021-02-08 15:51:53 +01:00
|
|
|
|
2011-06-06 22:31:29 +08:00
|
|
|
|
2011-06-07 22:00:54 +08:00
|
|
|
|
2011-06-06 00:07:54 +08:00
|
|
|
|
2024-02-28 12:28:04 +01:00
|
|
|
|
|
|
|
|
|
2024-02-28 12:28:22 +01:00
|
|
|
|
2024-02-28 12:28:04 +01:00
|
|
|
|
|
|
|
|
|
2024-02-28 12:28:22 +01:00
|
|
|
|
|
|
|
|
|
2024-02-28 12:28:04 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-12-29 15:45:08 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-07-29 14:29:10 -07:00
|
|
|
|
|
|
|
|
|
2020-06-23 16:40:01 +02:00
|
|
|
|
2013-07-29 14:29:10 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-04-06 16:58:15 +02:00
|
|
|
|
2015-04-23 16:56:22 -07:00
|
|
|
|
2014-04-06 16:58:15 +02:00
|
|
|
|
2014-04-28 11:07:03 +02:00
|
|
|
|
|
|
|
|
|
2014-04-06 16:58:16 +02:00
|
|
|
|
2014-04-06 16:58:15 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-06-18 16:48:58 -07:00
|
|
|
|
2020-04-08 19:41:10 -06:00
|
|
|
|
2013-11-05 21:27:02 -06:00
|
|
|
|
2014-02-04 20:39:01 +08:00
|
|
|
|
2014-03-25 10:42:35 +01:00
|
|
|
|
2009-06-18 16:48:58 -07:00
|
|
|
|
2021-10-23 23:00:58 -07:00
|
|
|
|
2009-06-18 16:48:58 -07:00
|
|
|
|
2011-10-17 20:37:52 +08:00
|
|
|
|
|
|
|
|
|
2020-05-22 12:12:20 +08:00
|
|
|
|
2011-10-17 20:37:52 +08:00
|
|
|
|
2021-10-23 23:00:58 -07:00
|
|
|
|
2011-10-17 20:37:52 +08:00
|
|
|
|
2013-03-13 20:32:13 +09:00
|
|
|
|
2021-01-04 11:37:44 +00:00
|
|
|
|
2016-02-23 10:36:51 +09:00
|
|
|
|
2015-01-12 11:07:59 +01:00
|
|
|
|
2013-03-13 20:32:13 +09:00
|
|
|
|
2021-01-04 11:37:44 +00:00
|
|
|
|
2013-03-13 20:32:13 +09:00
|
|
|
|
2019-10-21 12:14:12 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
gpio: Add Realtek Otto GPIO support
Realtek MIPS SoCs (platform name Otto) have GPIO controllers with up to
64 GPIOs, divided over two banks. Each bank has a set of registers for
32 GPIOs, with support for edge-triggered interrupts.
Each GPIO bank consists of four 8-bit GPIO ports (ABCD and EFGH). Most
registers pack one bit per GPIO, except for the IMR register, which
packs two bits per GPIO (AB-CD).
Although the byte order is currently assumed to have port A..D at offset
0x0..0x3, this has been observed to be reversed on other, Lexra-based,
SoCs (e.g. RTL8196E/97D/97F).
Interrupt support is disabled for the fallback devicetree-compatible
'realtek,otto-gpio'. This allows for quick support of GPIO banks in
which the byte order would be unknown. In this case, the port ordering
in the IMR registers may not match the reversed order in the other
registers (DCBA, and BA-DC or DC-BA).
Signed-off-by: Sander Vanheule <sander@svanheule.net>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
2021-03-30 19:48:43 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-08-31 08:49:44 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-08-16 09:20:53 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-11-15 22:46:27 -08:00
|
|
|
|
2021-08-16 09:20:53 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-12-28 18:48:00 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-12-12 11:57:15 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-12-22 11:04:55 +01:00
|
|
|
|
2022-07-11 10:36:35 +02:00
|
|
|
|
2018-12-12 11:57:15 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-12-10 16:41:13 +05:30
|
|
|
|
2023-07-24 17:40:42 -07:00
|
|
|
|
2021-01-18 19:18:13 -08:00
|
|
|
|
|
|
|
|
|
2019-12-10 16:41:13 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-09-27 09:48:08 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-09-28 16:15:30 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-10-12 20:46:29 -07:00
|
|
|
|
2018-09-28 16:15:30 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-11-16 10:45:25 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-10-23 23:00:58 -07:00
|
|
|
|
2012-11-16 10:45:25 +05:30
|
|
|
|
2018-02-24 10:07:18 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-04-08 14:51:23 +02:00
|
|
|
|
|
|
|
|
|
2019-07-03 00:32:48 +02:00
|
|
|
|
|
|
|
|
|
2015-04-08 14:51:23 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-10-23 23:00:58 -07:00
|
|
|
|
|
|
|
|
|
2015-04-08 14:51:23 +02:00
|
|
|
|
|
|
|
|
|
2014-03-11 21:55:14 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-02-16 18:53:54 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-02-16 20:34:19 +02:00
|
|
|
|
2023-02-16 20:36:08 +02:00
|
|
|
|
2023-02-16 20:34:19 +02:00
|
|
|
|
2023-02-16 18:53:54 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-04-08 10:08:56 +02:00
|
|
|
|
|
|
|
|
|
2018-08-06 16:59:42 +02:00
|
|
|
|
2015-04-08 10:08:56 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-02-24 20:54:32 +01:00
|
|
|
|
2021-01-22 21:55:43 +03:00
|
|
|
|
2016-07-06 14:54:03 +02:00
|
|
|
|
2016-02-24 20:54:32 +01:00
|
|
|
|
2016-08-16 12:07:31 +02:00
|
|
|
|
2021-01-18 20:49:25 +01:00
|
|
|
|
|
|
|
|
|
2016-07-06 14:54:03 +02:00
|
|
|
|
|
|
|
|
|
2016-02-24 20:54:32 +01:00
|
|
|
|
2017-11-07 19:15:56 +01:00
|
|
|
|
|
|
|
|
|
2019-12-13 14:00:34 +01:00
|
|
|
|
|
|
|
|
|
2017-11-07 19:15:56 +01:00
|
|
|
|
|
|
|
|
|
2019-10-02 16:45:02 +02:00
|
|
|
|
2017-11-07 19:15:56 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-01-13 11:57:43 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-02-26 18:06:59 -05:00
|
|
|
|
2016-01-13 11:57:43 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-08-17 17:53:35 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-09-06 10:40:52 +09:00
|
|
|
|
2019-08-08 14:32:40 +02:00
|
|
|
|
2017-09-06 10:40:52 +09:00
|
|
|
|
2017-08-17 17:53:35 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-10-12 20:36:16 +09:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-10-16 21:47:58 +02:00
|
|
|
|
2024-01-24 21:58:57 +01:00
|
|
|
|
|
|
|
|
|
2024-01-24 21:58:58 +01:00
|
|
|
|
2014-10-16 21:47:58 +02:00
|
|
|
|
|
|
|
|
|
2022-04-25 19:11:35 +08:00
|
|
|
|
2014-10-16 21:47:58 +02:00
|
|
|
|
2020-12-17 23:43:36 +09:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-01-07 13:08:44 +00:00
|
|
|
|
2021-10-23 23:00:58 -07:00
|
|
|
|
2020-01-07 13:08:44 +00:00
|
|
|
|
|
|
|
|
|
2020-12-15 10:53:29 +00:00
|
|
|
|
2020-01-07 13:08:44 +00:00
|
|
|
|
|
|
|
|
|
2014-07-31 12:03:25 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-01-16 14:34:19 +07:00
|
|
|
|
|
|
|
|
|
2020-05-12 21:27:20 +03:00
|
|
|
|
2015-01-16 14:34:19 +07:00
|
|
|
|
2016-03-04 11:59:58 +01:00
|
|
|
|
2017-07-12 08:11:50 +09:00
|
|
|
|
2015-01-16 14:34:19 +07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-11-12 13:25:38 -08:00
|
|
|
|
2014-12-17 16:51:10 +01:00
|
|
|
|
2021-01-29 19:56:48 +05:30
|
|
|
|
|
|
|
|
|
2008-11-12 13:25:38 -08:00
|
|
|
|
2021-10-23 23:00:58 -07:00
|
|
|
|
2008-11-12 13:25:38 -08:00
|
|
|
|
2015-04-28 20:10:45 +05:30
|
|
|
|
2021-11-09 10:12:53 -06:00
|
|
|
|
|
|
|
|
|
2015-04-28 20:10:45 +05:30
|
|
|
|
|
|
|
|
|
2021-11-09 10:12:53 -06:00
|
|
|
|
|
|
|
|
|
2015-04-28 20:10:45 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-12-12 11:18:41 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-12-18 09:10:29 +02:00
|
|
|
|
2013-12-12 11:18:41 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-10-23 23:00:58 -07:00
|
|
|
|
2013-12-12 11:18:41 +02:00
|
|
|
|
2015-04-08 10:08:56 +02:00
|
|
|
|
|
|
|
|
|
2023-01-12 18:39:41 +02:00
|
|
|
|
2009-06-29 11:11:05 +09:00
|
|
|
|
2015-04-08 10:08:56 +02:00
|
|
|
|
2009-06-29 11:11:05 +09:00
|
|
|
|
2015-04-08 10:08:56 +02:00
|
|
|
|
|
|
|
|
|
2015-06-04 17:40:32 +05:30
|
|
|
|
2014-07-25 09:54:46 +03:00
|
|
|
|
2012-12-12 17:42:38 +02:00
|
|
|
|
2015-04-08 10:08:56 +02:00
|
|
|
|
2012-12-12 17:42:38 +02:00
|
|
|
|
2021-09-22 19:23:19 +05:30
|
|
|
|
2021-10-23 23:00:58 -07:00
|
|
|
|
2021-09-22 19:23:19 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-10-23 23:00:58 -07:00
|
|
|
|
2021-09-22 19:23:19 +05:30
|
|
|
|
|
|
|
|
|
2021-10-23 23:00:58 -07:00
|
|
|
|
2021-09-22 19:23:19 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-04-06 20:34:53 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-02-22 10:54:15 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-10-23 23:00:58 -07:00
|
|
|
|
|
|
|
|
|
2019-02-22 10:54:15 +01:00
|
|
|
|
2021-10-23 23:00:58 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-11-29 20:08:00 +09:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-10-23 23:00:58 -07:00
|
|
|
|
2020-11-29 20:08:00 +09:00
|
|
|
|
2021-05-14 14:33:07 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-10-23 23:00:58 -07:00
|
|
|
|
2021-05-14 14:33:07 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-04-08 15:11:16 +02:00
|
|
|
|
|
|
|
|
|
2015-10-30 10:32:19 +01:00
|
|
|
|
2023-05-16 13:00:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-10-30 10:32:19 +01:00
|
|
|
|
2022-07-20 09:45:59 -04:00
|
|
|
|
|
|
|
|
|
2022-12-27 09:09:43 -05:00
|
|
|
|
2022-07-20 09:45:59 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-01-20 13:50:11 -05:00
|
|
|
|
|
|
|
|
|
2017-12-29 15:13:46 -05:00
|
|
|
|
|
|
|
|
|
2022-12-27 09:09:40 -05:00
|
|
|
|
|
|
|
|
|
2016-01-20 13:50:11 -05:00
|
|
|
|
2022-07-20 09:46:00 -04:00
|
|
|
|
2023-07-20 14:49:43 -04:00
|
|
|
|
2016-01-20 13:50:11 -05:00
|
|
|
|
2016-05-01 18:44:39 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-01-20 13:50:11 -05:00
|
|
|
|
2015-10-30 10:32:19 +01:00
|
|
|
|
|
|
|
|
|
2017-12-29 15:13:46 -05:00
|
|
|
|
|
|
|
|
|
2023-08-10 18:00:39 -04:00
|
|
|
|
2022-10-25 09:57:57 +02:00
|
|
|
|
2015-10-30 10:32:19 +01:00
|
|
|
|
2016-05-01 18:45:11 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-10-30 10:32:19 +01:00
|
|
|
|
2015-11-23 12:54:50 -05:00
|
|
|
|
|
|
|
|
|
2017-12-29 15:13:46 -05:00
|
|
|
|
|
|
|
|
|
2022-12-27 09:09:41 -05:00
|
|
|
|
|
|
|
|
|
2015-11-23 12:54:50 -05:00
|
|
|
|
2022-12-27 09:09:42 -05:00
|
|
|
|
2015-11-23 12:54:50 -05:00
|
|
|
|
2016-05-01 18:44:55 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-11-23 12:54:50 -05:00
|
|
|
|
2015-10-30 10:32:19 +01:00
|
|
|
|
2022-08-25 12:44:18 +02:00
|
|
|
|
2015-10-30 10:32:19 +01:00
|
|
|
|
|
|
|
|
|
2016-01-22 15:23:33 +08:00
|
|
|
|
2023-04-27 17:20:55 +02:00
|
|
|
|
2015-10-30 10:32:19 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-08-02 09:57:47 -04:00
|
|
|
|
|
|
|
|
|
2017-12-29 15:13:46 -05:00
|
|
|
|
|
|
|
|
|
2022-12-27 09:09:45 -05:00
|
|
|
|
2022-07-20 09:46:02 -04:00
|
|
|
|
2016-08-02 09:57:47 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-10-30 10:32:19 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-08-09 01:26:36 +03:00
|
|
|
|
|
|
|
|
|
2015-10-30 10:32:19 +01:00
|
|
|
|
|
|
|
|
|
2021-10-23 23:00:58 -07:00
|
|
|
|
2015-10-30 10:32:19 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-03-17 17:19:28 +02:00
|
|
|
|
2021-04-02 09:17:51 -07:00
|
|
|
|
2021-03-17 17:19:27 +02:00
|
|
|
|
2015-10-30 10:32:19 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-10-23 23:00:58 -07:00
|
|
|
|
2015-10-30 10:32:19 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-01-06 00:46:08 +01:00
|
|
|
|
|
|
|
|
|
2018-02-23 15:55:17 +01:00
|
|
|
|
2018-01-06 00:46:08 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-01-20 13:45:33 -05:00
|
|
|
|
|
|
|
|
|
2017-12-29 15:13:46 -05:00
|
|
|
|
2023-08-10 18:00:43 -04:00
|
|
|
|
|
|
|
|
|
2016-01-20 13:45:33 -05:00
|
|
|
|
2023-08-10 18:00:43 -04:00
|
|
|
|
2016-01-20 13:45:33 -05:00
|
|
|
|
2016-05-01 18:45:24 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-01-20 13:45:33 -05:00
|
|
|
|
2015-10-30 10:32:19 +01:00
|
|
|
|
|
|
|
|
|
2015-04-08 15:11:16 +02:00
|
|
|
|
|
|
|
|
|
2008-02-04 22:28:17 -08:00
|
|
|
|
2015-04-08 14:14:40 +02:00
|
|
|
|
|
|
|
|
|
2015-11-01 10:43:16 +01:00
|
|
|
|
2014-06-03 13:26:04 +08:00
|
|
|
|
|
|
|
|
|
2015-04-08 14:14:40 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
gpio: add LP3943 I2C GPIO expander driver
This is one of LP3943 MFD driver.
LP3943 is configurable as a GPIO expander, up to 16 GPIOs.
* Application note: how to configure LP3943 as a GPIO expander
http://www.ti.com/lit/an/snva287a/snva287a.pdf
* Supported GPIO controller operations
request, free, direction_input, direction_output, get and set
* GPIO direction register not supported
LP3943 doesn't have the GPIO direction register. It only provides input and
output status registers.
So, private data for the direction should be handled manually.
This variable is updated whenever the direction is changed and
used in 'get' operation.
* Pin assignment
A driver data, 'pin_used' is checked when a GPIO is requested.
If the GPIO is already assigned, then returns as failure.
If the GPIO is available, 'pin_used' is set.
When the GPIO is not used anymore, then it is cleared.
It is defined as unsigned long type for atomic bit operation APIs,
but only LSB 16bits are used because LP3943 has 16 outputs.
Signed-off-by: Milo Kim <milo.kim@ti.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
2013-12-06 11:18:42 +09:00
|
|
|
|
2023-03-13 18:09:50 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-07-29 15:56:33 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-02-01 21:41:31 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-03-05 13:44:33 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-05-19 14:25:48 +08:00
|
|
|
|
2010-03-05 13:44:33 -08:00
|
|
|
|
2008-07-25 01:46:14 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-03-05 01:35:31 +01:00
|
|
|
|
|
|
|
|
|
2008-07-25 01:46:14 -07:00
|
|
|
|
2019-03-05 01:35:31 +01:00
|
|
|
|
|
|
|
|
|
2008-07-25 01:46:14 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-05-26 14:42:16 -07:00
|
|
|
|
|
|
|
|
|
2013-08-30 09:39:53 +02:00
|
|
|
|
2015-01-30 11:32:01 +01:00
|
|
|
|
2010-05-26 14:42:16 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-02-06 01:39:03 -08:00
|
|
|
|
2014-02-13 13:59:23 +01:00
|
|
|
|
2018-12-16 18:38:58 +01:00
|
|
|
|
2008-02-04 22:28:26 -08:00
|
|
|
|
2008-07-04 09:59:37 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-03-05 01:35:31 +01:00
|
|
|
|
2008-07-04 09:59:37 -07:00
|
|
|
|
2019-03-05 01:35:31 +01:00
|
|
|
|
|
|
|
|
|
2008-07-04 09:59:37 -07:00
|
|
|
|
2019-03-05 01:35:31 +01:00
|
|
|
|
|
|
|
|
|
2008-02-04 22:28:26 -08:00
|
|
|
|
2019-03-05 01:35:31 +01:00
|
|
|
|
2014-02-07 16:35:48 -06:00
|
|
|
|
2019-03-05 01:35:31 +01:00
|
|
|
|
2014-02-07 16:35:48 -06:00
|
|
|
|
2010-03-05 13:44:36 -08:00
|
|
|
|
|
|
|
|
|
2020-05-21 00:19:15 +03:00
|
|
|
|
2014-05-09 13:27:57 +02:00
|
|
|
|
2010-03-05 13:44:36 -08:00
|
|
|
|
|
|
|
|
|
2021-10-23 23:00:58 -07:00
|
|
|
|
2010-03-05 13:44:36 -08:00
|
|
|
|
2020-07-09 22:48:29 +09:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-02-04 22:28:24 -08:00
|
|
|
|
2008-07-21 14:21:34 -07:00
|
|
|
|
2015-02-05 16:49:08 +01:00
|
|
|
|
2012-09-28 23:36:15 +02:00
|
|
|
|
2008-02-04 22:28:24 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-07-21 14:21:34 -07:00
|
|
|
|
2019-03-05 01:35:31 +01:00
|
|
|
|
2008-02-04 22:28:24 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-01-25 10:14:12 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-08-12 11:16:49 -04:00
|
|
|
|
|
|
|
|
|
2016-10-14 14:24:09 +02:00
|
|
|
|
2016-08-12 11:16:49 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-04-08 15:11:16 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-04-08 14:51:23 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-07-22 15:10:59 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-06-02 12:52:24 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-04-08 14:51:23 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-04-05 14:43:08 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-01-20 15:47:37 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-04-25 20:32:09 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-02-19 20:52:27 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-04-08 14:51:23 +02:00
|
|
|
|
|
|
|
|
|
2016-11-20 17:37:25 +00:00
|
|
|
|
2015-04-08 14:51:23 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-10-23 23:00:58 -07:00
|
|
|
|
2015-04-08 14:51:23 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-11-20 17:37:25 +00:00
|
|
|
|
2015-04-08 14:51:23 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-10-23 23:00:58 -07:00
|
|
|
|
2015-04-08 14:51:23 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-09-16 13:48:12 +02:00
|
|
|
|
|
|
|
|
|
2020-06-23 16:40:01 +02:00
|
|
|
|
2016-09-16 13:48:12 +02:00
|
|
|
|
2019-03-05 01:35:31 +01:00
|
|
|
|
|
|
|
|
|
2021-10-23 23:00:58 -07:00
|
|
|
|
2016-09-16 13:48:12 +02:00
|
|
|
|
2023-02-16 20:36:08 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-04-08 14:51:23 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-02-25 22:01:15 +08:00
|
|
|
|
|
|
|
|
|
2023-10-09 14:33:25 +08:00
|
|
|
|
2023-02-25 22:01:15 +08:00
|
|
|
|
2023-10-09 14:33:25 +08:00
|
|
|
|
2023-02-25 22:01:15 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-04-08 14:51:23 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-08-31 14:28:11 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-03-05 01:35:31 +01:00
|
|
|
|
2016-08-31 14:28:11 +05:30
|
|
|
|
2017-06-15 12:03:11 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-05-21 11:00:02 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-05-13 10:49:14 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-01-06 04:51:54 +03:00
|
|
|
|
2016-05-13 10:49:14 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-10-23 23:00:58 -07:00
|
|
|
|
|
|
|
|
|
2016-05-13 10:49:14 +05:30
|
|
|
|
2019-04-23 11:04:48 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-04-08 14:51:23 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-02-16 10:19:09 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-05-14 12:46:12 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-10-23 23:00:58 -07:00
|
|
|
|
|
|
|
|
|
2012-05-14 12:46:12 +05:30
|
|
|
|
2020-09-14 23:43:35 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-07-02 16:52:09 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-01-13 08:00:29 +01:00
|
|
|
|
2014-04-15 23:38:56 +02:00
|
|
|
|
2010-07-02 16:52:09 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-12-13 09:33:13 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-03-19 15:52:45 +01:00
|
|
|
|
2014-04-09 13:38:33 +02:00
|
|
|
|
2010-05-10 23:43:47 +02:00
|
|
|
|
2010-12-13 09:33:13 +05:30
|
|
|
|
2010-05-10 23:43:47 +02:00
|
|
|
|
|
|
|
|
|
2015-04-08 14:51:23 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-06-14 01:50:22 +09:00
|
|
|
|
2015-04-08 14:51:23 +02:00
|
|
|
|
|
|
|
|
|
2022-01-31 14:30:45 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-02-06 10:12:10 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-01-30 17:06:44 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-06-07 16:39:31 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-04-08 14:51:23 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-06-09 14:50:19 -05:00
|
|
|
|
|
|
|
|
|
2016-01-25 09:43:47 -06:00
|
|
|
|
2011-06-09 14:50:19 -05:00
|
|
|
|
2021-10-23 23:00:58 -07:00
|
|
|
|
2011-06-09 14:50:19 -05:00
|
|
|
|
2017-07-28 17:30:25 -07:00
|
|
|
|
2022-01-11 11:56:32 +01:00
|
|
|
|
2021-06-03 23:40:07 +01:00
|
|
|
|
2017-07-28 17:30:25 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-10-23 23:00:58 -07:00
|
|
|
|
2017-07-28 17:30:25 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-01-25 02:09:07 +01:00
|
|
|
|
2024-05-30 12:19:59 +02:00
|
|
|
|
2019-01-25 02:09:07 +01:00
|
|
|
|
2021-06-25 10:37:34 +02:00
|
|
|
|
2019-01-25 02:09:07 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-10-20 23:51:46 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-08-16 15:13:15 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-07-25 14:59:38 -07:00
|
|
|
|
|
|
|
|
|
2017-04-04 15:38:56 +03:00
|
|
|
|
2016-07-25 14:59:38 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-10-23 23:00:58 -07:00
|
|
|
|
2016-07-25 14:59:38 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-07-27 14:46:00 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-01-07 16:10:08 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-01-29 18:20:30 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-04-08 15:11:16 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-07-25 01:46:10 -07:00
|
|
|
|
2015-04-08 14:30:37 +02:00
|
|
|
|
|
|
|
|
|
2016-11-20 17:37:25 +00:00
|
|
|
|
2021-06-25 10:37:34 +02:00
|
|
|
|
2009-09-22 16:46:39 -07:00
|
|
|
|
2021-10-23 23:00:58 -07:00
|
|
|
|
2009-09-22 16:46:39 -07:00
|
|
|
|
2021-10-23 23:00:58 -07:00
|
|
|
|
|
|
|
|
|
2015-04-08 14:30:37 +02:00
|
|
|
|
2010-01-08 14:43:08 -08:00
|
|
|
|
2015-04-08 14:30:37 +02:00
|
|
|
|
2009-12-14 18:00:32 -08:00
|
|
|
|
2008-07-25 01:46:10 -07:00
|
|
|
|
|
|
|
|
|
2015-12-06 14:52:45 -06:00
|
|
|
|
2008-07-25 01:46:10 -07:00
|
|
|
|
2014-03-11 11:23:44 +01:00
|
|
|
|
2008-07-25 01:46:10 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-10-04 18:40:55 +02:00
|
|
|
|
2008-07-25 01:46:10 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-07-08 14:08:23 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-02-16 20:34:19 +02:00
|
|
|
|
2016-07-08 14:08:23 +03:00
|
|
|
|
|
|
|
|
|
2009-09-22 16:46:36 -07:00
|
|
|
|
2019-03-26 10:42:48 -04:00
|
|
|
|
|
|
|
|
|
2019-03-27 10:15:15 -04:00
|
|
|
|
2019-03-26 10:42:48 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-03-02 16:04:46 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-02-15 15:52:06 +01:00
|
|
|
|
2020-03-02 16:04:46 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-03-15 17:50:26 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-04-08 14:30:37 +02:00
|
|
|
|
|
|
|
|
|
2016-11-20 17:37:25 +00:00
|
|
|
|
2015-04-08 14:30:37 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-10-23 23:00:58 -07:00
|
|
|
|
|
|
|
|
|
2015-04-08 14:30:37 +02:00
|
|
|
|
|
|
|
|
|
2010-10-27 15:33:21 -07:00
|
|
|
|
2021-10-23 23:00:58 -07:00
|
|
|
|
2015-12-06 14:52:45 -06:00
|
|
|
|
2011-07-21 09:19:59 +09:00
|
|
|
|
2010-10-27 15:33:21 -07:00
|
|
|
|
2021-10-23 23:00:58 -07:00
|
|
|
|
|
|
|
|
|
2010-10-27 15:33:21 -07:00
|
|
|
|
|
|
|
|
|
2021-10-23 23:00:58 -07:00
|
|
|
|
2011-10-28 09:23:32 +09:00
|
|
|
|
2021-10-23 23:00:58 -07:00
|
|
|
|
2011-10-28 09:23:32 +09:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-05-09 19:58:49 +09:00
|
|
|
|
2017-02-01 15:37:55 -05:00
|
|
|
|
|
|
|
|
|
2023-08-10 18:00:40 -04:00
|
|
|
|
2022-09-18 12:50:45 -04:00
|
|
|
|
2017-02-01 15:37:55 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-01-09 17:21:45 -05:00
|
|
|
|
|
|
|
|
|
2023-08-10 18:00:42 -04:00
|
|
|
|
|
|
|
|
|
2018-01-09 17:21:45 -05:00
|
|
|
|
2023-08-10 18:00:42 -04:00
|
|
|
|
2018-01-09 17:21:45 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-03-21 01:06:09 +01:00
|
|
|
|
|
|
|
|
|
2010-05-11 13:24:20 -07:00
|
|
|
|
2010-03-21 01:06:09 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-06-27 09:26:23 +02:00
|
|
|
|
|
|
|
|
|
2015-12-06 14:52:45 -06:00
|
|
|
|
2011-06-27 09:26:23 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-04-08 15:11:16 +02:00
|
|
|
|
2009-12-15 16:46:18 -08:00
|
|
|
|
2015-04-08 15:11:16 +02:00
|
|
|
|
|
|
|
|
|
2008-02-04 22:28:17 -08:00
|
|
|
|
2015-04-08 14:34:51 +02:00
|
|
|
|
|
|
|
|
|
2016-08-16 12:07:31 +02:00
|
|
|
|
2015-04-08 14:34:51 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-10-23 23:00:58 -07:00
|
|
|
|
2008-02-04 22:28:17 -08:00
|
|
|
|
2017-10-12 12:40:10 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-07-21 14:21:34 -07:00
|
|
|
|
|
|
|
|
|
2010-03-05 13:44:33 -08:00
|
|
|
|
2008-07-21 14:21:34 -07:00
|
|
|
|
2010-03-05 13:44:33 -08:00
|
|
|
|
2008-07-21 14:21:34 -07:00
|
|
|
|
2015-11-01 10:50:19 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-01-25 10:37:31 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-05-15 08:58:25 +03:00
|
|
|
|
|
|
|
|
|
2017-05-30 13:13:17 +02:00
|
|
|
|
2017-05-15 08:58:25 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-08-12 18:11:17 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-11-01 10:50:19 +01:00
|
|
|
|
|
|
|
|
|
2015-04-08 15:11:16 +02:00
|
|
|
|
|
|
|
|
|
2012-11-05 15:48:24 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-12-06 14:52:45 -06:00
|
|
|
|
2012-11-05 15:48:24 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-03-05 01:35:31 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-11-05 15:48:24 +01:00
|
|
|
|
2015-04-08 15:11:16 +02:00
|
|
|
|
2014-11-06 15:48:05 +02:00
|
|
|
|
2020-12-07 21:38:16 +01:00
|
|
|
|
|
|
|
|
|
2020-05-11 16:52:55 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-10-07 13:46:46 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-03-13 11:37:17 +01:00
|
|
|
|
2023-09-07 16:52:28 +02:00
|
|
|
|
2019-03-13 11:37:17 +01:00
|
|
|
|
|
|
|
|
|
2023-09-07 16:52:28 +02:00
|
|
|
|
|
|
|
|
|
2019-03-13 11:37:17 +01:00
|
|
|
|
2021-01-21 13:13:55 +01:00
|
|
|
|
2019-03-13 11:37:17 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-08-19 10:00:22 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-10-21 16:34:19 +05:30
|
|
|
|
2021-08-19 10:00:22 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-12-07 10:34:09 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-12-07 21:38:16 +01:00
|
|
|
|
|
|
|
|
|
2024-06-20 11:41:58 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-07-08 16:29:12 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-06-20 11:41:58 +02:00
|
|
|
|
|
|
|
|
|
2008-07-25 01:46:11 -07:00
|
|
|
|