Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1307058 > unrolled thread

[PATCH 0/2] gpio-f7188x: Add F81886 gpio function

Started byPeter Hung <hpeter@gmail.com>
First post2016-01-12 08:50 +0100
Last post2016-01-12 08:50 +0100
Articles 2 — 1 participant

Back to article view | Back to linux.kernel


Contents

  [PATCH 0/2] gpio-f7188x: Add F81886 gpio function  Peter Hung <hpeter@gmail.com> - 2016-01-12 08:50 +0100
    [PATCH 1/2] gpio-f7188x: add Fintek F81866 SuperIO support Peter Hung <hpeter@gmail.com> - 2016-01-12 08:50 +0100

#1307058 — [PATCH 0/2] gpio-f7188x: Add F81886 gpio function

FromPeter Hung <hpeter@gmail.com>
Date2016-01-12 08:50 +0100
Subject[PATCH 0/2] gpio-f7188x: Add F81886 gpio function
Message-ID<qQ1Sh-6do-3@gated-at.bofh.it>
Fintek F81886 SuperIO spec:
http://www.alldatasheet.com/datasheet-pdf/pdf/459085/FINTEK/F81866AD-I.html
The detail gpio check & configuration could be found within spec P126.

It controls gpio is the same with F7188x and has max 9 set of gpios.
The gpio address is below:
	GPIO0x based: 0xf0
	GPIO1x based: 0xe0
	GPIO2x based: 0xd0
	GPIO3x based: 0xc0
	GPIO4x based: 0xb0
	GPIO5x based: 0xa0
	GPIO6x based: 0x90
	GPIO7x based: 0x80
	GPIO8x based: 0x88 <-- not 0x70.

The first patch only add basic structure for F81866 to use all unverified
gpio, and second patch add filter function to make sure only enabled gpios
are exported.

Peter Hung (2):
  gpio-f7188x: add Fintek F81866 SuperIO support
  gpio-f7188x: filter non-export gpio for F81866

 drivers/gpio/gpio-f7188x.c | 176 ++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 175 insertions(+), 1 deletion(-)

-- 
1.9.1

[toc] | [next] | [standalone]


#1307062 — [PATCH 1/2] gpio-f7188x: add Fintek F81866 SuperIO support

FromPeter Hung <hpeter@gmail.com>
Date2016-01-12 08:50 +0100
Subject[PATCH 1/2] gpio-f7188x: add Fintek F81866 SuperIO support
Message-ID<qQ1Si-6do-23@gated-at.bofh.it>
In reply to#1307058
add basic F81866 SuperIO gpio support

Signed-off-by: Peter Hung <hpeter+linux_kernel@gmail.com>
---
 drivers/gpio/gpio-f7188x.c | 23 ++++++++++++++++++++++-
 1 file changed, 22 insertions(+), 1 deletion(-)

diff --git a/drivers/gpio/gpio-f7188x.c b/drivers/gpio/gpio-f7188x.c
index 5e3c4fa..a6a9641 100644
--- a/drivers/gpio/gpio-f7188x.c
+++ b/drivers/gpio/gpio-f7188x.c
@@ -36,14 +36,16 @@
 #define SIO_F71869A_ID		0x1007	/* F71869A chipset ID */
 #define SIO_F71882_ID		0x0541	/* F71882 chipset ID */
 #define SIO_F71889_ID		0x0909	/* F71889 chipset ID */
+#define SIO_F81866_ID		0x1010	/* F81866 chipset ID */
 
-enum chips { f71869, f71869a, f71882fg, f71889f };
+enum chips { f71869, f71869a, f71882fg, f71889f, f81866 };
 
 static const char * const f7188x_names[] = {
 	"f71869",
 	"f71869a",
 	"f71882fg",
 	"f71889f",
+	"f81866",
 };
 
 struct f7188x_sio {
@@ -190,6 +192,18 @@ static struct f7188x_gpio_bank f71889_gpio_bank[] = {
 	F7188X_GPIO_BANK(70, 8, 0x80),
 };
 
+static struct f7188x_gpio_bank f81866_gpio_bank[] = {
+	F7188X_GPIO_BANK(0, 8, 0xF0),
+	F7188X_GPIO_BANK(10, 8, 0xE0),
+	F7188X_GPIO_BANK(20, 8, 0xD0),
+	F7188X_GPIO_BANK(30, 8, 0xC0),
+	F7188X_GPIO_BANK(40, 8, 0xB0),
+	F7188X_GPIO_BANK(50, 8, 0xA0),
+	F7188X_GPIO_BANK(60, 8, 0x90),
+	F7188X_GPIO_BANK(70, 8, 0x80),
+	F7188X_GPIO_BANK(80, 8, 0x88),
+};
+
 static int f7188x_gpio_direction_in(struct gpio_chip *chip, unsigned offset)
 {
 	int err;
@@ -322,6 +336,10 @@ static int f7188x_gpio_probe(struct platform_device *pdev)
 		data->nr_bank = ARRAY_SIZE(f71889_gpio_bank);
 		data->bank = f71889_gpio_bank;
 		break;
+	case f81866:
+		data->nr_bank = ARRAY_SIZE(f81866_gpio_bank);
+		data->bank = f81866_gpio_bank;
+		break;
 	default:
 		return -ENODEV;
 	}
@@ -399,6 +417,9 @@ static int __init f7188x_find(int addr, struct f7188x_sio *sio)
 	case SIO_F71889_ID:
 		sio->type = f71889f;
 		break;
+	case SIO_F81866_ID:
+		sio->type = f81866;
+		break;
 	default:
 		pr_info(DRVNAME ": Unsupported Fintek device 0x%04x\n", devid);
 		goto err;
-- 
1.9.1

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web