Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932896AbbELMqC (ORCPT ); Tue, 12 May 2015 08:46:02 -0400 Received: from metis.ext.pengutronix.de ([92.198.50.35]:54752 "EHLO metis.ext.pengutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932507AbbELMqA (ORCPT ); Tue, 12 May 2015 08:46:00 -0400 Date: Tue, 12 May 2015 14:45:16 +0200 From: Sascha Hauer To: Eddie Huang Cc: Wolfram Sang , Sascha Hauer , srv_heupstream@mediatek.com, Rob Herring , Pawel Moll , Mark Rutland , Ian Campbell , Kumar Gala , Matthias Brugger , Jean Delvare , David Box , Doug Anderson , Zhangfei Gao , Max Schwarz , Boris BREZILLON , Anders Berg , Neelesh Gupta , Lee Jones , Arnd Bergmann , Ray Jui , Simon Glass , Wei Yan , Beniamino Galvani , Xudong Chen , Liguo Zhang , linux-i2c@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org Subject: Re: [PATCH v7 0/3] ARM: mediatek: Add driver for Mediatek I2C Message-ID: <20150512124516.GB26575@pengutronix.de> References: <1430901427-65146-1-git-send-email-eddie.huang@mediatek.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1430901427-65146-1-git-send-email-eddie.huang@mediatek.com> X-Sent-From: Pengutronix Hildesheim X-URL: http://www.pengutronix.de/ X-IRC: #ptxdist @freenode X-Accept-Language: de,en X-Accept-Content-Type: text/plain X-Uptime: 14:44:39 up 57 days, 36 min, 95 users, load average: 0.02, 0.10, 0.13 User-Agent: Mutt/1.5.21 (2010-09-15) X-SA-Exim-Connect-IP: 2001:67c:670:100:1d::c0 X-SA-Exim-Mail-From: sha@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3277 Lines: 76 On Wed, May 06, 2015 at 04:37:04PM +0800, Eddie Huang wrote: > This series is for Mediatek SoCs I2C controller common bus driver. > > Earlier MTK SoC ((for example, MT6589, MT8135)) I2C HW has some limitationes. > New generation SoC like MT8173 fix following limitations: > > 1. Only support one i2c_msg number. One exception is WRRD (write then read) > mode. WRRD can have two i2c_msg numbers. > > 2. Mediatek I2C controller support WRRD(write then read) mode, in WRRD > mode the Repeat Start will be issued between 2 messages. > In this driver if 2 messages is first write then read, the driver will > combine 2 messages using Write-Read mode so the RS will be issued between > the 2 messages. > > 3. The max transfer data length is 255 in one message. In WRRD mode, the > max data length of second msg is 31. > > MT8135 and MT6589 can control I2C pins on PMIC(MT6397) by setting the i2c > registers in MT8135 side. In this case, driver should set OFFSET_PATH_DIR > bit first, the operation on other registers are still the same. > For now MT6589/MT8135 support this, MT6577/MT6595/MT8127 do not support. > For example, If want to use I2C4/5/6 pins on MT8135 just need to enable > the pinmux, else if want to use I2C pins on PMIC(MT6397) need to add > "mediatek,have-pmic" property in the .dts file of each platform. > > This driver is based on 4.1-rc1. > > Change in v7: > Fix mtk_i2c_of_match in wrong patch bug. > > Change in v6: > 1. Update binding document not use default clock-frequency as example. > 2. Add mtk_i2c_compatible struct and pass hardware capabilities > through of_device_id > 3. Remove some hardware setting in mtk_i2c_do_transfer to mtk_i2c_init_hw > so just init one time. > 4. Correct mtk_i2c_parse_dt don't set default clock bug. > > Change in v5: > Apply new i2c_adapter_quirks patch [2]. Change to use dam_map_single to map > dma buffer. Add spinlock to fix race condition. Check of_property_read_u32 > return value. Remove I2C_FUNC_10BIT_ADDR capability due to driver not implement. > Add MT8173 I2C driver. > > Change in v4: > Modify to support i2c_adapter_quirks base on Wolfram's patch [1]. > Remove check transfer size and WRRD combine code. Instead, fill quirk > property and let i2c_check_for_quirks to do the filter. > > [1] http://lists.infradead.org/pipermail/linux-arm-kernel/2015-January/314804.html > [2] http://lists.infradead.org/pipermail/linux-arm-kernel/2015-February/325744.html > > Eddie Huang (1): > I2C: mediatek: Add driver for MediaTek MT8173 I2C controller > > Xudong Chen (2): > dt-bindings: Add I2C bindings for mt65xx/mt81xx. > I2C: mediatek: Add driver for MediaTek I2C controller All: Acked-by: Sascha Hauer Sascha -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/