From patchwork Fri Oct 13 10:56:39 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Todor Tomov X-Patchwork-Id: 115753 Delivered-To: patch@linaro.org Received: by 10.140.22.163 with SMTP id 32csp584709qgn; Fri, 13 Oct 2017 03:57:54 -0700 (PDT) X-Google-Smtp-Source: AOwi7QC1q8yrP8UUKsbCmNrk8eG5/5/85F02QDwyoy/IifgNR/u6MeGck+X18JYKucTz3cbdmH0P X-Received: by 10.98.18.18 with SMTP id a18mr989803pfj.301.1507892274420; Fri, 13 Oct 2017 03:57:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1507892274; cv=none; d=google.com; s=arc-20160816; b=SvOHyw5CB8Cne7VOE7lbKEq3MCxvSv6fJQHdXamzRYpzqGjkzAM6Up5sCFR9bfgkef QCX9q+Tlh/foUGgI41s6iytoNTL+IccFnovy9W1pCu+yAN4YE+t1mXHHl2y96r7O73/E 7XvZ90LNyEkyR4IpWnmFOwaiUWjQhgrrH+IjzL+AewleBOzTJZeACnR58kg0jrHORywF 6hI15nj92vAn01mYwOXdoxFJBwD7NOPB8vUSPciQftXxLaGjpQcPIBXmxpsXLtsVgj4a M9wt18k8CmHgDE73clr6gD9SjUw1xXef3cZrCND0J7Opu1UeovDteKU6GD62u9zyGord WS8g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :arc-authentication-results; bh=S56zpHkf8nSoLtMB3u3enGmclyk1VA6TtCsD9XRRt4U=; b=cgTYre2Jp7JjuFnsRGjkgJoCny1K0Mf8TQJIzMP+v2CEGrIT+f6jzWFGouRnmO2pE0 bnao4hLDLAYsWJFy0SqmXa1hKRdzBaBBAI8LnmjML4772KrOJMDuDhetkNc3tBF/I0Nw UFmruGuv0vSk1Xrpym6Bc+sj5tVbXP64TjIfeiaiA4u8HilcJctj1BtWQOxLDxNDjtaG Ond4tJDvv7BIlLWWnaXgWN+wa+NEMtPAyXlesDdZ75iDud+ItM76p4KJtQsK0+5o8gOw batv517ap30vBC/td6nA9vfEqula75swn3NdV6PuC8joLmIs3jm/uWPVd9O8Qppbce2b DHeQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id s11si465073plp.812.2017.10.13.03.57.54; Fri, 13 Oct 2017 03:57:54 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757661AbdJMK5w (ORCPT + 27 others); Fri, 13 Oct 2017 06:57:52 -0400 Received: from ns.mm-sol.com ([37.157.136.199]:37929 "EHLO extserv.mm-sol.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751619AbdJMK5s (ORCPT ); Fri, 13 Oct 2017 06:57:48 -0400 Received: from mms-0439.qualcomm.mm-sol.com (unknown [37.157.136.206]) by extserv.mm-sol.com (Postfix) with ESMTPSA id B71A9CC2D; Fri, 13 Oct 2017 13:57:45 +0300 (EEST) From: Todor Tomov To: wsa@the-dreams.de, linux-i2c@vger.kernel.org Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, Todor Tomov Subject: [PATCH v2 0/4] Qualcomm Camera Control Interface driver Date: Fri, 13 Oct 2017 13:56:39 +0300 Message-Id: <1507892203-17033-1-git-send-email-todor.tomov@linaro.org> X-Mailer: git-send-email 2.7.4 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patchset adds basic support for the Qualcomm Camera Control Interface (CCI) controller found on Qualcomm MSM8916/APQ8016 and MSM8996/APQ8996 SoC. CCI has one I2C bus on MSM8916/APQ8016 and two I2C busses on MSM8996/APQ8096. The present driver supports the first I2C bus only. The driver is implemented using as a reference the Qualcomm CCI driver for Android as found in Code Aurora [1] and [2]. The driver is tested on Dragonboard 410c (APQ8016) and Dragonboard 820c (APQ8096) with one and two OV5645 camera sensors. [1] https://source.codeaurora.org/quic/la/kernel/msm-3.10/ [2] https://source.codeaurora.org/quic/la/kernel/msm-3.18/ -------------------------------------------------------------------------------- Changes in v2: - use clock bulk API for clock handling; - remove reg and interrupt names from dt binding as there are only one from each; - improved checks in cci_validate_queue(); - halt and reset CCI on timeout after run queue; - a fix for CCI reset after halt; - a lot of small code and style fixes. -------------------------------------------------------------------------------- Todor Tomov (4): dt-bindings: media: Binding document for Qualcomm Camera Control Interface driver i2c: Add Qualcomm Camera Control Interface driver MAINTAINERS: Add Qualcomm Camera Control Interface driver arm64: dts: qcom: Add Camera Control Interface support .../devicetree/bindings/i2c/i2c-qcom-cci.txt | 46 ++ MAINTAINERS | 7 + arch/arm64/boot/dts/qcom/msm8916-pins.dtsi | 14 + arch/arm64/boot/dts/qcom/msm8916.dtsi | 19 + arch/arm64/boot/dts/qcom/msm8996-pins.dtsi | 14 + arch/arm64/boot/dts/qcom/msm8996.dtsi | 22 + drivers/i2c/busses/Kconfig | 10 + drivers/i2c/busses/Makefile | 1 + drivers/i2c/busses/i2c-qcom-cci.c | 789 +++++++++++++++++++++ 9 files changed, 922 insertions(+) create mode 100644 Documentation/devicetree/bindings/i2c/i2c-qcom-cci.txt create mode 100644 drivers/i2c/busses/i2c-qcom-cci.c -- 2.7.4