From patchwork Tue Jan 22 06:33:31 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alok Chauhan X-Patchwork-Id: 10774893 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 7413A746 for ; Tue, 22 Jan 2019 06:34:15 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 63ACD2AF5A for ; Tue, 22 Jan 2019 06:34:15 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 6112D2AF18; Tue, 22 Jan 2019 06:34:15 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.7 required=2.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=unavailable version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 055F22AEF5 for ; Tue, 22 Jan 2019 06:34:14 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727046AbfAVGeL (ORCPT ); Tue, 22 Jan 2019 01:34:11 -0500 Received: from smtp.codeaurora.org ([198.145.29.96]:39158 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726174AbfAVGeL (ORCPT ); Tue, 22 Jan 2019 01:34:11 -0500 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id CBF6B607CA; Tue, 22 Jan 2019 06:34:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1548138849; bh=g4BdxC4J7Xh6tBmi9grBoNKEcFBvG64EaMC5Ydxc2tU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=JsQ2WJlQrpH8ZFupOxtNJcuMCoxZPhaWDF0/tC7Mh2wzLhOlUC+OaqB/NCcmpDHFY UZx2zZpT9bwe9WGafHxkg9FypKKN1znLIRkZyE8cmQgu+OEsZxhsbQ4LLeBlpIuvDT 0/yxvl+iP0ClT+5a4Hj0DkhLsvy0tuGFfPUYeGR0= Received: from alokc-linux.qualcomm.com (blr-c-bdr-fw-01_globalnat_allzones-outside.qualcomm.com [103.229.19.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: alokc@smtp.codeaurora.org) by smtp.codeaurora.org (Postfix) with ESMTPSA id 86F58607CA; Tue, 22 Jan 2019 06:34:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1548138849; bh=g4BdxC4J7Xh6tBmi9grBoNKEcFBvG64EaMC5Ydxc2tU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=JsQ2WJlQrpH8ZFupOxtNJcuMCoxZPhaWDF0/tC7Mh2wzLhOlUC+OaqB/NCcmpDHFY UZx2zZpT9bwe9WGafHxkg9FypKKN1znLIRkZyE8cmQgu+OEsZxhsbQ4LLeBlpIuvDT 0/yxvl+iP0ClT+5a4Hj0DkhLsvy0tuGFfPUYeGR0= DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org 86F58607CA Authentication-Results: pdx-caf-mail.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: pdx-caf-mail.web.codeaurora.org; spf=none smtp.mailfrom=alokc@codeaurora.org From: Alok Chauhan To: linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-i2c@vger.kernel.org, linux-spi@vger.kernel.org, linux-serial@vger.kernel.org, Andy Gross , David Brown , Rob Herring , Mark Rutland Cc: georgi.djakov@linaro.org, dianders@chromium.org, swboyd@chromium.org, bjorn.andersson@linaro.org, Alok Chauhan Subject: [PATCH 1/6] dt-bindings: soc: qcom: Add interconnect binding for GENI QUP Date: Tue, 22 Jan 2019 12:03:31 +0530 Message-Id: <1548138816-1149-2-git-send-email-alokc@codeaurora.org> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1548138816-1149-1-git-send-email-alokc@codeaurora.org> References: <1548138816-1149-1-git-send-email-alokc@codeaurora.org> Sender: linux-spi-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-spi@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Add documentation for the interconnect and interconnect-names bindings for the GENI QUP as detailed by bindings/interconnect/interconnect.txt. Signed-off-by: Alok Chauhan --- Documentation/devicetree/bindings/soc/qcom/qcom,geni-se.txt | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Documentation/devicetree/bindings/soc/qcom/qcom,geni-se.txt b/Documentation/devicetree/bindings/soc/qcom/qcom,geni-se.txt index dab7ca9..44d7e02 100644 --- a/Documentation/devicetree/bindings/soc/qcom/qcom,geni-se.txt +++ b/Documentation/devicetree/bindings/soc/qcom/qcom,geni-se.txt @@ -17,6 +17,12 @@ Required properties if child node exists: - #address-cells: Must be <1> for Serial Engine Address - #size-cells: Must be <1> for Serial Engine Address Size - ranges: Must be present +- interconnects: phandle to a interconnect provider. Please refer + ../interconnect/interconnect.txt for details. + Must be 2 paths corresponding to 2 AXI ports. +- interconnect-names: Port names to differentiate between the + 2 interconnect paths defined with interconnect + specifier. Properties for children: @@ -67,6 +73,10 @@ Example: #size-cells = <1>; ranges; + interconnects = <&qnoc 11 &qnoc 512>, + <&qnoc 0 &qnoc 543>; + interconnect-names = "qup-memory", "qup-config"; + i2c0: i2c@a94000 { compatible = "qcom,geni-i2c"; reg = <0xa94000 0x4000>; From patchwork Tue Jan 22 06:33:32 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alok Chauhan X-Patchwork-Id: 10774897 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 026E31823 for ; Tue, 22 Jan 2019 06:34:32 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E551C2AF5B for ; Tue, 22 Jan 2019 06:34:31 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id E39422AF68; Tue, 22 Jan 2019 06:34:31 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.7 required=2.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=unavailable version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 0C37E2AF5B for ; Tue, 22 Jan 2019 06:34:31 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727087AbfAVGeZ (ORCPT ); Tue, 22 Jan 2019 01:34:25 -0500 Received: from smtp.codeaurora.org ([198.145.29.96]:39384 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726174AbfAVGeZ (ORCPT ); Tue, 22 Jan 2019 01:34:25 -0500 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id 595A66085C; Tue, 22 Jan 2019 06:34:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1548138863; bh=at+FEdyRz0FwX5d+J9l/6gAU1xPYbUqvsAjyr/pNn5U=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=U/dcoI34NMYzysuuUpBMhOAFCnsWChrP04JlgCVxFCxtCew5fWIyS5YTFBHpyZYF9 JRwZTw4++A5c4huYhxbLT1tHkdnDYi1t5M8bHb3Dqbs7glRkBgEApHp0u4x58tUlpY dZECCx7pwLGP8cGiqvcmsOY8dqLj2CqZivXE8WUQ= Received: from alokc-linux.qualcomm.com (blr-c-bdr-fw-01_globalnat_allzones-outside.qualcomm.com [103.229.19.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: alokc@smtp.codeaurora.org) by smtp.codeaurora.org (Postfix) with ESMTPSA id 0F666608EA; Tue, 22 Jan 2019 06:34:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1548138861; bh=at+FEdyRz0FwX5d+J9l/6gAU1xPYbUqvsAjyr/pNn5U=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=oC/NKwmFzfT/Pk9DRoA2bRjRNtC3oGhZdtS/tzUfq8OcnBJsgeP5WrLJOv/8tYLa2 BxfhOUcep2Y21/dt46sY4P/krJQc4l82kkjYh8rUYO4+qs8W9bMfqrtKSUM5EvaEqc wrvM6Rl4DM59HQbUG05okJwtoz523unuJiVgZ2WY= DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org 0F666608EA Authentication-Results: pdx-caf-mail.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: pdx-caf-mail.web.codeaurora.org; spf=none smtp.mailfrom=alokc@codeaurora.org From: Alok Chauhan To: linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-i2c@vger.kernel.org, linux-spi@vger.kernel.org, linux-serial@vger.kernel.org, Andy Gross , David Brown , Stephen Boyd , Douglas Anderson , Bjorn Andersson , Karthikeyan Ramasubramanian , Alok Chauhan Cc: georgi.djakov@linaro.org Subject: [PATCH 2/6] soc: qcom: Add wrapper to support for Interconnect path Date: Tue, 22 Jan 2019 12:03:32 +0530 Message-Id: <1548138816-1149-3-git-send-email-alokc@codeaurora.org> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1548138816-1149-1-git-send-email-alokc@codeaurora.org> References: <1548138816-1149-1-git-send-email-alokc@codeaurora.org> Sender: linux-spi-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-spi@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Add the wrapper to support for interconnect path voting from GENI QUP. This wrapper provides the functionalities to individual Serial Engine device to get the interconnect path and to vote for bandwidth based on their need. This wrapper maintains bandwidth votes from each Serial Engine and send the aggregated vote from GENI QUP to interconnect framework. Signed-off-by: Alok Chauhan --- drivers/soc/qcom/qcom-geni-se.c | 129 ++++++++++++++++++++++++++++++++++++++++ include/linux/qcom-geni-se.h | 11 ++++ 2 files changed, 140 insertions(+) diff --git a/drivers/soc/qcom/qcom-geni-se.c b/drivers/soc/qcom/qcom-geni-se.c index 6b8ef01..1d8dcb1 100644 --- a/drivers/soc/qcom/qcom-geni-se.c +++ b/drivers/soc/qcom/qcom-geni-se.c @@ -11,6 +11,7 @@ #include #include #include +#include /** * DOC: Overview @@ -84,11 +85,21 @@ * @dev: Device pointer of the QUP wrapper core * @base: Base address of this instance of QUP wrapper core * @ahb_clks: Handle to the primary & secondary AHB clocks + * @icc_path: Array of interconnect path handles + * @geni_wrapper_lock: Lock to protect the bus bandwidth request + * @cur_avg_bw: Current Bus Average BW request value from GENI QUP + * @cur_peak_bw: Current Bus Peak BW request value from GENI QUP + * @peak_bw_list_head: Sorted resource list based on peak bus BW */ struct geni_wrapper { struct device *dev; void __iomem *base; struct clk_bulk_data ahb_clks[NUM_AHB_CLKS]; + struct icc_path *icc_path[2]; + struct mutex geni_wrapper_lock; + u32 cur_avg_bw; + u32 cur_peak_bw; + struct list_head peak_bw_list_head; }; #define QUP_HW_VER_REG 0x4 @@ -440,6 +451,71 @@ static void geni_se_clks_off(struct geni_se *se) } /** + * geni_icc_update_bw() - Request to update bw vote on an interconnect path + * @se: Pointer to the concerned serial engine. + * @update: Flag to update bw vote. + * + * This function is used to request set bw vote on interconnect path handle. + */ +void geni_icc_update_bw(struct geni_se *se, bool update) +{ + struct geni_se *temp = NULL; + struct list_head *ins_list_head; + struct geni_wrapper *wrapper; + + mutex_lock(&se->wrapper->geni_wrapper_lock); + + wrapper = se->wrapper; + + if (update) { + wrapper->cur_avg_bw += se->avg_bw; + ins_list_head = &wrapper->peak_bw_list_head; + list_for_each_entry(temp, &wrapper->peak_bw_list_head, + peak_bw_list) { + if (temp->peak_bw < se->peak_bw) + break; + ins_list_head = &temp->peak_bw_list; + } + + list_add(&se->peak_bw_list, ins_list_head); + + if (ins_list_head == &wrapper->peak_bw_list_head) + wrapper->cur_peak_bw = se->peak_bw; + } else { + if (unlikely(list_empty(&se->peak_bw_list))) { + mutex_unlock(&wrapper->geni_wrapper_lock); + return; + } + + wrapper->cur_avg_bw -= se->avg_bw; + + list_del_init(&se->peak_bw_list); + temp = list_first_entry_or_null(&wrapper->peak_bw_list_head, + struct geni_se, peak_bw_list); + if (temp && temp->peak_bw != wrapper->cur_peak_bw) + wrapper->cur_peak_bw = temp->peak_bw; + else if (!temp && wrapper->cur_peak_bw) + wrapper->cur_peak_bw = 0; + } + + /* + * This bw vote is to enable internal QUP core clock as well as to + * enable path towards memory. + */ + icc_set_bw(wrapper->icc_path[0], wrapper->cur_avg_bw, + wrapper->cur_peak_bw); + + /* + * This is just register configuration path so doesn't need avg bw. + * Set only peak bw to enable this path. + */ + icc_set_bw(wrapper->icc_path[1], 0, wrapper->cur_peak_bw); + + mutex_unlock(&wrapper->geni_wrapper_lock); +} +EXPORT_SYMBOL(geni_icc_update_bw); + +/** * geni_se_resources_off() - Turn off resources associated with the serial * engine * @se: Pointer to the concerned serial engine. @@ -707,6 +783,47 @@ void geni_se_rx_dma_unprep(struct geni_se *se, dma_addr_t iova, size_t len) } EXPORT_SYMBOL(geni_se_rx_dma_unprep); +/** + * geni_interconnect_init() - Request to get interconnect path handle + * @se: Pointer to the concerned serial engine. + * + * This function is used to get interconnect path handle. + */ +int geni_interconnect_init(struct geni_se *se) +{ + struct geni_wrapper *wrapper_rsc; + + if (unlikely(!se || !se->wrapper)) + return -EINVAL; + + wrapper_rsc = se->wrapper; + + if ((IS_ERR_OR_NULL(wrapper_rsc->icc_path[0]) || + IS_ERR_OR_NULL(wrapper_rsc->icc_path[1]))) { + + wrapper_rsc->icc_path[0] = of_icc_get(wrapper_rsc->dev, + "qup-memory"); + if (IS_ERR(wrapper_rsc->icc_path[0])) + return PTR_ERR(wrapper_rsc->icc_path[0]); + + wrapper_rsc->icc_path[1] = of_icc_get(wrapper_rsc->dev, + "qup-config"); + if (IS_ERR(wrapper_rsc->icc_path[1])) { + icc_put(wrapper_rsc->icc_path[0]); + wrapper_rsc->icc_path[0] = NULL; + return PTR_ERR(wrapper_rsc->icc_path[1]); + } + + INIT_LIST_HEAD(&wrapper_rsc->peak_bw_list_head); + mutex_init(&wrapper_rsc->geni_wrapper_lock); + } + + INIT_LIST_HEAD(&se->peak_bw_list); + + return 0; +} +EXPORT_SYMBOL(geni_interconnect_init); + static int geni_se_probe(struct platform_device *pdev) { struct device *dev = &pdev->dev; @@ -737,6 +854,17 @@ static int geni_se_probe(struct platform_device *pdev) return devm_of_platform_populate(dev); } +static int geni_se_remove(struct platform_device *pdev) +{ + struct device *dev = &pdev->dev; + struct geni_wrapper *wrapper = dev_get_drvdata(dev); + + icc_put(wrapper->icc_path[0]); + icc_put(wrapper->icc_path[1]); + + return 0; +} + static const struct of_device_id geni_se_dt_match[] = { { .compatible = "qcom,geni-se-qup", }, {} @@ -749,6 +877,7 @@ static int geni_se_probe(struct platform_device *pdev) .of_match_table = geni_se_dt_match, }, .probe = geni_se_probe, + .remove = geni_se_remove, }; module_platform_driver(geni_se_driver); diff --git a/include/linux/qcom-geni-se.h b/include/linux/qcom-geni-se.h index 3bcd67f..9bf03e9 100644 --- a/include/linux/qcom-geni-se.h +++ b/include/linux/qcom-geni-se.h @@ -33,6 +33,10 @@ enum geni_se_protocol_type { * @clk: Handle to the core serial engine clock * @num_clk_levels: Number of valid clock levels in clk_perf_tbl * @clk_perf_tbl: Table of clock frequency input to serial engine clock + * @avg_bw: Average bus bandwidth value for Serial Engine device + * @peak_bw: Peak bus bandwidth value for Serial Engine device + * @peak_bw_list: List Head of peak bus banwidth list for Serial Engine + * device */ struct geni_se { void __iomem *base; @@ -41,6 +45,9 @@ struct geni_se { struct clk *clk; unsigned int num_clk_levels; unsigned long *clk_perf_tbl; + u32 avg_bw; + u32 peak_bw; + struct list_head peak_bw_list; }; /* Common SE registers */ @@ -416,5 +423,9 @@ int geni_se_rx_dma_prep(struct geni_se *se, void *buf, size_t len, void geni_se_tx_dma_unprep(struct geni_se *se, dma_addr_t iova, size_t len); void geni_se_rx_dma_unprep(struct geni_se *se, dma_addr_t iova, size_t len); + +int geni_interconnect_init(struct geni_se *se); + +void geni_icc_update_bw(struct geni_se *se, bool update); #endif #endif From patchwork Tue Jan 22 06:33:33 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alok Chauhan X-Patchwork-Id: 10774903 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 8E5DB13BF for ; Tue, 22 Jan 2019 06:34:45 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 7EEE52AECB for ; Tue, 22 Jan 2019 06:34:45 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 7C3AD2AEF5; Tue, 22 Jan 2019 06:34:45 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.7 required=2.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 1E8F32AECB for ; Tue, 22 Jan 2019 06:34:45 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727126AbfAVGec (ORCPT ); Tue, 22 Jan 2019 01:34:32 -0500 Received: from smtp.codeaurora.org ([198.145.29.96]:39538 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726174AbfAVGec (ORCPT ); Tue, 22 Jan 2019 01:34:32 -0500 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id DA9E2608EA; Tue, 22 Jan 2019 06:34:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1548138871; bh=0Hi91cQ/hjCVhDdogwQ5vT80/tQYis8QOW0Gl5mbSwM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=HJMz1ymHd+VlzyrIarYKO3eoO3pyh3hh4bSqkuUDNJ/NC6GT2U8ZFy26aKqWbx1IW TUwyvSFoWsIaRCqs558aBQqd8xEjwg2+6FYxBXx7Ey9Et8sMYbfWiiy44VzBehHzHB lUPXE6rfzui4QqEkQSbJ/pgIJj50THewyNLxn3Yk= Received: from alokc-linux.qualcomm.com (blr-c-bdr-fw-01_globalnat_allzones-outside.qualcomm.com [103.229.19.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: alokc@smtp.codeaurora.org) by smtp.codeaurora.org (Postfix) with ESMTPSA id 4987260712; Tue, 22 Jan 2019 06:34:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1548138866; bh=0Hi91cQ/hjCVhDdogwQ5vT80/tQYis8QOW0Gl5mbSwM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=nKDDsBqiwCiFtyCdFvoZn3oj8ffPEv3E8zDzTYgPDNA9Uz9ie95C/eYKvxsNYU4N2 s62YU2DrebdjKnDs1Tnn2sCrP/+GFb3weu9cmPV8jq/8fjOaUS7fV+gETKFDTeycb0 1p34CgzArTG47DTN3UDdQN/shmTpQ/9lnDwOiXXs= DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org 4987260712 Authentication-Results: pdx-caf-mail.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: pdx-caf-mail.web.codeaurora.org; spf=none smtp.mailfrom=alokc@codeaurora.org From: Alok Chauhan To: linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-i2c@vger.kernel.org, linux-spi@vger.kernel.org, linux-serial@vger.kernel.org, Alok Chauhan , Karthikeyan Ramasubramanian Cc: andy.gross@linaro.org, david.brown@linaro.org, georgi.djakov@linaro.org, dianders@chromium.org, swboyd@chromium.org, bjorn.andersson@linaro.org Subject: [PATCH 3/6] i2c: i2c-qcom-geni: Add interconnect support Date: Tue, 22 Jan 2019 12:03:33 +0530 Message-Id: <1548138816-1149-4-git-send-email-alokc@codeaurora.org> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1548138816-1149-1-git-send-email-alokc@codeaurora.org> References: <1548138816-1149-1-git-send-email-alokc@codeaurora.org> Sender: linux-spi-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-spi@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Get the interconnect paths for I2C based Serial Engine device and vote accordingly based on maximum supported I2C frequency. Signed-off-by: Alok Chauhan Acked-by: Wolfram Sang --- drivers/i2c/busses/i2c-qcom-geni.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/drivers/i2c/busses/i2c-qcom-geni.c b/drivers/i2c/busses/i2c-qcom-geni.c index db075bc..e8fe63a 100644 --- a/drivers/i2c/busses/i2c-qcom-geni.c +++ b/drivers/i2c/busses/i2c-qcom-geni.c @@ -14,6 +14,7 @@ #include #include #include +#include #define SE_I2C_TX_TRANS_LEN 0x26c #define SE_I2C_RX_TRANS_LEN 0x270 @@ -508,6 +509,15 @@ static int geni_i2c_probe(struct platform_device *pdev) return ret; } + /* Set the bus quota to a reasonable value */ + gi2c->se.avg_bw = Bps_to_icc(1000); + gi2c->se.peak_bw = Bps_to_icc(76800000); + ret = geni_interconnect_init(&gi2c->se); + if (ret) { + dev_err(&pdev->dev, "interconnect_init failed %d\n", ret); + return ret; + } + ret = device_property_read_u32(&pdev->dev, "clock-frequency", &gi2c->clk_freq_out); if (ret) { @@ -611,6 +621,8 @@ static int __maybe_unused geni_i2c_runtime_suspend(struct device *dev) gi2c->suspended = 1; } + geni_icc_update_bw(&gi2c->se, false); + return 0; } @@ -619,6 +631,7 @@ static int __maybe_unused geni_i2c_runtime_resume(struct device *dev) int ret; struct geni_i2c_dev *gi2c = dev_get_drvdata(dev); + geni_icc_update_bw(&gi2c->se, true); ret = geni_se_resources_on(&gi2c->se); if (ret) return ret; From patchwork Tue Jan 22 06:33:34 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alok Chauhan X-Patchwork-Id: 10774899 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id E1C2513B5 for ; Tue, 22 Jan 2019 06:34:43 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id D22CB2AF1D for ; Tue, 22 Jan 2019 06:34:43 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id D00782AF56; Tue, 22 Jan 2019 06:34:43 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.7 required=2.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 709822AF6B for ; Tue, 22 Jan 2019 06:34:43 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727166AbfAVGei (ORCPT ); Tue, 22 Jan 2019 01:34:38 -0500 Received: from smtp.codeaurora.org ([198.145.29.96]:39630 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727151AbfAVGeh (ORCPT ); Tue, 22 Jan 2019 01:34:37 -0500 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id CFC2D60850; Tue, 22 Jan 2019 06:34:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1548138876; bh=vD5MTXyLS/qkTnSNYHFn5UkX/UYasOxBeZwiEyrO4hM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=bYBYRnWKe9+NTrHVJrcQdRvoZVwNXkBLHhrRXVBQC9YMS7nllNz/6F13U9Dp9X2tt UJJl5VzPj3oPByZDuPEVNkPHjpTx+C44wHvqx9qoP6ZI/VMFj+oJJDpgP8YXACS1oV +BCRvVnii26XH8bwr2wQFX2UN5a9yG6YT/AVdV5Q= Received: from alokc-linux.qualcomm.com (blr-c-bdr-fw-01_globalnat_allzones-outside.qualcomm.com [103.229.19.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: alokc@smtp.codeaurora.org) by smtp.codeaurora.org (Postfix) with ESMTPSA id 9864D6090C; Tue, 22 Jan 2019 06:34:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1548138872; bh=vD5MTXyLS/qkTnSNYHFn5UkX/UYasOxBeZwiEyrO4hM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=GZDDWQr/v/2jlO9HbWwHpRj6+0AOesVrkZUKJpzFge40LC/m3XqaCryFirR+3DGjj OzBJeyNqklIjoxMAb2xCQSOi57IPJFGFwxnzTKswJlueSFf9wPxaFrRPU0gDXGOi6/ Mayz8q6RsLIM4AklUJSmIVFNww6VPiS5oDVnCBjM= DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org 9864D6090C Authentication-Results: pdx-caf-mail.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: pdx-caf-mail.web.codeaurora.org; spf=none smtp.mailfrom=alokc@codeaurora.org From: Alok Chauhan To: linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-i2c@vger.kernel.org, linux-spi@vger.kernel.org, linux-serial@vger.kernel.org, Mark Brown Cc: andy.gross@linaro.org, david.brown@linaro.org, georgi.djakov@linaro.org, dianders@chromium.org, swboyd@chromium.org, bjorn.andersson@linaro.org, Alok Chauhan Subject: [PATCH 4/6] spi: spi-geni-qcom: Add interconnect support Date: Tue, 22 Jan 2019 12:03:34 +0530 Message-Id: <1548138816-1149-5-git-send-email-alokc@codeaurora.org> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1548138816-1149-1-git-send-email-alokc@codeaurora.org> References: <1548138816-1149-1-git-send-email-alokc@codeaurora.org> Sender: linux-spi-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-spi@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Get the interconnect paths for SPI based Serial Engine device and vote accordingly based on maximum supported SPI frequency. Signed-off-by: Alok Chauhan Acked-by: Mark Brown --- drivers/spi/spi-geni-qcom.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/drivers/spi/spi-geni-qcom.c b/drivers/spi/spi-geni-qcom.c index fdb7cb88..7bbbe9d 100644 --- a/drivers/spi/spi-geni-qcom.c +++ b/drivers/spi/spi-geni-qcom.c @@ -12,6 +12,7 @@ #include #include #include +#include /* SPI SE specific registers and respective register fields */ #define SE_SPI_CPHA 0x224 @@ -589,6 +590,15 @@ static int spi_geni_probe(struct platform_device *pdev) spin_lock_init(&mas->lock); pm_runtime_enable(&pdev->dev); + /* Set the bus quota to a reasonable value */ + mas->se.avg_bw = Bps_to_icc(2500); + mas->se.peak_bw = Bps_to_icc(200000000); + ret = geni_interconnect_init(&mas->se); + if (ret) { + dev_err(&pdev->dev, "interconnect_init failed %d\n", ret); + return ret; + } + ret = spi_geni_init(mas); if (ret) goto spi_geni_probe_runtime_disable; @@ -628,8 +638,15 @@ static int __maybe_unused spi_geni_runtime_suspend(struct device *dev) { struct spi_master *spi = dev_get_drvdata(dev); struct spi_geni_master *mas = spi_master_get_devdata(spi); + int ret; - return geni_se_resources_off(&mas->se); + ret = geni_se_resources_off(&mas->se); + if (ret) + return ret; + + geni_icc_update_bw(&mas->se, false); + + return 0; } static int __maybe_unused spi_geni_runtime_resume(struct device *dev) @@ -637,6 +654,7 @@ static int __maybe_unused spi_geni_runtime_resume(struct device *dev) struct spi_master *spi = dev_get_drvdata(dev); struct spi_geni_master *mas = spi_master_get_devdata(spi); + geni_icc_update_bw(&mas->se, true); return geni_se_resources_on(&mas->se); } From patchwork Tue Jan 22 06:33:35 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alok Chauhan X-Patchwork-Id: 10774907 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id E8E5613B5 for ; Tue, 22 Jan 2019 06:34:52 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id D933E2AF53 for ; Tue, 22 Jan 2019 06:34:52 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id CD5122AF40; Tue, 22 Jan 2019 06:34:52 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.7 required=2.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 6B03B2AF31 for ; Tue, 22 Jan 2019 06:34:52 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727199AbfAVGeq (ORCPT ); Tue, 22 Jan 2019 01:34:46 -0500 Received: from smtp.codeaurora.org ([198.145.29.96]:39872 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726174AbfAVGeq (ORCPT ); Tue, 22 Jan 2019 01:34:46 -0500 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id 6802B6098A; Tue, 22 Jan 2019 06:34:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1548138884; bh=t+7VFsYr21LVGhDoaiu71aEFa4FmA54Z0rNp7gXcbag=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=JLl4MQTk3A2hxFYrMUMoECnaUQPMbMKbVawcMUsknj94Uug2lD1Iw6hTRwHg0V+93 mwKNBqdJg8+3PHqxQzQFR5/Am69Z8nFfmpIeY2GJKyArti6rcVPt8REZv8qdMa/8SY F7YuGfa+ryUbtPHp8bJpkEUxcizBUJzv4Ucj+AUg= Received: from alokc-linux.qualcomm.com (blr-c-bdr-fw-01_globalnat_allzones-outside.qualcomm.com [103.229.19.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: alokc@smtp.codeaurora.org) by smtp.codeaurora.org (Postfix) with ESMTPSA id BE6E76095F; Tue, 22 Jan 2019 06:34:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1548138877; bh=t+7VFsYr21LVGhDoaiu71aEFa4FmA54Z0rNp7gXcbag=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Dkyc32QO63cJ9YXD7K4kbfLq8G6r4jmH2qSsiMXhF/Wd83Z2UFc1MV1N5vcJ6mYnT n8quJGFPCLUTJjspFfnkkQqB3lpvoKyVXLDgBSubYE97uUeVcnbxb4jyfIqnB+n6NE AgX5drNrcMcxiKpLMwEwQq8QbjLaS5yaCkRDMtao= DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org BE6E76095F Authentication-Results: pdx-caf-mail.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: pdx-caf-mail.web.codeaurora.org; spf=none smtp.mailfrom=alokc@codeaurora.org From: Alok Chauhan To: linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-i2c@vger.kernel.org, linux-spi@vger.kernel.org, linux-serial@vger.kernel.org, Greg Kroah-Hartman , Jiri Slaby Cc: andy.gross@linaro.org, david.brown@linaro.org, georgi.djakov@linaro.org, dianders@chromium.org, swboyd@chromium.org, bjorn.andersson@linaro.org, Alok Chauhan Subject: [PATCH 5/6] tty: serial: qcom_geni_serial: Add interconnect support Date: Tue, 22 Jan 2019 12:03:35 +0530 Message-Id: <1548138816-1149-6-git-send-email-alokc@codeaurora.org> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1548138816-1149-1-git-send-email-alokc@codeaurora.org> References: <1548138816-1149-1-git-send-email-alokc@codeaurora.org> Sender: linux-spi-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-spi@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Get the interconnect paths for Uart based Serial Engine device and vote accordingly based on maximum supported Uart frequency. Signed-off-by: Alok Chauhan --- drivers/tty/serial/qcom_geni_serial.c | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/drivers/tty/serial/qcom_geni_serial.c b/drivers/tty/serial/qcom_geni_serial.c index a72d6d9..e2ea499 100644 --- a/drivers/tty/serial/qcom_geni_serial.c +++ b/drivers/tty/serial/qcom_geni_serial.c @@ -19,6 +19,7 @@ #include #include #include +#include /* UART specific GENI registers */ #define SE_UART_LOOPBACK_CFG 0x22c @@ -1348,6 +1349,22 @@ static int qcom_geni_serial_probe(struct platform_device *pdev) return ret; } + /* Set the bus quota to a reasonable value */ + port->se.avg_bw = console ? Bps_to_icc(1000) : Bps_to_icc(2500); + port->se.peak_bw = Bps_to_icc(76800000); + ret = geni_interconnect_init(&port->se); + if (ret) { + dev_err(&pdev->dev, "interconnect_init failed %d\n", ret); + return ret; + } + + /* + * Vote for interconnect path early. This has to move as part of + * Runtime PM APIs when implemented for better control betwen + * console and non-console usecases + */ + geni_icc_update_bw(&port->se, true); + res = platform_get_resource(pdev, IORESOURCE_MEM, 0); if (!res) return -EINVAL; @@ -1385,8 +1402,15 @@ static int __maybe_unused qcom_geni_serial_sys_suspend(struct device *dev) { struct qcom_geni_serial_port *port = dev_get_drvdata(dev); struct uart_port *uport = &port->uport; + int ret; + + ret = uart_suspend_port(uport->private_data, uport); + if (ret) + return ret; + + geni_icc_update_bw(&port->se, false); - return uart_suspend_port(uport->private_data, uport); + return 0; } static int __maybe_unused qcom_geni_serial_sys_resume(struct device *dev) @@ -1394,6 +1418,7 @@ static int __maybe_unused qcom_geni_serial_sys_resume(struct device *dev) struct qcom_geni_serial_port *port = dev_get_drvdata(dev); struct uart_port *uport = &port->uport; + geni_icc_update_bw(&port->se, true); return uart_resume_port(uport->private_data, uport); } From patchwork Tue Jan 22 06:33:36 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alok Chauhan X-Patchwork-Id: 10774913 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 48EF013B5 for ; Tue, 22 Jan 2019 06:35:00 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 3B4E82AF56 for ; Tue, 22 Jan 2019 06:35:00 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 36EC22AF82; Tue, 22 Jan 2019 06:35:00 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.7 required=2.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=unavailable version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id CA1742AF78 for ; Tue, 22 Jan 2019 06:34:59 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727250AbfAVGe4 (ORCPT ); Tue, 22 Jan 2019 01:34:56 -0500 Received: from smtp.codeaurora.org ([198.145.29.96]:40082 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726174AbfAVGez (ORCPT ); Tue, 22 Jan 2019 01:34:55 -0500 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id 952AD609C2; Tue, 22 Jan 2019 06:34:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1548138894; bh=S8aScYlnfgWymwIvByECwepxe4iUwcdgQAKgKCgjJQM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Q+kZdPXCylPwKWxyBmQgEOu7DSiV9xGIWlwe/xydB5CsdS+V71hlzvhwNIztwNm+i c22LfCJSUgWTIVvgrECBALCpG0jaqGeO8epOjubqVY31677nEDtN8c3j+ZWTlUFXJi 8+ZbVayT3kcNv+3hWsMDCHD8NARPkB06YPeamrhs= Received: from alokc-linux.qualcomm.com (blr-c-bdr-fw-01_globalnat_allzones-outside.qualcomm.com [103.229.19.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: alokc@smtp.codeaurora.org) by smtp.codeaurora.org (Postfix) with ESMTPSA id 417C260989; Tue, 22 Jan 2019 06:34:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1548138883; bh=S8aScYlnfgWymwIvByECwepxe4iUwcdgQAKgKCgjJQM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=MPaax8FUMn27QMcJbJOjv4irw6jE3VYadpeV6BWQd2KGQ2GBOf5fLd9VpEOvmJMUQ 3sbRV0rHFGzStxU2bS8Dq1tSAoYMKaiUU3YaDoGTVX9ZKUIxqgW8mpCbIeTi+qIm6F G06bSaukc9ERYKAS07mJNRC3CgKPg29CkPbks154= DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org 417C260989 Authentication-Results: pdx-caf-mail.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: pdx-caf-mail.web.codeaurora.org; spf=none smtp.mailfrom=alokc@codeaurora.org From: Alok Chauhan To: linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-i2c@vger.kernel.org, linux-spi@vger.kernel.org, linux-serial@vger.kernel.org, Andy Gross , David Brown , Rob Herring , Mark Rutland Cc: georgi.djakov@linaro.org, dianders@chromium.org, swboyd@chromium.org, bjorn.andersson@linaro.org, Alok Chauhan Subject: [PATCH 6/6] arm64: dts: sdm845: Add interconnect for GENI QUP Date: Tue, 22 Jan 2019 12:03:36 +0530 Message-Id: <1548138816-1149-7-git-send-email-alokc@codeaurora.org> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1548138816-1149-1-git-send-email-alokc@codeaurora.org> References: <1548138816-1149-1-git-send-email-alokc@codeaurora.org> Sender: linux-spi-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-spi@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Add interconnect ports for GENI QUPs to set bus capabilities. Signed-off-by: Alok Chauhan --- arch/arm64/boot/dts/qcom/sdm845.dtsi | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/sdm845.dtsi b/arch/arm64/boot/dts/qcom/sdm845.dtsi index c27cbd3..fb0a8a7 100644 --- a/arch/arm64/boot/dts/qcom/sdm845.dtsi +++ b/arch/arm64/boot/dts/qcom/sdm845.dtsi @@ -374,6 +374,13 @@ #address-cells = <1>; #size-cells = <1>; ranges; + + interconnects = <&rsc_hlos MASTER_BLSP_1 + &rsc_hlos SLAVE_EBI1>, + <&rsc_hlos MASTER_APPSS_PROC + &rsc_hlos SLAVE_BLSP_1>; + interconnect-names = "qup-memory", "qup-config"; + status = "disabled"; i2c0: i2c@880000 { @@ -682,6 +689,13 @@ #address-cells = <1>; #size-cells = <1>; ranges; + + interconnects = <&rsc_hlos MASTER_BLSP_2 + &rsc_hlos SLAVE_EBI1>, + <&rsc_hlos MASTER_APPSS_PROC + &rsc_hlos SLAVE_BLSP_2>; + interconnect-names = "qup-memory", "qup-config"; + status = "disabled"; i2c8: i2c@a80000 {