Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751184AbeACR15 (ORCPT + 1 other); Wed, 3 Jan 2018 12:27:57 -0500 Received: from mail-ot0-f176.google.com ([74.125.82.176]:43800 "EHLO mail-ot0-f176.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750865AbeACR1y (ORCPT ); Wed, 3 Jan 2018 12:27:54 -0500 X-Google-Smtp-Source: ACJfBovHa3xEieg0/tDRf1VqGpT4qHQHuxtPmuCfl1RWIDBckdigPTXP/n6bFRykdlzzuSqBwLL3V37IBc93sY9fD3w= MIME-Version: 1.0 In-Reply-To: <20180103171347.GF9493@w540> References: <1514469681-15602-1-git-send-email-jacopo+renesas@jmondi.org> <1514469681-15602-10-git-send-email-jacopo+renesas@jmondi.org> <20180103171347.GF9493@w540> From: Fabio Estevam Date: Wed, 3 Jan 2018 15:27:53 -0200 Message-ID: Subject: Re: [PATCH v2 9/9] media: i2c: tw9910: Remove soc_camera dependencies To: jacopo mondi Cc: Jacopo Mondi , Laurent Pinchart , Magnus Damm , geert@glider.be, Mauro Carvalho Chehab , Hans Verkuil , Rob Herring , Mark Rutland , linux-renesas-soc@vger.kernel.org, linux-media , linux-sh@vger.kernel.org, "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" , linux-kernel Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Return-Path: Hi Jacopo, On Wed, Jan 3, 2018 at 3:13 PM, jacopo mondi wrote: > That would be true if I would have declared the GPIO to be ACTIVE_LOW. > See patch [5/9] in this series and search for "rstb". The GPIO (which > is shared between two devices) is said to be active high... Just looked at your patch 5/9 and it seems it only works because you made two inversions :-) Initially the rest GPIO was doing: - gpio_set_value(GPIO_PTT3, 0); - mdelay(10); - gpio_set_value(GPIO_PTT3, 1); - mdelay(10); /* wait to let chip come out of reset */ So this is an active low reset. So you should have converted it to: GPIO_LOOKUP("sh7722_pfc", GPIO_PTT3, "rstb", GPIO_ACTIVE_LOW), and then in this patch you should do as I said earlier: gpiod_set_value(priv->rstb_gpio, 1); usleep_range(500, 1000); gpiod_set_value(priv->rstb_gpio, 0);