From patchwork Tue Jan 15 12:33:24 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steffen Kothe X-Patchwork-Id: 1025160 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-gpio-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=quarantine dis=none) header.from=googlemail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=googlemail.com header.i=@googlemail.com header.b="ILj18wNb"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 43f8sF2FYlz9sD9 for ; Tue, 15 Jan 2019 23:33:53 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729486AbfAOMda (ORCPT ); Tue, 15 Jan 2019 07:33:30 -0500 Received: from mail-qt1-f182.google.com ([209.85.160.182]:38912 "EHLO mail-qt1-f182.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728795AbfAOMd3 (ORCPT ); Tue, 15 Jan 2019 07:33:29 -0500 Received: by mail-qt1-f182.google.com with SMTP id u47so2697587qtj.6 for ; Tue, 15 Jan 2019 04:33:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20161025; h=to:cc:from:subject:message-id:date:user-agent:mime-version :content-language; bh=d+gKG4rY1UDoXkDc9tfYl73IFLdsz0UCkTx0m9jECkA=; b=ILj18wNbDDNcKJhhhlqbajFFIyo2yRMGiNN3VZ9AJCm/NJoGVCXIdbyYt0bSPmtM9n CucB+OUSdsx4+Wa5TOUVJo4H/K0F7uwYekW/48rIZGdCA9a42x6a0K70o+JxDtLINThK nN09AWxmNlhPc/R1BRVY+rJNfSW3m8dDishM0+fHy2ejiP/6lPYDw5/cP8MT2iQm5T7r U6KzDg2xl1I5nSHzm48jHZY5j+DMhiBm9RVk0PvpGxJbAvkuK1B5+hVvkQMSA/ndmh6f BNoinuCQfg0XYyq9nhatFxt0U+C8NbU0D4J6wc5ldNI4PQCr9acYtoocjRFPBqV9UEzc wWEQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:to:cc:from:subject:message-id:date:user-agent :mime-version:content-language; bh=d+gKG4rY1UDoXkDc9tfYl73IFLdsz0UCkTx0m9jECkA=; b=T4C0VkLws8J+gRVfFpOj/ltBdMba9ulfc81YiTGJRfMdff6yuiHCyo9+meKinCyx/C NEUHdTjcbcNlh0v0IrR3dxL5pzXQmk/Thlcr1KploP+0GSFyEHPrbI3BS6fXeSTmwrmR XS7Vinu1dRjtiDE8FieY7znRksE7zgALiP6iuFNB8spS4Z8JEnH2rHoVwAjgcY00lyss 2dlCb8RoZOhpb5pXHGXnVXDZIvP+AeyX3QWpwzMmp5UP926c8G6a8x4pw2xXQZ2hdBAk nPb9zbRl3sY4tay8VsgJBFL3tJKS+ILnWk8IYQMLttZwu74SBmURwSDFgZFjXhetGoPt YvBA== X-Gm-Message-State: AJcUukcwesxOOu67jISI9lC1VdID+DA3U4IZNbpdAONEs5HGmAmhgKl0 P7PfVTd908OeH24J0NSSzdckmCu5y7E= X-Google-Smtp-Source: ALg8bN5PfVR4gpjGVcSoYr2EUT1D34enMGMGp1oqow5P6hQaD/lKfgSnSN6gsmEI2xzGeUX8Lsr7Bg== X-Received: by 2002:a0c:a402:: with SMTP id w2mr2717737qvw.129.1547555607671; Tue, 15 Jan 2019 04:33:27 -0800 (PST) Received: from [192.168.178.171] (p50974f1f.dip0.t-ipconnect.de. [80.151.79.31]) by smtp.gmail.com with ESMTPSA id q21sm53738153qtk.79.2019.01.15.04.33.26 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 15 Jan 2019 04:33:27 -0800 (PST) To: linus.walleij@linaro.org, bgolaszewski@baylibre.com Cc: linux-gpio@vger.kernel.org, pfink@christ-es.de From: Steffen Kothe Subject: gpio-f7188x.c Add support for Fintek F81804 & F81966 S/IO Message-ID: <56a189fe-7e74-f83f-dc84-d3986bdcaa0d@googlemail.com> Date: Tue, 15 Jan 2019 13:33:24 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.2.1 MIME-Version: 1.0 Content-Language: en-US Sender: linux-gpio-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-gpio@vger.kernel.org From 929f2a155059042856af09aa46e749f7d61ea900 Mon Sep 17 00:00:00 2001 From: Steffen Kothe Date: Tue, 15 Jan 2019 13:26:12 +0100 Subject: [PATCH] gpio-f7188x: add support Fintek F81804 & F81966 Basic implementation of driver is used to support Fintek F81804 & F81966 gpios with custom register set. Signed-off-by: Steffen Kothe --- drivers/gpio/gpio-f7188x.c | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/drivers/gpio/gpio-f7188x.c b/drivers/gpio/gpio-f7188x.c index 13350c9d7f5e..0896c825b312 100644 --- a/drivers/gpio/gpio-f7188x.c +++ b/drivers/gpio/gpio-f7188x.c @@ -39,8 +39,10 @@ #define SIO_F71889_ID 0x0909 /* F71889 chipset ID */ #define SIO_F71889A_ID 0x1005 /* F71889A chipset ID */ #define SIO_F81866_ID 0x1010 /* F81866 chipset ID */ +#define SIO_F81804_ID 0x1502 /* F81804 chipset ID, same for f81966 */ -enum chips { f71869, f71869a, f71882fg, f71889a, f71889f, f81866 }; + +enum chips { f71869, f71869a, f71882fg, f71889a, f71889f, f81866, f81804 }; static const char * const f7188x_names[] = { "f71869", @@ -49,6 +51,7 @@ static const char * const f7188x_names[] = { "f71889a", "f71889f", "f81866", + "f81804", }; struct f7188x_sio { @@ -223,6 +226,18 @@ static struct f7188x_gpio_bank f81866_gpio_bank[] = { F7188X_GPIO_BANK(80, 8, 0x88), }; + +static struct f7188x_gpio_bank f81804_gpio_bank[] = { + F7188X_GPIO_BANK(0, 8, 0xF0), + F7188X_GPIO_BANK(10, 8, 0xE0), + F7188X_GPIO_BANK(20, 8, 0xD0), + F7188X_GPIO_BANK(50, 8, 0xA0), + F7188X_GPIO_BANK(60, 8, 0x90), + F7188X_GPIO_BANK(70, 8, 0x80), + F7188X_GPIO_BANK(90, 8, 0x98), +}; + + static int f7188x_gpio_get_direction(struct gpio_chip *chip, unsigned offset) { int err; @@ -407,6 +422,10 @@ static int f7188x_gpio_probe(struct platform_device *pdev) data->nr_bank = ARRAY_SIZE(f81866_gpio_bank); data->bank = f81866_gpio_bank; break; + case f81804: + data->nr_bank = ARRAY_SIZE(f81804_gpio_bank); + data->bank = f81804_gpio_bank; + break; default: return -ENODEV; } @@ -469,6 +488,9 @@ static int __init f7188x_find(int addr, struct f7188x_sio *sio) case SIO_F81866_ID: sio->type = f81866; break; + case SIO_F81804_ID: + sio->type = f81804; + break; default: pr_info(DRVNAME ": Unsupported Fintek device 0x%04x\n", devid); goto err; -- 2.17.1