Received: by 2002:a05:6a10:a841:0:0:0:0 with SMTP id d1csp783439pxy; Wed, 21 Apr 2021 15:08:25 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzwuisT6gIJK+2xSLO1OlzGrr5ZNCjGRYbD/7JUatiu/Z4Gh8a4PUQ7EVkDI5WUCvwsz11g X-Received: by 2002:a05:6402:1287:: with SMTP id w7mr148275edv.208.1619042905258; Wed, 21 Apr 2021 15:08:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1619042905; cv=none; d=google.com; s=arc-20160816; b=lwr9dlgRfhJuxUCU0vkiHxoByjLh+3vC7oRFNX1RGU8QFT8YJivUWzQRGxby/AeZyC qxlgHpAghQsWsTSepV13xcKpVjIUotwOq5UjqiKljrzb0j4dJ1vwC5D8wqtxZ5oK17Zo EyPVezo/T6HYP0IuA9IRGmGfZHJbnmDyoesUmyfK1GbHAX08ptfqO1Z6kPi7SonH4qBs jy/mwHX0+dDwS0ofY3blzOY8S7L0N7inpSQj6WC0WVdhwL2AU1pfA4/R/9V5BySJ8F4Z QvxlrDGKQ9JqDeH9e18DpELLdjDuP5EjGJ0sM4n7/R2oY+gb5m1zXSRu1aCnrwh4YTgo Fg9Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=GUQFlStSPSujftX/iAesdEjGGXu5ZpXljU46RwiL3yM=; b=et15IjPpMcqwMa/sbBZLGSUhelrtMnUuIXSSxuwNf74kIhPWpcw5adqCzOOp3CM9o7 3edFiH1Lka6YHYr1d9GFrsN/OJ9bFvTb+FkgAp2zNFnor0YStXzVXHW7Vw63zDXM8nnw KvqGYjkBB3S+SvR1Hkm6yTVFIBC+3mtXweHORtNIbi+td7D80UEjeYfqJwrhvBhU9B4H 2VJADOLGcckr6aD4XhlC/nJ8NTjP4XD1uIdcpb3HSfPAGxwwYARCiX8BCxOhsjRLrD2M 37780npzFeXZ14BNaE4eOUBnUE4LEHRpPQtvxtU507lVK0yqHvhVs2zrr1fXItp2AxKU apzw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=nHvRdsmx; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id y9si414323ejf.393.2021.04.21.15.07.14; Wed, 21 Apr 2021 15:08:25 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=nHvRdsmx; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S243689AbhDUOws (ORCPT + 99 others); Wed, 21 Apr 2021 10:52:48 -0400 Received: from mail.kernel.org ([198.145.29.99]:37882 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S240369AbhDUOwm (ORCPT ); Wed, 21 Apr 2021 10:52:42 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 8881D613B6; Wed, 21 Apr 2021 14:52:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1619016729; bh=KV+Ho0UxpPWM/DJ7vXp8Ca8eQ9iHjx1m52Pvj4SRTTk=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=nHvRdsmx9g3QMyv663N5BwhMOXbVYkurwTlbFgvVKKB9UT2X4//bbT0RhohT21j74 MVHo3ZXyl+CkWhY7Mv+iQEljzUJmYGD3WHYiksDdPXswTJQ9F1ZlGYOeSU+StZ7Fk4 1SyyrulMrr9revyUAR0g/A/P6S6x2Wrjdaj0qoPkIQ2rbHATxsboa6aNNutMXKq3Cu i592eaH5knlXyk+uRET3/amSRoUpLlO2sd2gBKxNRDeDxCTUTQs1f5yvQglmffePo8 wgHlMWhRPTwAhMtBQxoL1uINWC/9jI5FF1izA2NnudpoL4pbkRIMbaXgVOHw18wnrc d32ps7+hnPNtQ== Received: from johan by xi.lan with local (Exim 4.93.0.4) (envelope-from ) id 1lZED6-00036M-UM; Wed, 21 Apr 2021 16:52:13 +0200 Date: Wed, 21 Apr 2021 16:52:12 +0200 From: Johan Hovold To: Pho Tran Cc: gregkh@linuxfoundation.org, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, Hung.Nguyen@silabs.com, Tung.Pham@silabs.com, Pho Tran Subject: Re: [PATCH v9] USB: serial: cp210x: Add support for GPIOs on CP2108 Message-ID: References: <20210408103607.2077-1-photranvan0712@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20210408103607.2077-1-photranvan0712@gmail.com> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Apr 08, 2021 at 05:36:07PM +0700, Pho Tran wrote: > From: Pho Tran > > Similar to other CP210x devices, GPIO interfaces (gpiochip) should be > supported for CP2108. > +/* > + * Quad Port Config definitions > + * Refer to https://www.silabs.com/documents/public/application-notes/an978-cp210x-usb-to-uart-api-specification.pdf > + * for more information. > + * CP210X_VENDOR_SPECIFIC, CP210X_GET_PORTCONFIG call reads these 0x49 bytes > + * on a CP2108 chip. > + * CP2108 Quad Port State structure(used in Quad Port Config structure) > + */ > +struct cp210x_quad_port_state { > + __le16 gpio_mode_PB0; > + __le16 gpio_mode_PB1; > + __le16 gpio_mode_PB2; > + __le16 gpio_mode_PB3; > + __le16 gpio_mode_PB4; > + > + > + __le16 gpio_lowpower_PB0; > + __le16 gpio_lowpower_PB1; > + __le16 gpio_lowpower_PB2; > + __le16 gpio_lowpower_PB3; > + __le16 gpio_lowpower_PB4; > + > + __le16 gpio_latch_PB0; > + __le16 gpio_latch_PB1; > + __le16 gpio_latch_PB2; > + __le16 gpio_latch_PB3; > + __le16 gpio_latch_PB4; > +}; > + > +// Cp2108 Quad Port Config structure > +struct cp210x_quad_port_config { > + struct cp210x_quad_port_state reset_state; > + struct cp210x_quad_port_state suspend_state; > + u8 ipdelay_IFC[4]; > + u8 enhancedfxn_IFC[4]; > + u8 enhancedfxn_device; > + u8 extclkfreq[4]; > +} __packed; One more thing; I noticed that the layout of the other port-config structures do not match the ones used by your library API, which is what the above pdf documents (e.g. they have additional padding). Did you verify that the above layout is actually correct? And did you try changing the pin functions in EEPROM and make sure that your code handles it as expected? Is there any corresponding document for the actual device protocol? Johan