From patchwork Mon Nov 19 17:09:24 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Manivannan Sadhasivam X-Patchwork-Id: 999943 Return-Path: X-Original-To: incoming-imx@patchwork.ozlabs.org Delivered-To: patchwork-incoming-imx@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.infradead.org (client-ip=2607:7c80:54:e::133; helo=bombadil.infradead.org; envelope-from=linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="Fge3y/A7"; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.b="MRFronLr"; dkim-atps=neutral Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:e::133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 42zFjc013Mz9s3q for ; Tue, 20 Nov 2018 04:11:15 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=cli+zFzXuTImIeFMKvdn8Qzk+aeW/6PpNt/vETQD7/g=; b=Fge3y/A7pyyGk3 pmI3YLATOjUdoYILRBX2wzFT0ttQXPnUF/37LYC4BCZfuMM0uPDxvmgS3JbbwkrfcMCplFNqf5asr bYhi5xwyQFc0WxDHOheWV50JM64opbXpMUUecJC6N3tTznb0QbCTqhZ0gFquMNjRjxRnw87b7SoRI nDquUf2/W7DmsDZTfnbyaZEZBZX4pAFkk3HMC0pccQK6kFRkvcPWB4dBE4Q7IkGmZBAF7mEWHoi/b wiW15zmFEIoXEgyZL1i4XKKOT9UObFVuFWUFv2ulnc+AZDx745NwgyX06HnWT+IJL+xQvs7X2iBHT PhxNhBzntvXoREcTdlkQ==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gOn4o-0000bj-HZ; Mon, 19 Nov 2018 17:11:10 +0000 Received: from mail-pg1-x541.google.com ([2607:f8b0:4864:20::541]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gOn4i-0000RN-IS for linux-arm-kernel@lists.infradead.org; Mon, 19 Nov 2018 17:11:06 +0000 Received: by mail-pg1-x541.google.com with SMTP id 70so14103712pgh.8 for ; Mon, 19 Nov 2018 09:10:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=F3x7gsmCQrdY193L+8o0XyGrRzSyIGog/xrqDtj4aF8=; b=MRFronLrFkF3mxUqWASXSlEhrFeGKBOC+ePCWSzY2fiLyjgMiy19jck50Hb20ulxsf jPUPlYE3Gg4ZXGBiVvmn0LzpUW2XvqAbZiOZG0g58WRNFMJavrIeUMLdI8welCynR8Cc 8Ytf2vsNY3llgh62aTbCdek4LVWpqQ7fW9Rlw= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=F3x7gsmCQrdY193L+8o0XyGrRzSyIGog/xrqDtj4aF8=; b=S0/uGP1Fa7an696Ds9UrQqgebRktpbYY+0wJyyaILaFHreTxUSJxJ7SJ0zGB0ZRpBe GXr0ZoLpXYAp1FT5rhn/hx/Xtbu/Sj0UgfCONMq6yeEIPcW9Cx0MK0Ml43oxFCDIbKdU mIEfIKCtdhj8xSPMLtIcP2dw3VmEl3j2ws5JC8vcb/HyCu/4u+d6EV8mdRHde3ORoqvB kMz2ytslVU8ivBPqIktKVcEp6K2+X7wBRSr4+W3/N9iiGF5B6CX7ZvDauPJPz0tHcjpV JpTy6YEHHEx0gVHLPYrY1oSk4qZwv/2NU2+Z5x54rHYdhg+z5QdF+ZcJtRLhffANPP2p 5Xqw== X-Gm-Message-State: AGRZ1gKJTYadPxAX6S3Q2FISFlXlhVgw7XSmH/UtXeHPAlC74qAYDeWN mRtgEwk2eBKpBJdClcRqgzuE X-Google-Smtp-Source: AJdET5fmdCPKzQOlppGbf5YyBg7l0pUypJx/XOV4eljup8wBYT7ZbyChh2+WVNUwk6NcQDFV5K6n3Q== X-Received: by 2002:a62:c583:: with SMTP id j125mr14579462pfg.37.1542647453747; Mon, 19 Nov 2018 09:10:53 -0800 (PST) Received: from localhost.localdomain ([2409:4072:631b:44eb:3905:6402:e2fb:2d7]) by smtp.gmail.com with ESMTPSA id 186-v6sm46175458pfe.39.2018.11.19.09.10.46 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 19 Nov 2018 09:10:52 -0800 (PST) From: Manivannan Sadhasivam To: olof@lixom.net, arnd@arndb.de, robh+dt@kernel.org, tglx@linutronix.de, jason@lakedaemon.net, marc.zyngier@arm.com, daniel.lezcano@linaro.org Subject: [PATCH 01/16] dt-bindings: Add RDA Micro vendor prefix Date: Mon, 19 Nov 2018 22:39:24 +0530 Message-Id: <20181119170939.19153-2-manivannan.sadhasivam@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181119170939.19153-1-manivannan.sadhasivam@linaro.org> References: <20181119170939.19153-1-manivannan.sadhasivam@linaro.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20181119_091104_661673_C57E2A14 X-CRM114-Status: GOOD ( 12.27 ) X-Spam-Score: -0.2 (/) X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary: Content analysis details: (-0.2 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [2607:f8b0:4864:20:0:0:0:541 listed in] [list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from envelope-from domain -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, linus.walleij@linaro.org, service@rdamicro.com, linux-kernel@vger.kernel.org, amit.kucheria@linaro.org, =?utf-8?q?Andreas_F=C3=A4rber?= , linux-arm-kernel@lists.infradead.org, zhao_steven@263.net Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org List-Id: linux-imx-kernel.lists.patchwork.ozlabs.org From: Andreas Färber RDA Microelectronics is a Chinese SoC manufacturer. Cc: service@rdamicro.com Signed-off-by: Andreas Färber --- Documentation/devicetree/bindings/vendor-prefixes.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt index 4b1a2a8fcc16..b15012454d01 100644 --- a/Documentation/devicetree/bindings/vendor-prefixes.txt +++ b/Documentation/devicetree/bindings/vendor-prefixes.txt @@ -320,6 +320,7 @@ ralink Mediatek/Ralink Technology Corp. ramtron Ramtron International raspberrypi Raspberry Pi Foundation raydium Raydium Semiconductor Corp. +rda RDA Microelectronics, Inc. realtek Realtek Semiconductor Corp. renesas Renesas Electronics Corporation richtek Richtek Technology Corporation From patchwork Mon Nov 19 17:09:25 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Manivannan Sadhasivam X-Patchwork-Id: 999944 Return-Path: X-Original-To: incoming-imx@patchwork.ozlabs.org Delivered-To: patchwork-incoming-imx@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.infradead.org (client-ip=2607:7c80:54:e::133; helo=bombadil.infradead.org; envelope-from=linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="cP9B076E"; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.b="XvUVWR5i"; dkim-atps=neutral Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:e::133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 42zFjs4zRxz9s3q for ; Tue, 20 Nov 2018 04:11:29 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=k+5nynsQsyjtDsmiRPu2Kl/EK+ItcobLthv+lf9W5T4=; b=cP9B076Eotr+Q4 m3GgFnQ+ufZjDMWttTNqYDtnFRFV2Y9/Hrg/gNME9r7PNJ9Em/Y/x95Q3afeBinmkn/3WrydV7ggr mMacPvugLZsCW+scOMmopGQY3i05p9ZnhyA5hceU6NNMOfnrq/wGkBjjLJJKv1eXxDWH+Hk+IQtSt Un++zjzzE0dYJM/tslIxBq4cxmlcO/wYsV6vEgU5ug4EufX3ufZJyroKXSpso7Z09aGL/73qYX/FH 7VT17lk1OL54SV5RMJDL87Z4dbn94dcsSgS+pFaj3wHjc/RemELu8SIUgcGNdSC13cb6s1+tJ9yj6 qbz8bgOX9JZ4FX2M4+pw==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gOn50-0000s0-Fk; Mon, 19 Nov 2018 17:11:22 +0000 Received: from mail-pl1-x644.google.com ([2607:f8b0:4864:20::644]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gOn4q-0000Sc-N4 for linux-arm-kernel@lists.infradead.org; Mon, 19 Nov 2018 17:11:14 +0000 Received: by mail-pl1-x644.google.com with SMTP id v1-v6so7747071plo.2 for ; Mon, 19 Nov 2018 09:11:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=msmZrhf/K74+1kXoDRizhaHRITIpaWGm8eve2ycximo=; b=XvUVWR5iJoGfyBur4pQiYVPfTmbYbcN53UkzDURDhXtvGbaweiHhrR9lj45xD7PHiU r6u7p1DL9PX6wjBkQyIr1I9MYr4HEWWyLk2WljFbTJ0cv7XRsnFNfB1YMLeJcozCem9k YMyrv2XuTS5bBJLbSBnYsH2Pnd6dMQj8KmjbY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=msmZrhf/K74+1kXoDRizhaHRITIpaWGm8eve2ycximo=; b=PhV5CC7hVXBCiBQe/uesM8VOsc/5UtM+F0AtiHr3Bg4PadW/NeHVO3lyNAPtD6JyF6 It6+TBOQTG20Qbh7oeoqNMgcCmMlPL7zB6cDb8JJP6xyPqi7DjT7slXo2rt5LuLH52Ms KQRWPUJBNHBMo/CTNaDFUZVqcjn695FHGyCPSX2/Y3VSCGqNm0QUitL5Ttyw2o4D7iu1 WeGyjaOycECkQ0YCdkkI7Sid4igDuFY/wzzIPLM0Gg4c3DQzF0pJN3UeK611hmH/tHUH y8lkvbupQ9ku7E+qbk8tqD9l79z+uIKWvSNUiLMhFPG76lEFN/A3GZAPDlQxCZ1Fuzgo OTjw== X-Gm-Message-State: AA+aEWaZH43hUQ7mx9sJOcwwGRQ8cMKQc+9hiHhQOL9QDhsgWgu6rODS pY3RsT/DROmq6PJVdg1li7R7 X-Google-Smtp-Source: AFSGD/XIhgB1oQZSo6Ay/XjAS6h7GObjgVIrDye9H1rDOnRYe/6/k4h21gRs2N3iIB3znRmQZNCkrw== X-Received: by 2002:a17:902:3281:: with SMTP id z1mr331964plb.296.1542647461970; Mon, 19 Nov 2018 09:11:01 -0800 (PST) Received: from localhost.localdomain ([2409:4072:631b:44eb:3905:6402:e2fb:2d7]) by smtp.gmail.com with ESMTPSA id 186-v6sm46175458pfe.39.2018.11.19.09.10.54 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 19 Nov 2018 09:11:01 -0800 (PST) From: Manivannan Sadhasivam To: olof@lixom.net, arnd@arndb.de, robh+dt@kernel.org, tglx@linutronix.de, jason@lakedaemon.net, marc.zyngier@arm.com, daniel.lezcano@linaro.org Subject: [PATCH 02/16] dt-bindings: arm: Document RDA8810PL and reference boards Date: Mon, 19 Nov 2018 22:39:25 +0530 Message-Id: <20181119170939.19153-3-manivannan.sadhasivam@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181119170939.19153-1-manivannan.sadhasivam@linaro.org> References: <20181119170939.19153-1-manivannan.sadhasivam@linaro.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20181119_091112_759552_14561E9B X-CRM114-Status: GOOD ( 12.79 ) X-Spam-Score: -0.2 (/) X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary: Content analysis details: (-0.2 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [2607:f8b0:4864:20:0:0:0:644 listed in] [list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from envelope-from domain -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, linus.walleij@linaro.org, service@rdamicro.com, linux-kernel@vger.kernel.org, amit.kucheria@linaro.org, Manivannan Sadhasivam , =?utf-8?q?Andreas_F=C3=A4rber?= , linux-arm-kernel@lists.infradead.org, zhao_steven@263.net Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org List-Id: linux-imx-kernel.lists.patchwork.ozlabs.org From: Andreas Färber Add bindings for RDA Micro RDA8810PL SoC and below reference boards: 1. Orange Pi 2G-IoT - http://www.orangepi.org/OrangePi2GIOT/ 2. Orange Pi i96 - https://www.96boards.org/product/orangepi-i96/ Cc: service@rdamicro.com Cc: zhao_steven@263.net Signed-off-by: Andreas Färber Signed-off-by: Manivannan Sadhasivam --- Documentation/devicetree/bindings/arm/rda.txt | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 Documentation/devicetree/bindings/arm/rda.txt diff --git a/Documentation/devicetree/bindings/arm/rda.txt b/Documentation/devicetree/bindings/arm/rda.txt new file mode 100644 index 000000000000..43c80762c428 --- /dev/null +++ b/Documentation/devicetree/bindings/arm/rda.txt @@ -0,0 +1,17 @@ +RDA Micro platforms device tree bindings +---------------------------------------- + +RDA8810PL SoC +============= + +Required root node properties: + + - compatible : must contain "rda,8810pl" + + +Boards: + +Root node property compatible must contain, depending on board: + + - Orange Pi 2G-IoT: "xunlong,orangepi-2g-iot" + - Orange Pi i96: "xunlong,orangepi-i96" From patchwork Mon Nov 19 17:09:26 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Manivannan Sadhasivam X-Patchwork-Id: 999945 Return-Path: X-Original-To: incoming-imx@patchwork.ozlabs.org Delivered-To: patchwork-incoming-imx@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.infradead.org (client-ip=2607:7c80:54:e::133; helo=bombadil.infradead.org; envelope-from=linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="DTYGdfIU"; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.b="d24qfNM3"; dkim-atps=neutral Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:e::133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 42zFk46Dvmz9sPC for ; Tue, 20 Nov 2018 04:11:40 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=XD/9TikSWvQAKmf3ZNi01C28mYow2sPglRx8vAyIH2I=; b=DTYGdfIUh7b911 4k2AX5yPzqtby4HKp67OeQiZW5Ob0aNtToa8BB4zeTtIe6UGUH0nsfVolbdu4wTVkDIaY9ZEW58a3 hsCjIv8N0mo5XQngTm+2rM2kfnKaGac3Y29uneolr+npVonPooNQomqaWHUraP5phIVkUCafXWYcU 893yPmtAndmcHukMreyro7R6cpEEe8LoNQDsIADgWBN5Xd+lGph+Iy0UjmUk3M/+32kPAxjzDPZab u/xfg258+GalWivSX8ViQ2HLvZTPxLBMHxcZzs8N4wg0kKb4X0hklOCvY4Ra9spvYUaJQF6665KZr USmVRONL/YCASP6F/ecA==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gOn5C-00016S-Ev; Mon, 19 Nov 2018 17:11:34 +0000 Received: from mail-pf1-x444.google.com ([2607:f8b0:4864:20::444]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gOn50-0000eJ-BG for linux-arm-kernel@lists.infradead.org; Mon, 19 Nov 2018 17:11:23 +0000 Received: by mail-pf1-x444.google.com with SMTP id q1so7153009pfi.5 for ; Mon, 19 Nov 2018 09:11:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=L1KWePsWaBzwLQi7BjylxNbKfiBht2SJGcZ6HLjFNIc=; b=d24qfNM3w7d2QRX6C04Cu6q/VwspSEc1FmQcjRCQVGlTDj1USfkkmvezaUfmR35/FH /V/RDkToeDKlFqDTt/l3HivzKj2QkkJ14R8T/5nvVysMkF4shNVCKTsrUZPIlT+DE5th 8u5kLKwmNo4g2GbTKUR8zIoVqmCAnvSCxGBbA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=L1KWePsWaBzwLQi7BjylxNbKfiBht2SJGcZ6HLjFNIc=; b=ilE2Apm2FFNOwS/ROCXuHaYme4u9lCsVa1sT6NdIx3a/UKyjySACRSkIFKnlwwCSw3 g2fJpjEFmjUD/+g/MDjUvnEJXAxvfrO6R2d2/MFAkmr7o5wkL6YnNH+vbge0DX3WW6lQ iAJnQsesQyq5ij43e3K/y+kom0glL3h1YTWTuQDFmJUi950fRfenJBpEKjYFCEiwTlWX 0FNYRxwEgRq7BmJvCfimvKSEUdFHvkVjiawlh4q2clcV1Q+2+uTshoEIY5L7A5M5jEXw 4G39R4kb/Gfsi1kjwgFSY9i4hTV34DmdOPrYT/sETysfTD4Wo6Vwer8fCEk5sYYl9O82 oEWw== X-Gm-Message-State: AGRZ1gKcVFshkzJopXUFrETUSKTLIiN+UErbyk29MnEOtoTguIh/Jcto kX7FRysKtIKqel37nHQ620zv X-Google-Smtp-Source: AJdET5c2wLLKtRuAiQU9jDmCx4os9QNVk772CkYF1oywP+hSWZYUsPHHbIvVplEzEb6mi+VczUpltw== X-Received: by 2002:a62:9683:: with SMTP id s3mr16517823pfk.60.1542647470478; Mon, 19 Nov 2018 09:11:10 -0800 (PST) Received: from localhost.localdomain ([2409:4072:631b:44eb:3905:6402:e2fb:2d7]) by smtp.gmail.com with ESMTPSA id 186-v6sm46175458pfe.39.2018.11.19.09.11.02 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 19 Nov 2018 09:11:09 -0800 (PST) From: Manivannan Sadhasivam To: olof@lixom.net, arnd@arndb.de, robh+dt@kernel.org, tglx@linutronix.de, jason@lakedaemon.net, marc.zyngier@arm.com, daniel.lezcano@linaro.org Subject: [PATCH 03/16] ARM: Prepare RDA8810PL SoC Date: Mon, 19 Nov 2018 22:39:26 +0530 Message-Id: <20181119170939.19153-4-manivannan.sadhasivam@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181119170939.19153-1-manivannan.sadhasivam@linaro.org> References: <20181119170939.19153-1-manivannan.sadhasivam@linaro.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20181119_091122_504131_4BA4D4F8 X-CRM114-Status: GOOD ( 15.24 ) X-Spam-Score: -0.2 (/) X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary: Content analysis details: (-0.2 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [2607:f8b0:4864:20:0:0:0:444 listed in] [list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from envelope-from domain -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, linus.walleij@linaro.org, service@rdamicro.com, linux-kernel@vger.kernel.org, amit.kucheria@linaro.org, Manivannan Sadhasivam , =?utf-8?q?Andreas_F=C3=A4rber?= , linux-arm-kernel@lists.infradead.org, zhao_steven@263.net Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org List-Id: linux-imx-kernel.lists.patchwork.ozlabs.org From: Andreas Färber Introduce ARCH_RDA and mach-rda for RDA Micro SoCs. Signed-off-by: Andreas Färber Signed-off-by: Manivannan Sadhasivam --- arch/arm/Kconfig | 2 ++ arch/arm/Makefile | 1 + arch/arm/mach-rda/Kconfig | 7 +++++++ arch/arm/mach-rda/Makefile | 1 + 4 files changed, 11 insertions(+) create mode 100644 arch/arm/mach-rda/Kconfig create mode 100644 arch/arm/mach-rda/Makefile diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 91be74d8df65..084f0983e6b2 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -804,6 +804,8 @@ source "arch/arm/plat-pxa/Kconfig" source "arch/arm/mach-qcom/Kconfig" +source "arch/arm/mach-rda/Kconfig" + source "arch/arm/mach-realview/Kconfig" source "arch/arm/mach-rockchip/Kconfig" diff --git a/arch/arm/Makefile b/arch/arm/Makefile index 05a91d8b89f3..10056ccdb8be 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile @@ -202,6 +202,7 @@ machine-$(CONFIG_ARCH_ORION5X) += orion5x machine-$(CONFIG_ARCH_PICOXCELL) += picoxcell machine-$(CONFIG_ARCH_PXA) += pxa machine-$(CONFIG_ARCH_QCOM) += qcom +machine-$(CONFIG_ARCH_RDA) += rda machine-$(CONFIG_ARCH_REALVIEW) += realview machine-$(CONFIG_ARCH_ROCKCHIP) += rockchip machine-$(CONFIG_ARCH_RPC) += rpc diff --git a/arch/arm/mach-rda/Kconfig b/arch/arm/mach-rda/Kconfig new file mode 100644 index 000000000000..dafab78d7aab --- /dev/null +++ b/arch/arm/mach-rda/Kconfig @@ -0,0 +1,7 @@ +menuconfig ARCH_RDA + bool "RDA Micro SoCs" + depends on ARCH_MULTI_V7 + select COMMON_CLK + select GENERIC_IRQ_CHIP + help + This enables support for the RDA Micro 8810PL SoC family. diff --git a/arch/arm/mach-rda/Makefile b/arch/arm/mach-rda/Makefile new file mode 100644 index 000000000000..6bea3d3a2dd7 --- /dev/null +++ b/arch/arm/mach-rda/Makefile @@ -0,0 +1 @@ +obj- += dummy.o From patchwork Mon Nov 19 17:09:27 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Manivannan Sadhasivam X-Patchwork-Id: 999948 Return-Path: X-Original-To: incoming-imx@patchwork.ozlabs.org Delivered-To: patchwork-incoming-imx@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.infradead.org (client-ip=2607:7c80:54:e::133; helo=bombadil.infradead.org; envelope-from=linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="P/ZYLK4y"; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.b="bYjQCOLA"; dkim-atps=neutral Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:e::133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 42zFkS3pDWz9sPJ for ; Tue, 20 Nov 2018 04:12:00 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=dLSq5nOUW/y2dSPMwZQQrfuAgbJtx+DSuZYrPERFR98=; b=P/ZYLK4yEKXmRC WofP3zswRRt/QpDMPLsKaFrWOO3dwlf8TnpUn0eLitKjf6db/pvOZEpap5RFGBtwm6cwpkgD+Z8ne 6K1mrMKniWUlvtFysdy2ZH2bpP1+Pks2jsHCYi0A2RXgJOr/Suun1IpYtqyyVYQEA1pS3KpLlESlx dPGFfXZkDPheenHesx/myrOHgXX5okXcKY2MvfEZH8OFO4LWDXmtF0DuaNTsDw/ZCwr/SH+PBmlAZ QBMy0GAaVmZAXUYzYLA+mM+PkBtWrx/Y1TtV4OdUV7fhE1PvfxBPKIpxOLJWYkjL5lwDypiVS3ufU zsj0aCmnzPdkuSvex9dQ==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gOn5T-0001PE-90; Mon, 19 Nov 2018 17:11:51 +0000 Received: from mail-pg1-x541.google.com ([2607:f8b0:4864:20::541]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gOn58-0000rn-Ao for linux-arm-kernel@lists.infradead.org; Mon, 19 Nov 2018 17:11:33 +0000 Received: by mail-pg1-x541.google.com with SMTP id d72so10657398pga.9 for ; Mon, 19 Nov 2018 09:11:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=STUzB5fKji2OZDTM554uiQTGQqsNeS58eSkJzLF2e6o=; b=bYjQCOLApNB1fYP8RIJ8dZWlHsJ+xdZf5IX64jBJ2xWgLcwdWYVvEr8YMO0MVTjV9f BSOPTw3EOdJ6fROVdP8rhJTq72FP9M3SkDV036apofPlMmMESqY+sfB/NhFaGAkqBxiR Kp229RBwRyIQxJ11B5gRHeDaiXdUgfh13IO9Y= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=STUzB5fKji2OZDTM554uiQTGQqsNeS58eSkJzLF2e6o=; b=F1qSsB8+HI9ChfXIyzaLpzrmHD1PlzmA+yBcEzhTI0tdNny6YtdYNArbo8ocK42g6T NICjXTzJ+vLCrEbD9VCuN4m2VPV+qEUanXlYEBwUkDnl37E9GrFp2PX5MafJcqKkU3Hy om6zb9jyXqV09OWzQNKOBWB6ipBU8NOy1SL+nUcW1ql9WFRyoy/hHNuYMDnXd1HEse5/ E4b1QD0jXv2KSIqmMX6D0wu/F0v6PpxcYjsG00vZsTUAY/rZg+UaxZWld13j0i1NPmWy m5r0Z47/a+XWng8/MAdpubpgJj+egWYIGDHttAEaKf4jgAMZQpLZWWSb6JgtoHufHe3P vLuQ== X-Gm-Message-State: AGRZ1gJJXsBKF5PkAN3j84B3ueTpkXGM3WcxAgXeQxlY/P7lbEvBrd0F 5YwqPHeNOcVLF5VVSPmid6Fq X-Google-Smtp-Source: AJdET5cmgO+BVh464DC+zUzN81c+WqRanbXOk3Sza+w/32eHUFZ2Z/xyPWTR7CvBVLaKKyEbKOaMJQ== X-Received: by 2002:a63:1d59:: with SMTP id d25mr18767398pgm.180.1542647479640; Mon, 19 Nov 2018 09:11:19 -0800 (PST) Received: from localhost.localdomain ([2409:4072:631b:44eb:3905:6402:e2fb:2d7]) by smtp.gmail.com with ESMTPSA id 186-v6sm46175458pfe.39.2018.11.19.09.11.10 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 19 Nov 2018 09:11:19 -0800 (PST) From: Manivannan Sadhasivam To: olof@lixom.net, arnd@arndb.de, robh+dt@kernel.org, tglx@linutronix.de, jason@lakedaemon.net, marc.zyngier@arm.com, daniel.lezcano@linaro.org Subject: [PATCH 04/16] arm: dts: Add devicetree for RDA8810PL SoC Date: Mon, 19 Nov 2018 22:39:27 +0530 Message-Id: <20181119170939.19153-5-manivannan.sadhasivam@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181119170939.19153-1-manivannan.sadhasivam@linaro.org> References: <20181119170939.19153-1-manivannan.sadhasivam@linaro.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20181119_091130_412713_3A7F57B6 X-CRM114-Status: GOOD ( 14.33 ) X-Spam-Score: -0.2 (/) X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary: Content analysis details: (-0.2 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [2607:f8b0:4864:20:0:0:0:541 listed in] [list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from envelope-from domain -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, linus.walleij@linaro.org, service@rdamicro.com, linux-kernel@vger.kernel.org, amit.kucheria@linaro.org, Manivannan Sadhasivam , =?utf-8?q?Andreas_F=C3=A4rber?= , linux-arm-kernel@lists.infradead.org, zhao_steven@263.net Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org List-Id: linux-imx-kernel.lists.patchwork.ozlabs.org Add initial device tree for RDA8810PL SoC from RDA Microelectronics. Signed-off-by: Andreas Färber Signed-off-by: Manivannan Sadhasivam --- arch/arm/boot/dts/rda8810pl.dtsi | 95 ++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 arch/arm/boot/dts/rda8810pl.dtsi diff --git a/arch/arm/boot/dts/rda8810pl.dtsi b/arch/arm/boot/dts/rda8810pl.dtsi new file mode 100644 index 000000000000..7f1ff2021eff --- /dev/null +++ b/arch/arm/boot/dts/rda8810pl.dtsi @@ -0,0 +1,95 @@ +/* + * RDA8810PL SoC + * + * Copyright (c) 2017 Andreas Färber + * Copyright (c) 2018 Manivannan Sadhasivam + * + * SPDX-License-Identifier: (GPL-2.0+ OR MIT) + */ + +/ { + compatible = "rda,8810pl"; + #address-cells = <1>; + #size-cells = <1>; + + aliases { + serial0 = &uart0; + serial1 = &uart1; + serial2 = &uart2; + }; + + cpus { + #address-cells = <1>; + #size-cells = <0>; + + cpu@0 { + device_type = "cpu"; + compatible = "arm,cortex-a5"; + reg = <0x0>; + }; + }; + + soc { + compatible = "simple-bus"; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0x0 0x0 0x80000000>; + + sram@100000 { + compatible = "mmio-sram"; + reg = <0x100000 0x10000>; + #address-cells = <1>; + #size-cells = <1>; + ranges; + }; + + apb@20800000 { + compatible = "simple-bus"; + reg = <0x20800000 0x100000>; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0x0 0x20800000 0x100000>; + }; + + apb@20900000 { + compatible = "simple-bus"; + reg = <0x20900000 0x100000>; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0x0 0x20900000 0x100000>; + }; + + apb@20a00000 { + compatible = "simple-bus"; + reg = <0x20a00000 0x100000>; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0x0 0x20a00000 0x100000>; + + uart0: serial@0 { + compatible = "rda,8810pl-uart"; + reg = <0x0 0x1000>; + status = "disabled"; + }; + + uart1: serial@10000 { + compatible = "rda,8810pl-uart"; + reg = <0x10000 0x1000>; + status = "disabled"; + }; + + uart2: serial@90000 { + compatible = "rda,8810pl-uart"; + reg = <0x90000 0x1000>; + status = "disabled"; + }; + }; + + l2: cache-controller@21100000 { + compatible = "arm,pl310-cache"; + reg = <0x21100000 0x1000>; + cache-unified; + cache-level = <2>; + }; + }; +}; From patchwork Mon Nov 19 17:09:28 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Manivannan Sadhasivam X-Patchwork-Id: 999953 Return-Path: X-Original-To: incoming-imx@patchwork.ozlabs.org Delivered-To: patchwork-incoming-imx@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.infradead.org (client-ip=2607:7c80:54:e::133; helo=bombadil.infradead.org; envelope-from=linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="d1qAhrdH"; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.b="CddQCmjc"; dkim-atps=neutral Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:e::133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 42zFlJ1M2qz9sPk for ; Tue, 20 Nov 2018 04:12:44 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=MzlM0RbbRWtMF3xYnn2IB1jrDDY2vmU3e3acldD+fzk=; b=d1qAhrdHwok0Ca lIIDMgP37whCF70vgEJO0iSI/PHnfk0XDZpjGoBY6OTHnUOk55Ww/RC1s/BSA0fRY+y0vFUQlGmjJ l7UEHoa8skTPzS6yGJl6DBBqKJQVp39e5l9/2WYkQONhquKiOw7z9VYZURp0j9nKY+fZwQqr5OOue z4ysaH+nhGX0Vw8LW2nHXkxAO7/za4ALF6PodIDj8hJ6eGCDw0VmZNylVbgbCVn60z4eXANGJpHUu CCFtsjKPb2x6WZZPl7kXWaCkdDwO8WP+LXcSOmKDDns+H3Evm3dBlSw5fwwIrT6yd0lPnql9MukQO dutI7RkNQ1bUrlB/7XbA==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gOn6B-0002BJ-5b; Mon, 19 Nov 2018 17:12:35 +0000 Received: from mail-pg1-x542.google.com ([2607:f8b0:4864:20::542]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gOn5I-00013Z-A8 for linux-arm-kernel@lists.infradead.org; Mon, 19 Nov 2018 17:11:42 +0000 Received: by mail-pg1-x542.google.com with SMTP id w7so14089617pgp.13 for ; Mon, 19 Nov 2018 09:11:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=lovS/nwfxXz2YQe0/HUnsKL9fcLTGfnOgEY8rFfiAyU=; b=CddQCmjcYAEaTSt498fRfW4QuqE5SMdherwu6BY/7EDDv0VSDQ9/LFXfnRby/YcqFs VLUMEtKHQv3+nbARCSpN68eXQKRN/O0Fsd2QXHuPAHbmmYesAnCKmNWr4+Wzc7bdYtVs FMWYNp7GKqEF+caL+ZtcQF407J3d9ntN+K9ac= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=lovS/nwfxXz2YQe0/HUnsKL9fcLTGfnOgEY8rFfiAyU=; b=o/cOS5yThUoOW4Lq93CNfYZW0qhG55astckYNu2/xWX/LocW6sDpDF/ehMDeUa6X6S yTYoHCwHdVHJXOdJYbbWlueHrSgEUnfRHR0PcW5XTJ42zk1FAYM1OId0fjNfYlN87G4T xOECF9NVCQ2si4P+uaP9BeFTv547Qm7+VgfDdaQGz2g2uDyTPi+bHagzBmRFAwqG7Xs0 6Apoo4dGYJptw08hBNTjdLcFURbSVic54+wcuUTE7j6L9vjzEChksBWqshF4KNNfwc1f y21doamMBjfk/2nl+TqNS6dnAdJWMJQMIBaldngqe1lUGD0/uiQP7kQsA+F2ubdIkdZh tBMQ== X-Gm-Message-State: AGRZ1gIhas7N/30xYE2dtr6BDne6UIlkG1VclO4ZtLKJ14rKQVfczaUq 6lKFiw5DYXj9K5Rmp4NNcbPI X-Google-Smtp-Source: AJdET5fgBhwcR8YQuSASyKwl4zwuC089789aAuuJwH65n7CQ4LuKCcNpDddiC/MKYqaFLZuIwdhtOg== X-Received: by 2002:a62:e30d:: with SMTP id g13mr12105001pfh.151.1542647489171; Mon, 19 Nov 2018 09:11:29 -0800 (PST) Received: from localhost.localdomain ([2409:4072:631b:44eb:3905:6402:e2fb:2d7]) by smtp.gmail.com with ESMTPSA id 186-v6sm46175458pfe.39.2018.11.19.09.11.20 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 19 Nov 2018 09:11:28 -0800 (PST) From: Manivannan Sadhasivam To: olof@lixom.net, arnd@arndb.de, robh+dt@kernel.org, tglx@linutronix.de, jason@lakedaemon.net, marc.zyngier@arm.com, daniel.lezcano@linaro.org Subject: [PATCH 05/16] arm: dts: Add devicetree for OrangePi 2G IoT board Date: Mon, 19 Nov 2018 22:39:28 +0530 Message-Id: <20181119170939.19153-6-manivannan.sadhasivam@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181119170939.19153-1-manivannan.sadhasivam@linaro.org> References: <20181119170939.19153-1-manivannan.sadhasivam@linaro.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20181119_091140_379383_3391F3E9 X-CRM114-Status: GOOD ( 14.78 ) X-Spam-Score: -0.2 (/) X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary: Content analysis details: (-0.2 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [2607:f8b0:4864:20:0:0:0:542 listed in] [list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from envelope-from domain -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, linus.walleij@linaro.org, service@rdamicro.com, linux-kernel@vger.kernel.org, amit.kucheria@linaro.org, Manivannan Sadhasivam , =?utf-8?q?Andreas_F=C3=A4rber?= , linux-arm-kernel@lists.infradead.org, zhao_steven@263.net Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org List-Id: linux-imx-kernel.lists.patchwork.ozlabs.org Add initial devicetree support for OrangePi 2G IoT board from Xunlong. Signed-off-by: Andreas Färber Signed-off-by: Manivannan Sadhasivam --- arch/arm/boot/dts/Makefile | 2 ++ .../boot/dts/rda8810pl-orangepi-2g-iot.dts | 35 +++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 arch/arm/boot/dts/rda8810pl-orangepi-2g-iot.dts diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index b0e966d625b9..a0fdad8f10dd 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -806,6 +806,8 @@ dtb-$(CONFIG_ARCH_QCOM) += \ qcom-msm8974-sony-xperia-castor.dtb \ qcom-msm8974-sony-xperia-honami.dtb \ qcom-mdm9615-wp8548-mangoh-green.dtb +dtb-$(CONFIG_ARCH_RDA) += \ + rda8810pl-orangepi-2g-iot.dtb dtb-$(CONFIG_ARCH_REALVIEW) += \ arm-realview-pb1176.dtb \ arm-realview-pb11mp.dtb \ diff --git a/arch/arm/boot/dts/rda8810pl-orangepi-2g-iot.dts b/arch/arm/boot/dts/rda8810pl-orangepi-2g-iot.dts new file mode 100644 index 000000000000..4b49a7424b6a --- /dev/null +++ b/arch/arm/boot/dts/rda8810pl-orangepi-2g-iot.dts @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2017 Andreas Färber + * Copyright (c) 2018 Manivannan Sadhasivam + * + * SPDX-License-Identifier: (GPL-2.0+ OR MIT) + */ + +/dts-v1/; + +#include "rda8810pl.dtsi" + +/ { + compatible = "xunlong,orangepi-2g-iot", "rda,8810pl"; + model = "Orange Pi 2G-IoT"; + + chosen { + stdout-path = "serial2:921600n8"; + }; + + memory@80000000 { + device_type = "memory"; + reg = <0x80000000 0x10000000>; + }; + + uart2_clk: uart2-clk { + compatible = "fixed-clock"; + clock-frequency = <921600>; + #clock-cells = <0>; + }; +}; + +&uart2 { + status = "okay"; + clocks = <&uart2_clk>; +}; From patchwork Mon Nov 19 17:09:29 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Manivannan Sadhasivam X-Patchwork-Id: 999951 Return-Path: X-Original-To: incoming-imx@patchwork.ozlabs.org Delivered-To: patchwork-incoming-imx@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.infradead.org (client-ip=2607:7c80:54:e::133; helo=bombadil.infradead.org; envelope-from=linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="TWJfn0En"; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.b="DcQi4j/u"; dkim-atps=neutral Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:e::133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 42zFl058h8z9sPL for ; Tue, 20 Nov 2018 04:12:24 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=NYcke3JXnVhUWIAuOUG+fuIanvdGNyUn7gLWGgg8K+M=; b=TWJfn0EnY2frtE gUxBA7ud4F63llcK9aFh2g+l1J+Z/mhAalRUz5EN22zxpvtgISx2xi3hNbnAy5UKy9PIAa4HcufYs +Ffb9p8lWdENvpyluFTj4etdrw69C2s3Y9mNjuCkoAwmKdo+6GeGfO0zjn4rUt0AcCZBvySphv8q2 DCsiCZ1bgfSQzqhtTumHHKn39YwNFKnuVRCME+jYVLgnB1gq3oto28dPwN2/6JZgLQv1aG4wgGyXr 5C1DqTze/PVi8uNDvRnSzUlPFrR/NE/XivZfahQjVcD+MZLToLZFiJ7S42/rLpGx6mx1J/UidCmhH M+T0OHbnQPBz2hn5rZ9A==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gOn5s-0001kZ-FC; Mon, 19 Nov 2018 17:12:16 +0000 Received: from mail-pg1-x544.google.com ([2607:f8b0:4864:20::544]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gOn5G-0001EB-A7 for linux-arm-kernel@lists.infradead.org; Mon, 19 Nov 2018 17:11:41 +0000 Received: by mail-pg1-x544.google.com with SMTP id z10so14107990pgp.7 for ; Mon, 19 Nov 2018 09:11:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=f8EdN9IfUC+HQpAsL0jSDLomOfXBY5TdAIOND6Bm3Pg=; b=DcQi4j/uit2V/jjRVTqlhidAKQmOlNp6R3xG9FsvTzENvySz0QN8wwDgEa+NxDZR1y pMxnrzcMAGlWp4qptU3Xhc7jKLq3Ws2l82u2et/KBPI9aViVUalcOjSzCLecsi3YW9k2 e0OHpNninSSTutQfVyh9xDRiQ7lYKxjHV1k2c= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=f8EdN9IfUC+HQpAsL0jSDLomOfXBY5TdAIOND6Bm3Pg=; b=hE1bbTnyP8yT3XV4KGfUw2llvjXt4yrDdlnNART3Aigxqn8f4xucFSqp357RDR+hZl byHYuMSac4iW8hOH5Ay/Skw4d85Y4sjmGGfOTm8ae8kEW8Syuy61+TJcI4nRGdSjAEeH DSb2EuKn2vhNTnQuPCwWLgvkhEIfH61BOAw2fsvTFPvJGWTP+oSmjDrg4qRZl+tAs7WU 4/ww+Za1twg1TTPm+iftY7p76DiNh8okUpZOY/JsMRMVHKB3EhqgQCpNWbqTm61wmSCC +bYwEtSdayFNc5/xBiFVv54r4o0g/B4+erZjz2XBBN5vBxgdMvlDzkpIJwPI/aUWNvsO PIxA== X-Gm-Message-State: AGRZ1gILQcqak79FjtxMyCwa2u5JgT9/NLvMfdP3RBqrl4oCy6NGYdWW dFzX1hvebDFfcLx4sngW/PEJ2a1qaw== X-Google-Smtp-Source: AJdET5eMv18kMDsLE0eoCXWqRIA+aAQKo2rn4pNCCLLN3Ng1XI0/LM7GaCBw5+K5e4t/ysbiywv6dw== X-Received: by 2002:a63:6f0d:: with SMTP id k13mr20651272pgc.42.1542647496980; Mon, 19 Nov 2018 09:11:36 -0800 (PST) Received: from localhost.localdomain ([2409:4072:631b:44eb:3905:6402:e2fb:2d7]) by smtp.gmail.com with ESMTPSA id 186-v6sm46175458pfe.39.2018.11.19.09.11.29 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 19 Nov 2018 09:11:36 -0800 (PST) From: Manivannan Sadhasivam To: olof@lixom.net, arnd@arndb.de, robh+dt@kernel.org, tglx@linutronix.de, jason@lakedaemon.net, marc.zyngier@arm.com, daniel.lezcano@linaro.org Subject: [PATCH 06/16] arm: dts: Add devicetree for OrangePi i96 board Date: Mon, 19 Nov 2018 22:39:29 +0530 Message-Id: <20181119170939.19153-7-manivannan.sadhasivam@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181119170939.19153-1-manivannan.sadhasivam@linaro.org> References: <20181119170939.19153-1-manivannan.sadhasivam@linaro.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20181119_091138_398655_7988BCC5 X-CRM114-Status: GOOD ( 15.47 ) X-Spam-Score: -0.2 (/) X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary: Content analysis details: (-0.2 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [2607:f8b0:4864:20:0:0:0:544 listed in] [list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from envelope-from domain -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, linus.walleij@linaro.org, service@rdamicro.com, linux-kernel@vger.kernel.org, amit.kucheria@linaro.org, Manivannan Sadhasivam , =?utf-8?q?Andreas_F=C3=A4rber?= , linux-arm-kernel@lists.infradead.org, zhao_steven@263.net Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org List-Id: linux-imx-kernel.lists.patchwork.ozlabs.org Add initial devicetree for Orange Pi i96 board from Xunlong. It is one of the 96Boards IoT Edition board. Signed-off-by: Andreas Färber Signed-off-by: Manivannan Sadhasivam --- arch/arm/boot/dts/Makefile | 3 +- arch/arm/boot/dts/rda8810pl-orangepi-i96.dts | 35 ++++++++++++++++++++ 2 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 arch/arm/boot/dts/rda8810pl-orangepi-i96.dts diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index a0fdad8f10dd..cfb08ea33872 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -807,7 +807,8 @@ dtb-$(CONFIG_ARCH_QCOM) += \ qcom-msm8974-sony-xperia-honami.dtb \ qcom-mdm9615-wp8548-mangoh-green.dtb dtb-$(CONFIG_ARCH_RDA) += \ - rda8810pl-orangepi-2g-iot.dtb + rda8810pl-orangepi-2g-iot.dtb \ + rda8810pl-orangepi-i96.dtb dtb-$(CONFIG_ARCH_REALVIEW) += \ arm-realview-pb1176.dtb \ arm-realview-pb11mp.dtb \ diff --git a/arch/arm/boot/dts/rda8810pl-orangepi-i96.dts b/arch/arm/boot/dts/rda8810pl-orangepi-i96.dts new file mode 100644 index 000000000000..3e3b8c4575cd --- /dev/null +++ b/arch/arm/boot/dts/rda8810pl-orangepi-i96.dts @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2017 Andreas Färber + * Copyright (c) 2018 Manivannan Sadhasivam + * + * SPDX-License-Identifier: (GPL-2.0+ OR MIT) + */ + +/dts-v1/; + +#include "rda8810pl.dtsi" + +/ { + compatible = "xunlong,orangepi-i96", "rda,8810pl"; + model = "Orange Pi i96"; + + chosen { + stdout-path = "serial2:921600n8"; + }; + + memory@80000000 { + device_type = "memory"; + reg = <0x80000000 0x10000000>; + }; + + uart2_clk: uart2-clk { + compatible = "fixed-clock"; + clock-frequency = <921600>; + #clock-cells = <0>; + }; +}; + +&uart2 { + status = "okay"; + clocks = <&uart2_clk>; +}; From patchwork Mon Nov 19 17:09:31 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Manivannan Sadhasivam X-Patchwork-Id: 999976 Return-Path: X-Original-To: incoming-imx@patchwork.ozlabs.org Delivered-To: patchwork-incoming-imx@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.infradead.org (client-ip=2607:7c80:54:e::133; helo=bombadil.infradead.org; envelope-from=linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="V2iWnyDG"; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=infradead.org header.i=@infradead.org header.b="VBruo5pU"; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.b="FLGisDnb"; dkim-atps=neutral Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:e::133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 42zG0f5k7gz9s3x for ; Tue, 20 Nov 2018 04:24:18 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=Wa9sMKvG02dg9LPDpsoD3w1Qg4e6McEozUkwF2sD3rs=; b=V2iWnyDGx0R0X5 4046CKqnfixGW8nQU230S98omt6dsCOj+Jeq9iaOsxvYiaXJRFTZaY+KC2ALcRkCfwwsUOgu9+v6y ONXgxgV+oXWuym433KyFG5aWQ3YUYFnsBBDZXxCQYyFeAH503ajEz2S6Ec+YOrnj7BcNxOiuM/Ip5 qG1H7ucp5nlEXgI7W04v5XT+5O6O6jqwLOXN/SdDgOGkAIGlsT+p1YocMz2rU6dmL+iQPtrH5IGVm 28w/dSXFzNOPtaM5NkRSCJODjgfb4kCiW8Sct18T3ipSChtOupf064po2tJ+RFR1hal0RjY48LMOW V+uSNp37BeZ6LYNzbMcg==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gOnHP-0008IJ-7G; Mon, 19 Nov 2018 17:24:11 +0000 Received: from casper.infradead.org ([2001:8b0:10b:1236::1]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gOnHM-0007rz-95 for linux-arm-kernel@bombadil.infradead.org; Mon, 19 Nov 2018 17:24:08 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=Content-Transfer-Encoding:Content-Type: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender :Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=bGZyJjOaTxTFzcNQ/EVwhaHRgLJ1bzedaBRxPCPwLjo=; b=VBruo5pUi8Z7RoGWuoZTeAIkpE 2GvONYUK11tUH0Vwi6LfvkbvCepvgyu6YSVkMs2M23tcu1ex6lTxqTw9GYnRPUSNAZeEZq+IBlNU/ WlWt+GBuS6gzI0WdKx2kKBVw8wuOzT74A6kGFp/K+Kdb3Fhwsgmeai9cO5kCiW6cYKHKOkb/ZK1RB uDuomYSUGsQVYBgBvKB/Y3e66h1KoHRSTluMq1K/fwVL2hTDLPeFxVt1HAQiMgA1Ef0PB31gtAEPd +ReaQManK4wLq7ErGd7DAIX3xwVemQ2rnPNGZqpSFTGu+fUOHZWC8JchPYOrnUZm53WuC0JAaC0Xh cw2L7ZBA==; Received: from mail-pg1-x543.google.com ([2607:f8b0:4864:20::543]) by casper.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gOn5c-0004UD-Os for linux-arm-kernel@lists.infradead.org; Mon, 19 Nov 2018 17:12:04 +0000 Received: by mail-pg1-x543.google.com with SMTP id 80so14106248pge.4 for ; Mon, 19 Nov 2018 09:11:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=bGZyJjOaTxTFzcNQ/EVwhaHRgLJ1bzedaBRxPCPwLjo=; b=FLGisDnbl+TVkfwvcgO+pgufMr42SkK10LtW1XejdpN09vbT9L2xCOSBjZN1sOGJS3 MujKlI1XuDRvd7uqhPQelsSXGG0lDhsEaMYOME/zIWO70/wDmXUjZ9TvNmHg5c7TwZub AhFS4vpiwpJWz98pDZiY8jiy2CpcVVI8Lqbf4= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=bGZyJjOaTxTFzcNQ/EVwhaHRgLJ1bzedaBRxPCPwLjo=; b=lpQizvCpS2MG2mIyveR5iTscNU3HURe1H4+++SfJaPvJlx+f2r1L/c3gM4rY6mvad/ JOYbNkCc8SiXvaImU82WJMVBQNBPuxGx+CzEt3jMYH7zx2rcGJMevTBMDO0ol1LCRMJF UZ2HSMcBirOChbrUvmTi5KjefP8AmVU3FL+QJAapDe04NuCiDEnyBm7sUtLtWlPS5Isz EggzVaVTqi/hN2vfPd5u0fsL1cWbMD/O4z2kIqxPK6FDtbHhlfFbzt4oqcKmZs/t/q/I 6L1rG3qybuHjdmRR8MXtpa52SmwVEyO8tzlKL4FDlz08EMip8Wr6zLHjgB3bHRg3oGlz kjVQ== X-Gm-Message-State: AGRZ1gJH6dCc3P0xk/9LxK6Yhcf0ef1tXkLQA0zLlsLGa2rwcKx/H5xw X1qaChVCIOVPOhMDbvZ/ydun X-Google-Smtp-Source: AJdET5dARD/sRl7GTdHEV0hOh7lNaCTQP6bJE9XztpMrOFD66xCndUIM9BK04OzIjMNNaUfGYIUJPw== X-Received: by 2002:a63:eb52:: with SMTP id b18mr20316120pgk.213.1542647513201; Mon, 19 Nov 2018 09:11:53 -0800 (PST) Received: from localhost.localdomain ([2409:4072:631b:44eb:3905:6402:e2fb:2d7]) by smtp.gmail.com with ESMTPSA id 186-v6sm46175458pfe.39.2018.11.19.09.11.45 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 19 Nov 2018 09:11:52 -0800 (PST) From: Manivannan Sadhasivam To: olof@lixom.net, arnd@arndb.de, robh+dt@kernel.org, tglx@linutronix.de, jason@lakedaemon.net, marc.zyngier@arm.com, daniel.lezcano@linaro.org Subject: [PATCH 08/16] arm: dts: rda8810pl: Add interrupt controller support Date: Mon, 19 Nov 2018 22:39:31 +0530 Message-Id: <20181119170939.19153-9-manivannan.sadhasivam@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181119170939.19153-1-manivannan.sadhasivam@linaro.org> References: <20181119170939.19153-1-manivannan.sadhasivam@linaro.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20181119_171200_901226_805428FB X-CRM114-Status: GOOD ( 12.98 ) X-Spam-Score: -0.1 (/) X-Spam-Report: SpamAssassin version 3.4.1 on casper.infradead.org summary: Content analysis details: (-0.1 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [2607:f8b0:4864:20:0:0:0:543 listed in] [list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, linus.walleij@linaro.org, service@rdamicro.com, linux-kernel@vger.kernel.org, amit.kucheria@linaro.org, Manivannan Sadhasivam , =?utf-8?q?Andreas_F=C3=A4rber?= , linux-arm-kernel@lists.infradead.org, zhao_steven@263.net Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org List-Id: linux-imx-kernel.lists.patchwork.ozlabs.org Add interrupt controller support for RDA Micro RDA8810PL SoC. Signed-off-by: Andreas Färber Signed-off-by: Manivannan Sadhasivam --- arch/arm/boot/dts/rda8810pl.dtsi | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/arch/arm/boot/dts/rda8810pl.dtsi b/arch/arm/boot/dts/rda8810pl.dtsi index 7f1ff2021eff..093d6980bfbd 100644 --- a/arch/arm/boot/dts/rda8810pl.dtsi +++ b/arch/arm/boot/dts/rda8810pl.dtsi @@ -9,6 +9,7 @@ / { compatible = "rda,8810pl"; + interrupt-parent = <&intc>; #address-cells = <1>; #size-cells = <1>; @@ -49,6 +50,13 @@ #address-cells = <1>; #size-cells = <1>; ranges = <0x0 0x20800000 0x100000>; + + intc: interrupt-controller { + compatible = "rda,8810pl-intc"; + reg = <0x0 0x1000>; + interrupt-controller; + #interrupt-cells = <2>; + }; }; apb@20900000 { From patchwork Mon Nov 19 17:09:32 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Manivannan Sadhasivam X-Patchwork-Id: 999955 Return-Path: X-Original-To: incoming-imx@patchwork.ozlabs.org Delivered-To: patchwork-incoming-imx@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.infradead.org (client-ip=2607:7c80:54:e::133; helo=bombadil.infradead.org; envelope-from=linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="VHBQBGsT"; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.b="OYpBMdyV"; dkim-atps=neutral Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:e::133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 42zFm74lgXz9sNl for ; Tue, 20 Nov 2018 04:13:27 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=guBGltpVt9Em5mQzAchyEq5raLMlaZaV+u8k8/slMZU=; b=VHBQBGsTZyWGd7 lbfeSVMICLufrawjtbF0+OrrIO+wBUA5W9NYAusk7U7ku1fFaGTbT9kcah78CEfn0czBrQ2aS6GHb J3xokt9xlQ2DuuxWcGUNk3atHDmkuZiygkrQD+z8e26bC9/VT20Xgktfs1RMa2/viFpHg4Q+6RLy2 Xg6iI1q5HZokI+34V/6B0ueNw1ylj1DSxkoyYfVrX7W3BNrFNiqCr/jPVpF1t17r8UKo5Je4K8/EO rc3+3l7Aivnq/zae5FvR7SlWU1WM/B5kX+GqptxUiIDDpTZ5freWr8Yo67vGpkGwAUYp3Vr2ZTja2 7C7s2liMQE0yfMpOGrqg==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gOn6p-0002hU-Uv; Mon, 19 Nov 2018 17:13:15 +0000 Received: from mail-pf1-x444.google.com ([2607:f8b0:4864:20::444]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gOn5o-0001c1-TI for linux-arm-kernel@lists.infradead.org; Mon, 19 Nov 2018 17:12:21 +0000 Received: by mail-pf1-x444.google.com with SMTP id z9so663322pfi.2 for ; Mon, 19 Nov 2018 09:12:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=gjfTWF5ho9hOW+H8fAwrXTF7zQ1PXYNRyB/MMyM6ljs=; b=OYpBMdyVWA9L6I8iK6wWAg/eUV9b3ccDfStZOExLX6Yf4wTxEfBgo1SIPZvXvhB+EK fbmAE0HS6LGSPYTMZ5Bm3p8xmVSyLOZOnLocF8hdytD5WsJksc2duLLBieXV0wat77nb wHoLfNISF8izqGmH3kseBJYJwsFZFDYtJR+h4= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=gjfTWF5ho9hOW+H8fAwrXTF7zQ1PXYNRyB/MMyM6ljs=; b=V15AQmbaJxlp7PoBGgexiGApAmm8gMzlRq3NgarCDjLu/6A42OeeQntvxloMON+n+H Wg0kNaWGGU4QcnI6OY7zJNOQZoh/4BPmET+XyPCg/UKJYg/YEFxRRxEgnWvF9CHtXHb6 uQkZoToliPOrrn9HKFzRmEEGg9GxQhfQENakfVMsm2QKZXt2VZoDlgZNe3jA39sRDOay VmMPXR2Ss/MASkCw2NTylxhKqAf8mtRhyrXCiOyI4/p49R0HDrK1ChqeOnwiGaARYAuK A2g4MuxJB2GbIhBoE/mMb2yhvgbFjnbIo1wZF2+ZhbXtzHN/iNuh8yHZkD8JnEwPTvoF evsA== X-Gm-Message-State: AGRZ1gIDERzAbmqMr/LJUQpWf1BOD78ZIXBcJeyfymyaAdCWs+15dfi0 HcnH7mh7CUZnu1yfHYTHptvb X-Google-Smtp-Source: AJdET5eW3lvmdi0apRs2ZJlfqPcyipsZQBhJfAHtDsKm4p/bbTygzPOX6GXt6VWCZN8M3MKBGWg0YA== X-Received: by 2002:a62:9683:: with SMTP id s3mr16521558pfk.60.1542647522027; Mon, 19 Nov 2018 09:12:02 -0800 (PST) Received: from localhost.localdomain ([2409:4072:631b:44eb:3905:6402:e2fb:2d7]) by smtp.gmail.com with ESMTPSA id 186-v6sm46175458pfe.39.2018.11.19.09.11.53 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 19 Nov 2018 09:12:01 -0800 (PST) From: Manivannan Sadhasivam To: olof@lixom.net, arnd@arndb.de, robh+dt@kernel.org, tglx@linutronix.de, jason@lakedaemon.net, marc.zyngier@arm.com, daniel.lezcano@linaro.org Subject: [PATCH 09/16] irqchip: Add RDA8810PL interrupt driver Date: Mon, 19 Nov 2018 22:39:32 +0530 Message-Id: <20181119170939.19153-10-manivannan.sadhasivam@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181119170939.19153-1-manivannan.sadhasivam@linaro.org> References: <20181119170939.19153-1-manivannan.sadhasivam@linaro.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20181119_091212_956828_BE0A034D X-CRM114-Status: GOOD ( 17.48 ) X-Spam-Score: -0.2 (/) X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary: Content analysis details: (-0.2 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [2607:f8b0:4864:20:0:0:0:444 listed in] [list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from envelope-from domain -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, linus.walleij@linaro.org, service@rdamicro.com, linux-kernel@vger.kernel.org, amit.kucheria@linaro.org, Manivannan Sadhasivam , =?utf-8?q?Andreas_F=C3=A4rber?= , linux-arm-kernel@lists.infradead.org, zhao_steven@263.net Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org List-Id: linux-imx-kernel.lists.patchwork.ozlabs.org Add interrupt driver for RDA Micro RDA8810PL SoC. Signed-off-by: Andreas Färber Signed-off-by: Manivannan Sadhasivam --- arch/arm/mach-rda/Kconfig | 1 + drivers/irqchip/Kconfig | 4 ++ drivers/irqchip/Makefile | 1 + drivers/irqchip/irq-rda-intc.c | 116 +++++++++++++++++++++++++++++++++ 4 files changed, 122 insertions(+) create mode 100644 drivers/irqchip/irq-rda-intc.c diff --git a/arch/arm/mach-rda/Kconfig b/arch/arm/mach-rda/Kconfig index dafab78d7aab..29012bc68ca4 100644 --- a/arch/arm/mach-rda/Kconfig +++ b/arch/arm/mach-rda/Kconfig @@ -3,5 +3,6 @@ menuconfig ARCH_RDA depends on ARCH_MULTI_V7 select COMMON_CLK select GENERIC_IRQ_CHIP + select RDA_INTC help This enables support for the RDA Micro 8810PL SoC family. diff --git a/drivers/irqchip/Kconfig b/drivers/irqchip/Kconfig index 51a5ef0e96ed..9d54645870ad 100644 --- a/drivers/irqchip/Kconfig +++ b/drivers/irqchip/Kconfig @@ -195,6 +195,10 @@ config JCORE_AIC help Support for the J-Core integrated AIC. +config RDA_INTC + bool + select IRQ_DOMAIN + config RENESAS_INTC_IRQPIN bool select IRQ_DOMAIN diff --git a/drivers/irqchip/Makefile b/drivers/irqchip/Makefile index 794c13d3ac3d..417108027e40 100644 --- a/drivers/irqchip/Makefile +++ b/drivers/irqchip/Makefile @@ -43,6 +43,7 @@ obj-$(CONFIG_IMGPDC_IRQ) += irq-imgpdc.o obj-$(CONFIG_IRQ_MIPS_CPU) += irq-mips-cpu.o obj-$(CONFIG_SIRF_IRQ) += irq-sirfsoc.o obj-$(CONFIG_JCORE_AIC) += irq-jcore-aic.o +obj-$(CONFIG_RDA_INTC) += irq-rda-intc.o obj-$(CONFIG_RENESAS_INTC_IRQPIN) += irq-renesas-intc-irqpin.o obj-$(CONFIG_RENESAS_IRQC) += irq-renesas-irqc.o obj-$(CONFIG_VERSATILE_FPGA_IRQ) += irq-versatile-fpga.o diff --git a/drivers/irqchip/irq-rda-intc.c b/drivers/irqchip/irq-rda-intc.c new file mode 100644 index 000000000000..89be55a11823 --- /dev/null +++ b/drivers/irqchip/irq-rda-intc.c @@ -0,0 +1,116 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * RDA8810PL SoC irqchip driver + * + * Copyright RDA Microelectronics Company Limited + * Copyright (c) 2017 Andreas Färber + * Copyright (c) 2018 Manivannan Sadhasivam + */ + +#include +#include +#include +#include +#include +#include + +#include +#include + +#define RDA_INTC_FINALSTATUS 0x00 +#define RDA_INTC_STATUS 0x04 +#define RDA_INTC_MASK_SET 0x08 +#define RDA_INTC_MASK_CLR 0x0c +#define RDA_INTC_WAKEUP_MASK 0x18 +#define RDA_INTC_CPU_SLEEP 0x1c + +#define RDA_IRQ_MASK_ALL 0xFFFFFFFF + +#define RDA_NR_IRQS 32 + +void __iomem *base; + +static void rda_intc_mask_irq(struct irq_data *d) +{ + void __iomem *base = (void __iomem *)irq_data_get_irq_chip_data(d); + + writel(BIT(d->hwirq), base + RDA_INTC_MASK_CLR); +} + +static void rda_intc_unmask_irq(struct irq_data *d) +{ + void __iomem *base = (void __iomem *)irq_data_get_irq_chip_data(d); + + writel(BIT(d->hwirq), base + RDA_INTC_MASK_SET); +} + +static int rda_intc_set_type(struct irq_data *data, unsigned int flow_type) +{ + if (flow_type & (IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING)) + irq_set_handler(data->irq, handle_edge_irq); + if (flow_type & (IRQF_TRIGGER_HIGH | IRQF_TRIGGER_LOW)) + irq_set_handler(data->irq, handle_level_irq); + + return 0; +} + +struct irq_domain *rda_irq_domain; + +static void __exception_irq_entry rda_handle_irq(struct pt_regs *regs) +{ + u32 stat = readl(base + RDA_INTC_FINALSTATUS); + u32 hwirq; + + while (stat) { + hwirq = __fls(stat); + handle_domain_irq(rda_irq_domain, hwirq, regs); + stat &= ~(1 << hwirq); + } +} + +static struct irq_chip rda_irq_chip = { + .name = "rda-intc", + .irq_ack = rda_intc_mask_irq, + .irq_mask = rda_intc_mask_irq, + .irq_unmask = rda_intc_unmask_irq, + .irq_set_type = rda_intc_set_type, + .irq_disable = rda_intc_mask_irq, +}; + +static int rda_irq_map(struct irq_domain *d, + unsigned int virq, irq_hw_number_t hw) +{ + irq_set_status_flags(virq, IRQ_LEVEL); + irq_set_chip_and_handler(virq, &rda_irq_chip, handle_level_irq); + irq_set_chip_data(virq, d->host_data); + irq_set_probe(virq); + + return 0; +} + +static const struct irq_domain_ops rda_irq_domain_ops = { + .map = rda_irq_map, + .xlate = irq_domain_xlate_onecell, +}; + +static int __init rda8810_intc_init(struct device_node *node, + struct device_node *parent) +{ + base = of_io_request_and_map(node, 0, "rda-intc"); + if (!base) + return -ENXIO; + /* + * Mask, and invalid all interrupt sources + */ + writel(RDA_IRQ_MASK_ALL, base + RDA_INTC_MASK_CLR); + + rda_irq_domain = irq_domain_create_linear(&node->fwnode, RDA_NR_IRQS, + &rda_irq_domain_ops, base); + WARN_ON(!rda_irq_domain); + + set_handle_irq(rda_handle_irq); + + return 0; +} + +IRQCHIP_DECLARE(rda_intc, "rda,8810pl-intc", rda8810_intc_init); From patchwork Mon Nov 19 17:09:34 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Manivannan Sadhasivam X-Patchwork-Id: 999957 Return-Path: X-Original-To: incoming-imx@patchwork.ozlabs.org Delivered-To: patchwork-incoming-imx@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.infradead.org (client-ip=2607:7c80:54:e::133; helo=bombadil.infradead.org; envelope-from=linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="fpd4AulZ"; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.b="HmcUeCnP"; dkim-atps=neutral Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:e::133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 42zFmr3YXvz9sNK for ; Tue, 20 Nov 2018 04:14:04 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=pUJVppjuTTai4Xr+vCnnMd2/2TYIMglwBYUgoTBDiD0=; b=fpd4AulZaxw+Vh T5sK2gctea6tkT4sNqSzeCaQH1Js1QixhbF7K95Ua/xn6uwXM+4bFgwukjJNyd0nAa7qgwl1IZqVG qGTsbPVtLhYYSfwLumrc3OM3hGaJtIiv3CRiEQH71GGV1nDfB7NhLNFdhqvPVrBs8/3AGLUOSQoJx uuADVFm5gQUtcfr/Pz58DbA/4Ehnplbq59z9akI0MrPzReKh8l0pQziAokESkiv3t9aWE/rHBzCce PMvAe+67qJFjqOC5PqVeZWpmO0srq7Vyt9UJal0GLsyyi83ewzsTYnXsM/YbPHkfEteugZxy0MBn1 iErRhz66rYNIj/YqXYCw==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gOn7W-0003IN-31; Mon, 19 Nov 2018 17:13:58 +0000 Received: from mail-pl1-x643.google.com ([2607:f8b0:4864:20::643]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gOn65-0001qB-35 for linux-arm-kernel@lists.infradead.org; Mon, 19 Nov 2018 17:12:34 +0000 Received: by mail-pl1-x643.google.com with SMTP id a14so10280148plm.12 for ; Mon, 19 Nov 2018 09:12:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=jBqjbleOR1XYLcLHKcw7C9MGOuQDlogmmYBwF0l/45o=; b=HmcUeCnPjGv3rKO0oslKqohVVIOwHxX54dueSObI1priLH+c1AhIdViI0RuN8Lc/2Q cAo596iXqK2aFT51VnSMoOIOEXefF4+TVz5HJ+o1ux1J4Vt+T/0iQ65XlD0PnigiwYir nk5XiqFCSV0ArSqbwK0MPIKG9dWtTVTINXQM8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=jBqjbleOR1XYLcLHKcw7C9MGOuQDlogmmYBwF0l/45o=; b=jJxoLrOz/PIAnkW4OLl2ym+mCS62KnEgq9aZgGYzbGQ8uXyoisCvCzUb8szlnwwY5b OyKbdub7zL0JeKV9ukI1yPNwgbDwsWPkstn9brwmW2pDs3mYC7e2WAhnYBC71EHm9vGM zZIQ8nW9XKNbiQQFOdorqlMNHnyfJ0ckWeilXthov9b+kgnt7Rc49bTg6p7rWPxVXa5M rl32sG86jL+Y5MXUV9bgbsMSQ+QcHoNweTK24KC5C55JCn4XCg2m+Y7xIy8M4MYiaPBD 4vNGhZbG8svrLeZicnI/+XRhRcyGfytMQ6SUY2ck8fHDCwAWlnIJnzlkuP47CfSwOHXI hYUA== X-Gm-Message-State: AGRZ1gLaMK60uTHcNuXel830E/ryfpkRXivr5salxc+QMA7HdK1peAH0 TLbl+lvPMwUP2IACyhKVMC0z X-Google-Smtp-Source: AJdET5f5ZFJeJ8M4A42eK5gIdpNSsV/fL4NIXwNP47kda2ohDxhTKyWoH7KDGMNrpXHNt6xuPxaOhQ== X-Received: by 2002:a17:902:6801:: with SMTP id h1-v6mr23061128plk.177.1542647538329; Mon, 19 Nov 2018 09:12:18 -0800 (PST) Received: from localhost.localdomain ([2409:4072:631b:44eb:3905:6402:e2fb:2d7]) by smtp.gmail.com with ESMTPSA id 186-v6sm46175458pfe.39.2018.11.19.09.12.11 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 19 Nov 2018 09:12:17 -0800 (PST) From: Manivannan Sadhasivam To: olof@lixom.net, arnd@arndb.de, robh+dt@kernel.org, tglx@linutronix.de, jason@lakedaemon.net, marc.zyngier@arm.com, daniel.lezcano@linaro.org Subject: [PATCH 11/16] arm: dts: rda8810pl: Add timer support Date: Mon, 19 Nov 2018 22:39:34 +0530 Message-Id: <20181119170939.19153-12-manivannan.sadhasivam@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181119170939.19153-1-manivannan.sadhasivam@linaro.org> References: <20181119170939.19153-1-manivannan.sadhasivam@linaro.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20181119_091229_142951_2E2503AD X-CRM114-Status: GOOD ( 13.11 ) X-Spam-Score: -0.2 (/) X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary: Content analysis details: (-0.2 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [2607:f8b0:4864:20:0:0:0:643 listed in] [list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from envelope-from domain -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, linus.walleij@linaro.org, service@rdamicro.com, linux-kernel@vger.kernel.org, amit.kucheria@linaro.org, Manivannan Sadhasivam , =?utf-8?q?Andreas_F=C3=A4rber?= , linux-arm-kernel@lists.infradead.org, zhao_steven@263.net Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org List-Id: linux-imx-kernel.lists.patchwork.ozlabs.org Add timer support for RDA Micro RDA8810PL SoC. Signed-off-by: Andreas Färber Signed-off-by: Manivannan Sadhasivam --- arch/arm/boot/dts/rda8810pl.dtsi | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/arch/arm/boot/dts/rda8810pl.dtsi b/arch/arm/boot/dts/rda8810pl.dtsi index 093d6980bfbd..470a18585deb 100644 --- a/arch/arm/boot/dts/rda8810pl.dtsi +++ b/arch/arm/boot/dts/rda8810pl.dtsi @@ -7,6 +7,8 @@ * SPDX-License-Identifier: (GPL-2.0+ OR MIT) */ +#include + / { compatible = "rda,8810pl"; interrupt-parent = <&intc>; @@ -65,6 +67,14 @@ #address-cells = <1>; #size-cells = <1>; ranges = <0x0 0x20900000 0x100000>; + + timer@10000 { + compatible = "rda,8810pl-timer"; + reg = <0x10000 0x1000>; + interrupts = <16 IRQ_TYPE_LEVEL_HIGH>, + <17 IRQ_TYPE_LEVEL_HIGH>; + interrupt-names = "hwtimer", "ostimer"; + }; }; apb@20a00000 { From patchwork Mon Nov 19 17:09:35 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Manivannan Sadhasivam X-Patchwork-Id: 999958 Return-Path: X-Original-To: incoming-imx@patchwork.ozlabs.org Delivered-To: patchwork-incoming-imx@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.infradead.org (client-ip=2607:7c80:54:e::133; helo=bombadil.infradead.org; envelope-from=linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="T7tn4QbZ"; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.b="ay5NXzLI"; dkim-atps=neutral Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:e::133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 42zFn820dnz9sNf for ; Tue, 20 Nov 2018 04:14:19 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=Is0XrgrkukKB/bj0cIT4MsAdcjFA546mut4oLjpOslY=; b=T7tn4QbZieX9rR T0o3t3Mg3LpmjH1Up/7AB6Xdnj5r1WDxW1b63Vn+AwnfqFZRuyytYh8tWFhRFkT5HvSXVge3SIA2h zGkqiYIGQA/quxPHvIpU6wzkMF238gNOT/pwyIG21m5kgPZJ8xH3QAWnHu7AlUc6GaXY1KCFZGKMr XUE2UNr5+uo0YKa+vDGAWc79xLHY722jUmzWE/deZ/vhDF2da6ZsqTbYUdzqAV0pPM3UJj7VXbN8A 9Nn7uZj2jhDgXAWaOKhikMRpfMXjDimzX0f7trq1OTUOrB6soqjKlJ/q6E8qwTsbSwwSQnLEyN9sq LpAXZN0xmxMK8szFcePA==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gOn7k-0003YB-0c; Mon, 19 Nov 2018 17:14:12 +0000 Received: from mail-pg1-x543.google.com ([2607:f8b0:4864:20::543]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gOn6D-00027Q-Oq for linux-arm-kernel@lists.infradead.org; Mon, 19 Nov 2018 17:12:40 +0000 Received: by mail-pg1-x543.google.com with SMTP id z10so14108958pgp.7 for ; Mon, 19 Nov 2018 09:12:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=JLrla1sylzw8LCOsFt1CrI+2VOlTOfZdNLUHwh/WN8I=; b=ay5NXzLI6iKzNK/liQu7rXLcPQhUO7jEaKsc0lOKOxVa4hvmwr7/aTBQsNHLq1tbH1 GqJWXv65jtPrqYKF51cR0VAWehWohZzCe1G06tyYrMWy6a9gLEuhQyRwrY5m0D2A3COa mULbOVIo/k4EvVFj7hG4wEao9jvEiXQuvl5cs= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=JLrla1sylzw8LCOsFt1CrI+2VOlTOfZdNLUHwh/WN8I=; b=gT2fLoaDKhaxqyGxvVr+yoTOQS1iYTCtyEYK37BhWhU62HlHAxbmTQxan+ZjxygQNP Gzl+omLHuLFOaQY4+Yin5DftT9u0S4ghLIm3wKPr1cDgDMosxQhmU3sKhxfE5sPOyks5 AWXlw2h1q1o3SMNauoT0ZFV1fDsYChLF7keCGBSsJLNDW1VIyCD9MJpigqEx4FYIWvew cedcaNTh0AChZJoYilTD/1TlTtLTwPkVd1jeUWawAayfRJu0KLDpZV8akKx0mme3MFAc 3MJBB9RybvC1HOD1yWRNbdNeZ2eyWkjQf9DIDpvcsKDYd/KgQLEEu4b/x73EnSRvNXTZ 628w== X-Gm-Message-State: AGRZ1gKhi9gSGvwyjSbcMgGcS6Pk2L4v8SdT3c7bOt+lfL2Ua5e8iHYQ YhIJ4GAQWwoOjCjGgK4bDxWy X-Google-Smtp-Source: AJdET5cPkAND+fXBVOU293D4MH/nCneHofhFH+5vJ08raVHPv6swNW24fScGuJYRJfN4t2AEVI/uZw== X-Received: by 2002:a63:eb0e:: with SMTP id t14mr21050602pgh.445.1542647546849; Mon, 19 Nov 2018 09:12:26 -0800 (PST) Received: from localhost.localdomain ([2409:4072:631b:44eb:3905:6402:e2fb:2d7]) by smtp.gmail.com with ESMTPSA id 186-v6sm46175458pfe.39.2018.11.19.09.12.18 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 19 Nov 2018 09:12:25 -0800 (PST) From: Manivannan Sadhasivam To: olof@lixom.net, arnd@arndb.de, robh+dt@kernel.org, tglx@linutronix.de, jason@lakedaemon.net, marc.zyngier@arm.com, daniel.lezcano@linaro.org Subject: [PATCH 12/16] clocksource: Add clock driver for RDA8810PL SoC Date: Mon, 19 Nov 2018 22:39:35 +0530 Message-Id: <20181119170939.19153-13-manivannan.sadhasivam@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181119170939.19153-1-manivannan.sadhasivam@linaro.org> References: <20181119170939.19153-1-manivannan.sadhasivam@linaro.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20181119_091237_866898_0D4A50DB X-CRM114-Status: GOOD ( 18.57 ) X-Spam-Score: -0.2 (/) X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary: Content analysis details: (-0.2 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [2607:f8b0:4864:20:0:0:0:543 listed in] [list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from envelope-from domain -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, linus.walleij@linaro.org, service@rdamicro.com, linux-kernel@vger.kernel.org, amit.kucheria@linaro.org, Manivannan Sadhasivam , =?utf-8?q?Andreas_F=C3=A4rber?= , linux-arm-kernel@lists.infradead.org, zhao_steven@263.net Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org List-Id: linux-imx-kernel.lists.patchwork.ozlabs.org Add clock driver for RDA Micro RDA8810PL SoC supporting OSTIMER and HWTIMER. Signed-off-by: Andreas Färber Signed-off-by: Manivannan Sadhasivam --- arch/arm/mach-rda/Kconfig | 1 + drivers/clocksource/Kconfig | 7 ++ drivers/clocksource/Makefile | 1 + drivers/clocksource/timer-rda.c | 187 ++++++++++++++++++++++++++++++++ 4 files changed, 196 insertions(+) create mode 100644 drivers/clocksource/timer-rda.c diff --git a/arch/arm/mach-rda/Kconfig b/arch/arm/mach-rda/Kconfig index 29012bc68ca4..1ea753f57b2d 100644 --- a/arch/arm/mach-rda/Kconfig +++ b/arch/arm/mach-rda/Kconfig @@ -4,5 +4,6 @@ menuconfig ARCH_RDA select COMMON_CLK select GENERIC_IRQ_CHIP select RDA_INTC + select RDA_TIMER help This enables support for the RDA Micro 8810PL SoC family. diff --git a/drivers/clocksource/Kconfig b/drivers/clocksource/Kconfig index 55c77e44bb2d..f51eee3a72ea 100644 --- a/drivers/clocksource/Kconfig +++ b/drivers/clocksource/Kconfig @@ -105,6 +105,13 @@ config OWL_TIMER help Enables the support for the Actions Semi Owl timer driver. +config RDA_TIMER + bool "RDA timer driver" if COMPILE_TEST + depends on GENERIC_CLOCKEVENTS + select CLKSRC_MMIO + help + Enables the support for the RDA Micro timer driver. + config SUN4I_TIMER bool "Sun4i timer driver" if COMPILE_TEST depends on HAS_IOMEM diff --git a/drivers/clocksource/Makefile b/drivers/clocksource/Makefile index dd9138104568..150020a90707 100644 --- a/drivers/clocksource/Makefile +++ b/drivers/clocksource/Makefile @@ -57,6 +57,7 @@ obj-$(CONFIG_OXNAS_RPS_TIMER) += timer-oxnas-rps.o obj-$(CONFIG_OWL_TIMER) += timer-owl.o obj-$(CONFIG_SPRD_TIMER) += timer-sprd.o obj-$(CONFIG_NPCM7XX_TIMER) += timer-npcm7xx.o +obj-$(CONFIG_RDA_TIMER) += timer-rda.o obj-$(CONFIG_ARC_TIMERS) += arc_timer.o obj-$(CONFIG_ARM_ARCH_TIMER) += arm_arch_timer.o diff --git a/drivers/clocksource/timer-rda.c b/drivers/clocksource/timer-rda.c new file mode 100644 index 000000000000..3aa684d92c5d --- /dev/null +++ b/drivers/clocksource/timer-rda.c @@ -0,0 +1,187 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * RDA8810PL SoC timer driver + * + * Copyright RDA Microelectronics Company Limited + * Copyright (c) 2017 Andreas Färber + * Copyright (c) 2018 Manivannan Sadhasivam + */ + +#include +#include +#include +#include +#include +#include +#include + +#define RDA_OSTIMER_LOADVAL_L 0x000 +#define RDA_OSTIMER_CTRL 0x004 +#define RDA_HWTIMER_LOCKVAL_L 0x024 +#define RDA_HWTIMER_LOCKVAL_H 0x028 +#define RDA_TIMER_IRQ_MASK_SET 0x02c +#define RDA_TIMER_IRQ_CLR 0x034 + +#define RDA_OSTIMER_CTRL_ENABLE BIT(24) +#define RDA_OSTIMER_CTRL_REPEAT BIT(28) +#define RDA_OSTIMER_CTRL_LOAD BIT(30) + +#define RDA_TIMER_IRQ_MASK_SET_OSTIMER BIT(0) + +#define RDA_TIMER_IRQ_CLR_OSTIMER BIT(0) + +static void __iomem *rda_timer_base; + +static u64 rda_hwtimer_read(struct clocksource *cs) +{ + u32 lo, hi; + + /* Always read low 32 bits first */ + lo = readl(rda_timer_base + RDA_HWTIMER_LOCKVAL_L); + hi = readl(rda_timer_base + RDA_HWTIMER_LOCKVAL_H); + + return ((u64)hi << 32) | lo; +} + +static struct clocksource rda_clocksource = { + .name = "rda-timer", + .rating = 400, + .read = rda_hwtimer_read, + .mask = CLOCKSOURCE_MASK(64), + .flags = CLOCK_SOURCE_IS_CONTINUOUS, +}; + +static int rda_ostimer_start(bool periodic, u64 cycles) +{ + u32 ctrl, load_l; + + load_l = (u32)cycles; + ctrl = ((cycles >> 32) & 0xffffff); + ctrl |= RDA_OSTIMER_CTRL_LOAD | RDA_OSTIMER_CTRL_ENABLE; + if (periodic) + ctrl |= RDA_OSTIMER_CTRL_REPEAT; + + /* Enable ostimer interrupt first */ + writel(RDA_TIMER_IRQ_MASK_SET_OSTIMER, + rda_timer_base + RDA_TIMER_IRQ_MASK_SET); + + /* Write low 32 bits first, high 24 bits are with ctrl */ + writel(load_l, rda_timer_base + RDA_OSTIMER_LOADVAL_L); + writel(ctrl, rda_timer_base + RDA_OSTIMER_CTRL); + + return 0; +} + +static int rda_ostimer_stop(void) +{ + /* Disable ostimer interrupt first */ + writel(0, rda_timer_base + RDA_TIMER_IRQ_MASK_SET); + + writel(0, rda_timer_base + RDA_OSTIMER_CTRL); + + return 0; +} + +static int rda_ostimer_set_state_shutdown(struct clock_event_device *evt) +{ + rda_ostimer_stop(); + + return 0; +} + +static int rda_ostimer_set_state_oneshot(struct clock_event_device *evt) +{ + rda_ostimer_stop(); + + return 0; +} + +static int rda_ostimer_set_state_periodic(struct clock_event_device *evt) +{ + unsigned long cycles_per_jiffy; + + rda_ostimer_stop(); + + cycles_per_jiffy = ((unsigned long long)NSEC_PER_SEC / HZ * + evt->mult) >> evt->shift; + rda_ostimer_start(true, cycles_per_jiffy); + + return 0; +} + +static int rda_ostimer_tick_resume(struct clock_event_device *evt) +{ + return 0; +} + +static int rda_ostimer_set_next_event(unsigned long evt, + struct clock_event_device *ev) +{ + rda_ostimer_start(false, evt); + + return 0; +} + +static struct clock_event_device rda_clockevent = { + .name = "rda-ostimer", + .rating = 250, + .features = CLOCK_EVT_FEAT_PERIODIC | + CLOCK_EVT_FEAT_ONESHOT | + CLOCK_EVT_FEAT_DYNIRQ, + .set_state_shutdown = rda_ostimer_set_state_shutdown, + .set_state_oneshot = rda_ostimer_set_state_oneshot, + .set_state_periodic = rda_ostimer_set_state_periodic, + .tick_resume = rda_ostimer_tick_resume, + .set_next_event = rda_ostimer_set_next_event, +}; + +static irqreturn_t rda_ostimer_interrupt(int irq, void *dev_id) +{ + struct clock_event_device *evt = dev_id; + + /* clear timer int */ + writel(RDA_TIMER_IRQ_CLR_OSTIMER, rda_timer_base + RDA_TIMER_IRQ_CLR); + + if (evt->event_handler) + evt->event_handler(evt); + + return IRQ_HANDLED; +} + +static int __init rda_timer_init(struct device_node *node) +{ + unsigned long rate = 2000000; + int ostimer_irq, ret; + + rda_timer_base = of_io_request_and_map(node, 0, "rda-timer"); + if (IS_ERR(rda_timer_base)) { + pr_err("Can't map timer registers"); + return PTR_ERR(rda_timer_base); + } + + ostimer_irq = of_irq_get_byname(node, "ostimer"); + if (ostimer_irq <= 0) { + pr_err("Can't parse ostimer IRQ"); + return -EINVAL; + } + + clocksource_register_hz(&rda_clocksource, rate); + + ret = request_irq(ostimer_irq, rda_ostimer_interrupt, IRQF_TIMER, + "rda-ostimer", &rda_clockevent); + if (ret) { + pr_err("failed to request irq %d\n", ostimer_irq); + return ret; + } + + irq_force_affinity(ostimer_irq, cpumask_of(0)); + + rda_clockevent.cpumask = cpumask_of(0); + rda_clockevent.irq = ostimer_irq; + clockevents_config_and_register(&rda_clockevent, rate, + 0x2, 0xffffffff); + + return 0; +} + +TIMER_OF_DECLARE(rda8810pl, "rda,8810pl-timer", rda_timer_init); From patchwork Mon Nov 19 17:09:36 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Manivannan Sadhasivam X-Patchwork-Id: 999959 Return-Path: X-Original-To: incoming-imx@patchwork.ozlabs.org Delivered-To: patchwork-incoming-imx@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.infradead.org (client-ip=2607:7c80:54:e::133; helo=bombadil.infradead.org; envelope-from=linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="jip2dP30"; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.b="XmBpqSNh"; dkim-atps=neutral Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:e::133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 42zFnV6GRFz9sNq for ; Tue, 20 Nov 2018 04:14:38 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=rv/U7cUzyNSDLPrZdpaHhudWCvMLVeF7ci26WMnwakQ=; b=jip2dP300fiayC P4jh2DxMD9HUZ3rFpI2MFBKWl15wmp/CRqhf1YZIqUcffVApPeBJ+TpWCnX6bTxyQ/QBR+v9p4mix iN3B5VYI4njjokoQ7NfvskYyDAesks7gYSY7swRLRxn9WCp7wyRVRYFUr16dMGbkmi5Tsq0GMarXe FpnwdocIycSerKs6cYK23akWlUfL1Q68lCt75wONf/JfQ3SX70ap/NtEd8wp3Mf+TRGGzAP90HKZX a0HlB3+JaENARHyBke9LL58Bkj82l/dv+okqBz8DR1LPWoqzBaoEj0Rrd/Y6sXV0lJnoX07VMmWI3 wQwxIMQCTeIOvTal9LZQ==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gOn83-0003p3-R1; Mon, 19 Nov 2018 17:14:31 +0000 Received: from mail-pl1-x643.google.com ([2607:f8b0:4864:20::643]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gOn6L-0002Dy-5U for linux-arm-kernel@lists.infradead.org; Mon, 19 Nov 2018 17:12:51 +0000 Received: by mail-pl1-x643.google.com with SMTP id t13so11907311ply.13 for ; Mon, 19 Nov 2018 09:12:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=XKV6tkSPqX0yNGtFVz2wCvLN8kVE5+HDG9FY2wblCzs=; b=XmBpqSNhX67XnZAI8V4YG6QRxsnY98Qz1gMvD249R+PDOr0/Ol3LjekRawkgO4hjSY G6/f5L5cO6PoTf9kmMDd91uqAGGDfF/pqm9/hbeupQAEOsI1ne2A2oI28F22hm4T+Ay/ r471d7yvsUdijDAvjryUrznpm2tYtLeAR7vxY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=XKV6tkSPqX0yNGtFVz2wCvLN8kVE5+HDG9FY2wblCzs=; b=WlNYoaqZsPsowBxgEPYWkNFCMMPR0HM12yxOKHvioJit8mFm69gI4jVSVt+Uf5HGwo CYxGjceMm184cAILHkRIgE/vAkE8LAkMV+ctIw3WDzQfJaD40vDfYxYfD5cPE5FheJWV y8aLAAtSVDQEYzzuVW3IrA5Flkz4DKug+K4ak5aE3cW1XJcxQR58yW7o/5YwFxZeZ6Jr SeT9e5uqaVmzBv+KhTXfw87q0qQHGX4KTiXMcnX3EgqNQxuBBIvytldDxhhco+44nzvR dWWZdcGKT4EafFU4cZ7hU3MG13uNyBIQhTeR1CenPdJRYHOUPXpA+2yY9TsyjSiU9QNt hpZQ== X-Gm-Message-State: AGRZ1gJyDLOd9+KQjv+zz1MgBKYmPi7VHyTUZGMezakFcLc2iXWx3xM4 Ya9bloB5k6fFo2v04dYjCodD X-Google-Smtp-Source: AJdET5flriC4gY8ziKyEvsBBxbb4yRpyfzs+Z1CfYpVQPhFcQFqOn2AMTefplmZfzL0p8ugFTPxt4w== X-Received: by 2002:a17:902:8648:: with SMTP id y8-v6mr23239933plt.159.1542647554488; Mon, 19 Nov 2018 09:12:34 -0800 (PST) Received: from localhost.localdomain ([2409:4072:631b:44eb:3905:6402:e2fb:2d7]) by smtp.gmail.com with ESMTPSA id 186-v6sm46175458pfe.39.2018.11.19.09.12.27 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 19 Nov 2018 09:12:33 -0800 (PST) From: Manivannan Sadhasivam To: olof@lixom.net, arnd@arndb.de, robh+dt@kernel.org, tglx@linutronix.de, jason@lakedaemon.net, marc.zyngier@arm.com, daniel.lezcano@linaro.org Subject: [PATCH 13/16] dt-bindings: serial: Document RDA Micro UART Date: Mon, 19 Nov 2018 22:39:36 +0530 Message-Id: <20181119170939.19153-14-manivannan.sadhasivam@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181119170939.19153-1-manivannan.sadhasivam@linaro.org> References: <20181119170939.19153-1-manivannan.sadhasivam@linaro.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20181119_091245_216604_0ECE4A6F X-CRM114-Status: GOOD ( 13.06 ) X-Spam-Score: -0.2 (/) X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary: Content analysis details: (-0.2 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [2607:f8b0:4864:20:0:0:0:643 listed in] [list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from envelope-from domain -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, linus.walleij@linaro.org, service@rdamicro.com, linux-kernel@vger.kernel.org, amit.kucheria@linaro.org, Manivannan Sadhasivam , =?utf-8?q?Andreas_F=C3=A4rber?= , linux-arm-kernel@lists.infradead.org, zhao_steven@263.net Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org List-Id: linux-imx-kernel.lists.patchwork.ozlabs.org From: Andreas Färber Add an initial binding for the UART in RDA Micro RDA8810PL SoC. Signed-off-by: Andreas Färber Signed-off-by: Manivannan Sadhasivam --- .../bindings/serial/rda,8810pl-uart.txt | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 Documentation/devicetree/bindings/serial/rda,8810pl-uart.txt diff --git a/Documentation/devicetree/bindings/serial/rda,8810pl-uart.txt b/Documentation/devicetree/bindings/serial/rda,8810pl-uart.txt new file mode 100644 index 000000000000..ee03116d7415 --- /dev/null +++ b/Documentation/devicetree/bindings/serial/rda,8810pl-uart.txt @@ -0,0 +1,15 @@ +RDA Micro UART + +Required properties: +- compatible : "rda,8810pl-uart" for RDA8810PL SoCs. +- reg : Offset and length of the register set for the device. +- interrupts : Should contain UART interrupt. + + +Example: + + uart2: serial@20a90000 { + compatible = "rda,8810pl-uart"; + reg = <0x20a90000 0x1000>; + interrupts = <11 IRQ_TYPE_LEVEL_HIGH>; + }; From patchwork Mon Nov 19 17:09:37 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Manivannan Sadhasivam X-Patchwork-Id: 999960 Return-Path: X-Original-To: incoming-imx@patchwork.ozlabs.org Delivered-To: patchwork-incoming-imx@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.infradead.org (client-ip=2607:7c80:54:e::133; helo=bombadil.infradead.org; envelope-from=linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="Kmp6dLi2"; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.b="KYLtDBa/"; dkim-atps=neutral Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:e::133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 42zFnq6R1Gz9sNf for ; Tue, 20 Nov 2018 04:14:55 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=TZKNrIsn+1NY/7y0s9FukTAXZ8DuViMqOGzWQa1//0I=; b=Kmp6dLi2Cw4h6l +ErQXzn1SIfExVrSLqAqwr41Dr2rPyhrpkK3Sc/3+FZ2SL+jEMt/pgP5SdwveN1B8rUdzvYz1JCg+ cfckFQbvGM7XBkJ9c6cI+1+9DQAB1oJasg61KcDeUoMz/lh8b0L2wZfR0Ay24pGPv96sV65/kYqpJ IgnVmsmmzT+hbm5oXt3zar12BASUtYMGz86gDl0kKNFKHaV15WZ1fqOzya+O/6CFqVJY1lCTjGY/I D+6O7ifYGPTgQmB1g8QR5e4BPYHCk/2oVDfA2JMcznWl1rVF8mZrxu4W4gv+voqD7Iio4XU+G6RmX 09gGHR2NWGBjLW3JZ3cQ==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gOn8L-00046B-Fj; Mon, 19 Nov 2018 17:14:49 +0000 Received: from mail-pg1-x543.google.com ([2607:f8b0:4864:20::543]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gOn6U-0002L5-2t for linux-arm-kernel@lists.infradead.org; Mon, 19 Nov 2018 17:13:03 +0000 Received: by mail-pg1-x543.google.com with SMTP id 80so14107146pge.4 for ; Mon, 19 Nov 2018 09:12:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=3r5DqIMxbV6yrOj3E7fZ1AVMjQ0BbJ0sbpomOL/wAf0=; b=KYLtDBa/yTKFe/ihUXNbZSCZAF5MsdS6DN+ie8Q0LHGjueV70bobBLuCLJ614dHQux PTKM/vw+EEenH03Xuis3cEyIs8G0QeiUBxULUp0Xp4B34VvHLQNJxiskPBYGQT5zNP+m As+FZU6PQzXorUq56yR/DrIYmEFD+C0K4LOTk= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=3r5DqIMxbV6yrOj3E7fZ1AVMjQ0BbJ0sbpomOL/wAf0=; b=hQgf4h+fyEUPtw9Lh4aLq7jTSG06Fol8Vklh/PwjJQuk9OKhg8cou0cbC7nrjUSG4Y vhEUoyB37YYIZN1OdKgQpfLloW/esrx4hCTblwrAODZjL0ao/Rrc7uR7n68q96SuXYc+ 4RSE76wPzAC6Nf7+fxMXq4egY4Lne9quye2/lUYaR0nHOgDBlYMaqi6B2lDD69kXNfym Rwqh+rVwvysRRzdCp/5SZM4aAdJ2/8jbEgJq5EHCb0FDcAYw8yv+ox6ipty+TpMEme+i YSzhK1fJGrtN7g5fUoAYHnGMdg0F8gL23M1Sskgc7fTgF9LpEnxJ1lAbcDsa8UI9+Y2G HRYw== X-Gm-Message-State: AGRZ1gIWTqrMqI7/0O4+3a3klm5c4k2ppXAaN6Mx/gQv4ztj0g7PTP+e litqvJSbyPplIcM9WLljIHOw X-Google-Smtp-Source: AJdET5e3g0fO2axYFXY0lolSauaL3sIZQ0kE9Q63EN+opBjIizgP+zBglO3M1FSlPxamtuxu98hAnQ== X-Received: by 2002:a63:2e88:: with SMTP id u130mr16214736pgu.9.1542647562517; Mon, 19 Nov 2018 09:12:42 -0800 (PST) Received: from localhost.localdomain ([2409:4072:631b:44eb:3905:6402:e2fb:2d7]) by smtp.gmail.com with ESMTPSA id 186-v6sm46175458pfe.39.2018.11.19.09.12.35 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 19 Nov 2018 09:12:41 -0800 (PST) From: Manivannan Sadhasivam To: olof@lixom.net, arnd@arndb.de, robh+dt@kernel.org, tglx@linutronix.de, jason@lakedaemon.net, marc.zyngier@arm.com, daniel.lezcano@linaro.org Subject: [PATCH 14/16] arm: dts: rda8810pl: Add interrupt support for UART Date: Mon, 19 Nov 2018 22:39:37 +0530 Message-Id: <20181119170939.19153-15-manivannan.sadhasivam@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181119170939.19153-1-manivannan.sadhasivam@linaro.org> References: <20181119170939.19153-1-manivannan.sadhasivam@linaro.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20181119_091254_184076_9DB02B9D X-CRM114-Status: GOOD ( 11.94 ) X-Spam-Score: -0.2 (/) X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary: Content analysis details: (-0.2 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [2607:f8b0:4864:20:0:0:0:543 listed in] [list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from envelope-from domain -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, linus.walleij@linaro.org, service@rdamicro.com, linux-kernel@vger.kernel.org, amit.kucheria@linaro.org, Manivannan Sadhasivam , =?utf-8?q?Andreas_F=C3=A4rber?= , linux-arm-kernel@lists.infradead.org, zhao_steven@263.net Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org List-Id: linux-imx-kernel.lists.patchwork.ozlabs.org Add interrupt support for UART in RDA Micro RDA8810PL SoC. Signed-off-by: Andreas Färber Signed-off-by: Manivannan Sadhasivam --- arch/arm/boot/dts/rda8810pl.dtsi | 3 +++ 1 file changed, 3 insertions(+) diff --git a/arch/arm/boot/dts/rda8810pl.dtsi b/arch/arm/boot/dts/rda8810pl.dtsi index 470a18585deb..07110c5784c9 100644 --- a/arch/arm/boot/dts/rda8810pl.dtsi +++ b/arch/arm/boot/dts/rda8810pl.dtsi @@ -87,18 +87,21 @@ uart0: serial@0 { compatible = "rda,8810pl-uart"; reg = <0x0 0x1000>; + interrupts = <9 IRQ_TYPE_LEVEL_HIGH>; status = "disabled"; }; uart1: serial@10000 { compatible = "rda,8810pl-uart"; reg = <0x10000 0x1000>; + interrupts = <10 IRQ_TYPE_LEVEL_HIGH>; status = "disabled"; }; uart2: serial@90000 { compatible = "rda,8810pl-uart"; reg = <0x90000 0x1000>; + interrupts = <11 IRQ_TYPE_LEVEL_HIGH>; status = "disabled"; }; }; From patchwork Mon Nov 19 17:09:38 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Manivannan Sadhasivam X-Patchwork-Id: 999962 Return-Path: X-Original-To: incoming-imx@patchwork.ozlabs.org Delivered-To: patchwork-incoming-imx@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.infradead.org (client-ip=2607:7c80:54:e::133; helo=bombadil.infradead.org; envelope-from=linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="JO79O5xJ"; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.b="bcmnRI8e"; dkim-atps=neutral Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:e::133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 42zFpk58lrz9sNl for ; Tue, 20 Nov 2018 04:15:42 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=P8iDbSHsin4UQUL0cFg2oVuu9yowbBoqHO+RqN+g74E=; b=JO79O5xJPS0MRx CjUlP6klWQ6BD8S5J+ZcYCNE9L/Pj7xQAVeA3HupG6QfPBlmf0VEn4NZa8x0ZcfFn9wU6CDWHMOMX EpnrwuEmWwXF7joyCHhecXXbvhQ2/d8E4AchvsO0cloIktk44Ut8hMQWpserHmdleutMX6B/pHG0Q xlu86VhCMAYiDrcp0S3Xqhxb8WwVN7VNBxRTD+yRf5gDcvTFs7VKFex8Yti2f+rRUPvTpNfECXSNY 8pCe9lYK6X/JM36g6YH94QqnTbKkbo1HeFqcCVtJ/1RAulhTP1leYaHlzgPrA+dcwVLjQRiiKGRUd GrpmHNvArosFf6iCQWLQ==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gOn94-00060y-By; Mon, 19 Nov 2018 17:15:34 +0000 Received: from mail-pl1-x641.google.com ([2607:f8b0:4864:20::641]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gOn6b-0002RA-3i for linux-arm-kernel@lists.infradead.org; Mon, 19 Nov 2018 17:13:14 +0000 Received: by mail-pl1-x641.google.com with SMTP id v1-v6so7749422plo.2 for ; Mon, 19 Nov 2018 09:12:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=1qkDfOUL58K9kE9Tg/NrnTb2GVHxtQKVEQMPm1h74Mo=; b=bcmnRI8esNQiyP54TRDWyax7vKeF9AFYdmaFL+AT2hQEeC3S2CsU/HtIHJG537hB/f lTGYqHdWiXaDxfjLYmINQ3W6aczGsykUM/ciPPEth2iekGeVvoXggs3U8VOEYK18CCgR qqDJYw2jQV1mx+zMXlMYJkO/pyma097Xcb8h8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=1qkDfOUL58K9kE9Tg/NrnTb2GVHxtQKVEQMPm1h74Mo=; b=tgeptkgnH3OMAqMkGDqWZMf5QPZYnCj4La3Lxr3ImIb7Jbo1nHXFXbdew2+loFCk/8 4cGwVaCbyEiC0nIUk9/oofl7f+EQX8yGZaiPrzgeX1aJ6OX+qmFt40lvNN9mFGxQxhLE LF/kQbWhOb+CSEOQFRh7T1RW2DdF2TnYIrYKzu0c5DOSBcPmUTBMH4npnO7135m+t/c5 BkFzENUEQvdDKy681erlFFU19gR400iYTBjY5Mo3zd2qeLq7YHqrSU09x8mdAa/7nz/7 c9fOu+SbpoM6j9dIXPgrLOnpvqZgWeTKsMIAfIffK4CQrGfgC8dtxiXmpY81WR7ZpE2s 4cig== X-Gm-Message-State: AGRZ1gLNEBfCH2WXuQwdXRyeqKdkrt+H0RQ5Gkkr2zuW3yHo3uH6rDyM cRc22T6TptRBRFRq4qU42MfF X-Google-Smtp-Source: AJdET5fo+DsHbhyzFvSAdybhhuUFXIqxVL5KYAAJH/avLjtvW8O9Hq13ExPYNmcgxSV249KG3kPYPw== X-Received: by 2002:a17:902:a50a:: with SMTP id s10mr18736381plq.278.1542647570157; Mon, 19 Nov 2018 09:12:50 -0800 (PST) Received: from localhost.localdomain ([2409:4072:631b:44eb:3905:6402:e2fb:2d7]) by smtp.gmail.com with ESMTPSA id 186-v6sm46175458pfe.39.2018.11.19.09.12.42 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 19 Nov 2018 09:12:49 -0800 (PST) From: Manivannan Sadhasivam To: olof@lixom.net, arnd@arndb.de, robh+dt@kernel.org, tglx@linutronix.de, jason@lakedaemon.net, marc.zyngier@arm.com, daniel.lezcano@linaro.org Subject: [PATCH 15/16] tty: serial: Add RDA8810PL UART driver Date: Mon, 19 Nov 2018 22:39:38 +0530 Message-Id: <20181119170939.19153-16-manivannan.sadhasivam@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181119170939.19153-1-manivannan.sadhasivam@linaro.org> References: <20181119170939.19153-1-manivannan.sadhasivam@linaro.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20181119_091301_318420_80A75CAA X-CRM114-Status: GOOD ( 21.88 ) X-Spam-Score: -0.2 (/) X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary: Content analysis details: (-0.2 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [2607:f8b0:4864:20:0:0:0:641 listed in] [list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from envelope-from domain -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, linus.walleij@linaro.org, service@rdamicro.com, linux-kernel@vger.kernel.org, amit.kucheria@linaro.org, Manivannan Sadhasivam , =?utf-8?q?Andreas_F=C3=A4rber?= , linux-arm-kernel@lists.infradead.org, zhao_steven@263.net Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org List-Id: linux-imx-kernel.lists.patchwork.ozlabs.org Add UART driver for RDA Micro RDA8810PL SoC. Signed-off-by: Andreas Färber Signed-off-by: Manivannan Sadhasivam --- .../admin-guide/kernel-parameters.txt | 6 + drivers/tty/serial/Kconfig | 19 + drivers/tty/serial/Makefile | 1 + drivers/tty/serial/rda-uart.c | 831 ++++++++++++++++++ include/uapi/linux/serial_core.h | 3 + 5 files changed, 860 insertions(+) create mode 100644 drivers/tty/serial/rda-uart.c diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt index 81d1d5a74728..07078880f7fd 100644 --- a/Documentation/admin-guide/kernel-parameters.txt +++ b/Documentation/admin-guide/kernel-parameters.txt @@ -1020,6 +1020,12 @@ specified address. The serial port must already be setup and configured. Options are not yet supported. + rda, + Start an early, polled-mode console on a serial port + of an RDA Micro SoC, such as RDA8810PL, at the + specified address. The serial port must already be + setup and configured. Options are not yet supported. + smh Use ARM semihosting calls for early console. s3c2410, diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig index 32886c304641..67b9bf3b500e 100644 --- a/drivers/tty/serial/Kconfig +++ b/drivers/tty/serial/Kconfig @@ -1529,6 +1529,25 @@ config SERIAL_OWL_CONSOLE Say 'Y' here if you wish to use Actions Semiconductor S500/S900 UART as the system console. +config SERIAL_RDA + bool "RDA Micro serial port support" + depends on ARCH_RDA || COMPILE_TEST + select SERIAL_CORE + help + This driver is for RDA8810PL SoC's UART. + Say 'Y' here if you wish to use the on-board serial port. + Otherwise, say 'N'. + +config SERIAL_RDA_CONSOLE + bool "Console on RDA Micro serial port" + depends on SERIAL_RDA=y + select SERIAL_CORE_CONSOLE + select SERIAL_EARLYCON + default y + help + Say 'Y' here if you wish to use the RDA8810PL UART as the system + console. Only earlycon is implemented currently. + endmenu config SERIAL_MCTRL_GPIO diff --git a/drivers/tty/serial/Makefile b/drivers/tty/serial/Makefile index daac675612df..8c303736b7e8 100644 --- a/drivers/tty/serial/Makefile +++ b/drivers/tty/serial/Makefile @@ -89,6 +89,7 @@ obj-$(CONFIG_SERIAL_MVEBU_UART) += mvebu-uart.o obj-$(CONFIG_SERIAL_PIC32) += pic32_uart.o obj-$(CONFIG_SERIAL_MPS2_UART) += mps2-uart.o obj-$(CONFIG_SERIAL_OWL) += owl-uart.o +obj-$(CONFIG_SERIAL_RDA) += rda-uart.o # GPIOLIB helpers for modem control lines obj-$(CONFIG_SERIAL_MCTRL_GPIO) += serial_mctrl_gpio.o diff --git a/drivers/tty/serial/rda-uart.c b/drivers/tty/serial/rda-uart.c new file mode 100644 index 000000000000..7bf747edf129 --- /dev/null +++ b/drivers/tty/serial/rda-uart.c @@ -0,0 +1,831 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * RDA8810PL serial device driver + * + * Copyright RDA Microelectronics Company Limited + * Copyright (c) 2017 Andreas Färber + * Copyright (c) 2018 Manivannan Sadhasivam + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define RDA_UART_PORT_NUM 3 +#define RDA_UART_DEV_NAME "ttyRDA" + +#define RDA_UART_CTRL 0x00 +#define RDA_UART_STATUS 0x04 +#define RDA_UART_RXTX_BUFFER 0x08 +#define RDA_UART_IRQ_MASK 0x0c +#define RDA_UART_IRQ_CAUSE 0x10 +#define RDA_UART_IRQ_TRIGGERS 0x14 +#define RDA_UART_CMD_SET 0x18 +#define RDA_UART_CMD_CLR 0x1c + +/* UART_CTRL Bits */ +#define RDA_UART_ENABLE BIT(0) +#define RDA_UART_DBITS_8 BIT(1) +#define RDA_UART_TX_SBITS_2 BIT(2) +#define RDA_UART_PARITY_EN BIT(3) +#define RDA_UART_PARITY(x) (((x) & 0x3) << 4) +#define RDA_UART_PARITY_ODD RDA_UART_PARITY(0) +#define RDA_UART_PARITY_EVEN RDA_UART_PARITY(1) +#define RDA_UART_PARITY_SPACE RDA_UART_PARITY(2) +#define RDA_UART_PARITY_MARK RDA_UART_PARITY(3) +#define RDA_UART_DIV_MODE BIT(20) +#define RDA_UART_IRDA_EN BIT(21) +#define RDA_UART_DMA_EN BIT(22) +#define RDA_UART_FLOW_CNT_EN BIT(23) +#define RDA_UART_LOOP_BACK_EN BIT(24) +#define RDA_UART_RX_LOCK_ERR BIT(25) +#define RDA_UART_RX_BREAK_LEN(x) (((x) & 0xf) << 28) + +/* UART_STATUS Bits */ +#define RDA_UART_RX_FIFO(x) (((x) & 0x7f) << 0) +#define RDA_UART_RX_FIFO_MASK (0x7f << 0) +#define RDA_UART_TX_FIFO(x) (((x) & 0x1f) << 8) +#define RDA_UART_TX_FIFO_MASK (0x1f << 8) +#define RDA_UART_TX_ACTIVE BIT(14) +#define RDA_UART_RX_ACTIVE BIT(15) +#define RDA_UART_RX_OVERFLOW_ERR BIT(16) +#define RDA_UART_TX_OVERFLOW_ERR BIT(17) +#define RDA_UART_RX_PARITY_ERR BIT(18) +#define RDA_UART_RX_FRAMING_ERR BIT(19) +#define RDA_UART_RX_BREAK_INT BIT(20) +#define RDA_UART_DCTS BIT(24) +#define RDA_UART_CTS BIT(25) +#define RDA_UART_DTR BIT(28) +#define RDA_UART_CLK_ENABLED BIT(31) + +/* UART_RXTX_BUFFER Bits */ +#define RDA_UART_RX_DATA(x) (((x) & 0xff) << 0) +#define RDA_UART_TX_DATA(x) (((x) & 0xff) << 0) + +/* UART_IRQ_MASK Bits */ +#define RDA_UART_TX_MODEM_STATUS BIT(0) +#define RDA_UART_RX_DATA_AVAILABLE BIT(1) +#define RDA_UART_TX_DATA_NEEDED BIT(2) +#define RDA_UART_RX_TIMEOUT BIT(3) +#define RDA_UART_RX_LINE_ERR BIT(4) +#define RDA_UART_TX_DMA_DONE BIT(5) +#define RDA_UART_RX_DMA_DONE BIT(6) +#define RDA_UART_RX_DMA_TIMEOUT BIT(7) +#define RDA_UART_DTR_RISE BIT(8) +#define RDA_UART_DTR_FALL BIT(9) + +/* UART_IRQ_CAUSE Bits */ +#define RDA_UART_TX_MODEM_STATUS_U BIT(16) +#define RDA_UART_RX_DATA_AVAILABLE_U BIT(17) +#define RDA_UART_TX_DATA_NEEDED_U BIT(18) +#define RDA_UART_RX_TIMEOUT_U BIT(19) +#define RDA_UART_RX_LINE_ERR_U BIT(20) +#define RDA_UART_TX_DMA_DONE_U BIT(21) +#define RDA_UART_RX_DMA_DONE_U BIT(22) +#define RDA_UART_RX_DMA_TIMEOUT_U BIT(23) +#define RDA_UART_DTR_RISE_U BIT(24) +#define RDA_UART_DTR_FALL_U BIT(25) + +/* UART_TRIGGERS Bits */ +#define RDA_UART_RX_TRIGGER(x) (((x) & 0x1f) << 0) +#define RDA_UART_TX_TRIGGER(x) (((x) & 0xf) << 8) +#define RDA_UART_AFC_LEVEL(x) (((x) & 0x1f) << 16) + +/* UART_CMD_SET Bits */ +#define RDA_UART_RI BIT(0) +#define RDA_UART_DCD BIT(1) +#define RDA_UART_DSR BIT(2) +#define RDA_UART_TX_BREAK_CONTROL BIT(3) +#define RDA_UART_TX_FINISH_N_WAIT BIT(4) +#define RDA_UART_RTS BIT(5) +#define RDA_UART_RX_FIFO_RESET BIT(6) +#define RDA_UART_TX_FIFO_RESET BIT(7) + +#define RDA_UART_TX_FIFO_SIZE 16 + +static struct uart_driver rda_uart_driver; + +struct rda_uart_port { + struct uart_port port; + struct clk *clk; +}; + +#define to_rda_uart_port(port) container_of(port, struct rda_uart_port, port) + +static struct rda_uart_port *rda_uart_ports[RDA_UART_PORT_NUM]; + +static inline void rda_uart_write(struct uart_port *port, u32 val, + unsigned int off) +{ + writel(val, port->membase + off); +} + +static inline u32 rda_uart_read(struct uart_port *port, unsigned int off) +{ + return readl(port->membase + off); +} + +static unsigned int rda_uart_tx_empty(struct uart_port *port) +{ + unsigned long flags; + unsigned int ret; + u32 val; + + spin_lock_irqsave(&port->lock, flags); + + val = rda_uart_read(port, RDA_UART_STATUS); + ret = (val & RDA_UART_TX_FIFO_MASK) ? TIOCSER_TEMT : 0; + + spin_unlock_irqrestore(&port->lock, flags); + + return ret; +} + +static unsigned int rda_uart_get_mctrl(struct uart_port *port) +{ + unsigned int mctrl = 0; + u32 cmd_set, status; + + cmd_set = rda_uart_read(port, RDA_UART_CMD_SET); + status = rda_uart_read(port, RDA_UART_STATUS); + if (cmd_set & RDA_UART_RTS) + mctrl |= TIOCM_RTS; + if (!(status & RDA_UART_CTS)) + mctrl |= TIOCM_CTS; + + return mctrl; +} + +static void rda_uart_set_mctrl(struct uart_port *port, unsigned int mctrl) +{ + u32 val; + + if (mctrl & TIOCM_RTS) { + val = rda_uart_read(port, RDA_UART_CMD_SET); + rda_uart_write(port, (val | RDA_UART_RTS), RDA_UART_CMD_SET); + } else { + /* Clear RTS to stop to receive. */ + val = rda_uart_read(port, RDA_UART_CMD_CLR); + rda_uart_write(port, (val | RDA_UART_RTS), RDA_UART_CMD_CLR); + } + + val = rda_uart_read(port, RDA_UART_CTRL); + + if (mctrl & TIOCM_LOOP) + val |= RDA_UART_LOOP_BACK_EN; + else + val &= ~RDA_UART_LOOP_BACK_EN; + + rda_uart_write(port, val, RDA_UART_CTRL); +} + +static void rda_uart_stop_tx(struct uart_port *port) +{ + u32 val; + + val = rda_uart_read(port, RDA_UART_IRQ_MASK); + val &= ~RDA_UART_TX_DATA_NEEDED; + rda_uart_write(port, val, RDA_UART_IRQ_MASK); + + val = rda_uart_read(port, RDA_UART_CMD_SET); + val |= RDA_UART_TX_FIFO_RESET; + rda_uart_write(port, val, RDA_UART_CMD_SET); +} + +static void rda_uart_stop_rx(struct uart_port *port) +{ + u32 val; + + val = rda_uart_read(port, RDA_UART_IRQ_MASK); + val &= ~(RDA_UART_RX_DATA_AVAILABLE | RDA_UART_RX_TIMEOUT); + rda_uart_write(port, val, RDA_UART_IRQ_MASK); + + /* Read Rx buffer before reset to avoid Rx timeout interrupt */ + val = rda_uart_read(port, RDA_UART_RXTX_BUFFER); + + val = rda_uart_read(port, RDA_UART_CMD_SET); + val |= RDA_UART_RX_FIFO_RESET; + rda_uart_write(port, val, RDA_UART_CMD_SET); +} + +static void rda_uart_start_tx(struct uart_port *port) +{ + u32 val; + + if (uart_tx_stopped(port)) { + rda_uart_stop_tx(port); + return; + } + + val = rda_uart_read(port, RDA_UART_IRQ_MASK); + val |= RDA_UART_TX_DATA_NEEDED; + rda_uart_write(port, val, RDA_UART_IRQ_MASK); +} + +static void rda_uart_change_baudrate(struct rda_uart_port *rda_port, + unsigned long baud) +{ + clk_set_rate(rda_port->clk, baud * 8); +} + +static void rda_uart_set_termios(struct uart_port *port, + struct ktermios *termios, + struct ktermios *old) +{ + struct rda_uart_port *rda_port = to_rda_uart_port(port); + unsigned long flags; + unsigned int ctrl, cmd_set, cmd_clr, triggers; + unsigned int baud; + u32 irq_mask; + + spin_lock_irqsave(&port->lock, flags); + + baud = uart_get_baud_rate(port, termios, old, 9600, port->uartclk / 4); + rda_uart_change_baudrate(rda_port, baud); + + ctrl = rda_uart_read(port, RDA_UART_CTRL); + cmd_set = rda_uart_read(port, RDA_UART_CMD_SET); + cmd_clr = rda_uart_read(port, RDA_UART_CMD_CLR); + + switch (termios->c_cflag & CSIZE) { + case CS5: + case CS6: + dev_warn(port->dev, "bit size not supported, using 7 bits\n"); + /* Fall through */ + case CS7: + ctrl &= ~RDA_UART_DBITS_8; + break; + default: + ctrl |= RDA_UART_DBITS_8; + break; + } + + /* stop bits */ + if (termios->c_cflag & CSTOPB) + ctrl |= RDA_UART_TX_SBITS_2; + else + ctrl &= ~RDA_UART_TX_SBITS_2; + + /* parity check */ + if (termios->c_cflag & PARENB) { + ctrl |= RDA_UART_PARITY_EN; + + /* Mark or Space parity */ + if (termios->c_cflag & CMSPAR) { + if (termios->c_cflag & PARODD) + ctrl |= RDA_UART_PARITY_MARK; + else + ctrl |= RDA_UART_PARITY_SPACE; + } else if (termios->c_cflag & PARODD) { + ctrl |= RDA_UART_PARITY_ODD; + } else { + ctrl |= RDA_UART_PARITY_EVEN; + } + } else { + ctrl &= ~RDA_UART_PARITY_EN; + } + + /* Hardware handshake (RTS/CTS) */ + if (termios->c_cflag & CRTSCTS) { + ctrl |= RDA_UART_FLOW_CNT_EN; + cmd_set |= RDA_UART_RTS; + } else { + ctrl &= ~RDA_UART_FLOW_CNT_EN; + cmd_clr |= RDA_UART_RTS; + } + + ctrl |= RDA_UART_ENABLE; + ctrl &= ~RDA_UART_DMA_EN; + + triggers = (RDA_UART_AFC_LEVEL(20) | RDA_UART_RX_TRIGGER(16)); + irq_mask = rda_uart_read(port, RDA_UART_IRQ_MASK); + rda_uart_write(port, 0, RDA_UART_IRQ_MASK); + + rda_uart_write(port, triggers, RDA_UART_IRQ_TRIGGERS); + rda_uart_write(port, ctrl, RDA_UART_CTRL); + rda_uart_write(port, cmd_set, RDA_UART_CMD_SET); + rda_uart_write(port, cmd_clr, RDA_UART_CMD_CLR); + + rda_uart_write(port, irq_mask, RDA_UART_IRQ_MASK); + + /* Don't rewrite B0 */ + if (tty_termios_baud_rate(termios)) + tty_termios_encode_baud_rate(termios, baud, baud); + + /* update the per-port timeout */ + uart_update_timeout(port, termios->c_cflag, baud); + + spin_unlock_irqrestore(&port->lock, flags); +} + +static void rda_uart_send_chars(struct uart_port *port) +{ + struct circ_buf *xmit = &port->state->xmit; + unsigned int ch; + u32 val; + + if (uart_tx_stopped(port)) + return; + + if (port->x_char) { + while (!(rda_uart_read(port, RDA_UART_STATUS) & + RDA_UART_TX_FIFO_MASK)) + cpu_relax(); + + rda_uart_write(port, port->x_char, RDA_UART_RXTX_BUFFER); + port->icount.tx++; + port->x_char = 0; + } + + while (rda_uart_read(port, RDA_UART_STATUS) & RDA_UART_TX_FIFO_MASK) { + if (uart_circ_empty(xmit)) + break; + + ch = xmit->buf[xmit->tail]; + rda_uart_write(port, ch, RDA_UART_RXTX_BUFFER); + xmit->tail = (xmit->tail + 1) & (SERIAL_XMIT_SIZE - 1); + port->icount.tx++; + } + + if (uart_circ_chars_pending(xmit) < WAKEUP_CHARS) + uart_write_wakeup(port); + + if (!uart_circ_empty(xmit)) { + /* Re-enable Tx FIFO interrupt */ + val = rda_uart_read(port, RDA_UART_IRQ_MASK); + val |= RDA_UART_TX_DATA_NEEDED; + rda_uart_write(port, val, RDA_UART_IRQ_MASK); + } +} + +static void rda_uart_receive_chars(struct uart_port *port) +{ + u32 status, val; + + status = rda_uart_read(port, RDA_UART_STATUS); + while ((status & RDA_UART_RX_FIFO_MASK)) { + char flag = TTY_NORMAL; + + if (status & RDA_UART_RX_PARITY_ERR) { + port->icount.parity++; + flag = TTY_PARITY; + } + + if (status & RDA_UART_RX_FRAMING_ERR) { + port->icount.frame++; + flag = TTY_FRAME; + } + + if (status & RDA_UART_RX_OVERFLOW_ERR) { + port->icount.overrun++; + flag = TTY_OVERRUN; + } + + val = rda_uart_read(port, RDA_UART_RXTX_BUFFER); + val &= 0xff; + + port->icount.rx++; + tty_insert_flip_char(&port->state->port, val, flag); + + status = rda_uart_read(port, RDA_UART_STATUS); + } + + spin_unlock(&port->lock); + tty_flip_buffer_push(&port->state->port); + spin_lock(&port->lock); +} + +static irqreturn_t rda_interrupt(int irq, void *dev_id) +{ + struct uart_port *port = dev_id; + unsigned long flags; + u32 val, irq_mask; + + spin_lock_irqsave(&port->lock, flags); + + /* Clear IRQ cause */ + val = rda_uart_read(port, RDA_UART_IRQ_CAUSE); + rda_uart_write(port, val, RDA_UART_IRQ_CAUSE); + + if (val & (RDA_UART_RX_DATA_AVAILABLE | RDA_UART_RX_TIMEOUT)) + rda_uart_receive_chars(port); + + if (val & (RDA_UART_TX_DATA_NEEDED)) { + irq_mask = rda_uart_read(port, RDA_UART_IRQ_MASK); + irq_mask &= ~RDA_UART_TX_DATA_NEEDED; + rda_uart_write(port, irq_mask, RDA_UART_IRQ_MASK); + + rda_uart_send_chars(port); + } + + spin_unlock_irqrestore(&port->lock, flags); + + return IRQ_HANDLED; +} + +static int rda_uart_startup(struct uart_port *port) +{ + unsigned long flags; + int ret; + u32 val; + + spin_lock_irqsave(&port->lock, flags); + rda_uart_write(port, 0, RDA_UART_IRQ_MASK); + spin_unlock_irqrestore(&port->lock, flags); + + ret = request_irq(port->irq, rda_interrupt, IRQF_NO_SUSPEND, + "rda-uart", port); + if (ret) + return ret; + + spin_lock_irqsave(&port->lock, flags); + + val = rda_uart_read(port, RDA_UART_CTRL); + val |= RDA_UART_ENABLE; + rda_uart_write(port, val, RDA_UART_CTRL); + + /* enable rx interrupt */ + val = rda_uart_read(port, RDA_UART_IRQ_MASK); + val |= (RDA_UART_RX_DATA_AVAILABLE | RDA_UART_RX_TIMEOUT); + rda_uart_write(port, val, RDA_UART_IRQ_MASK); + + spin_unlock_irqrestore(&port->lock, flags); + + return 0; +} + +static void rda_uart_shutdown(struct uart_port *port) +{ + unsigned long flags; + u32 val; + + spin_lock_irqsave(&port->lock, flags); + + rda_uart_stop_tx(port); + rda_uart_stop_rx(port); + + val = rda_uart_read(port, RDA_UART_CTRL); + val &= ~RDA_UART_ENABLE; + rda_uart_write(port, val, RDA_UART_CTRL); + + spin_unlock_irqrestore(&port->lock, flags); +} + +static const char *rda_uart_type(struct uart_port *port) +{ + return (port->type == PORT_RDA) ? "rda-uart" : NULL; +} + +static int rda_uart_request_port(struct uart_port *port) +{ + struct platform_device *pdev = to_platform_device(port->dev); + struct resource *res; + + res = platform_get_resource(pdev, IORESOURCE_MEM, 0); + if (!res) + return -ENXIO; + + if (!devm_request_mem_region(port->dev, port->mapbase, + resource_size(res), dev_name(port->dev))) + return -EBUSY; + + if (port->flags & UPF_IOREMAP) { + port->membase = devm_ioremap_nocache(port->dev, port->mapbase, + resource_size(res)); + if (!port->membase) + return -EBUSY; + } + + return 0; +} + +static void rda_uart_config_port(struct uart_port *port, int flags) +{ + unsigned long irq_flags; + + if (flags & UART_CONFIG_TYPE) { + port->type = PORT_RDA; + rda_uart_request_port(port); + } + + spin_lock_irqsave(&port->lock, irq_flags); + + /* Clear mask, so no surprise interrupts. */ + rda_uart_write(port, 0, RDA_UART_IRQ_MASK); + + /* Clear status register */ + rda_uart_write(port, 0, RDA_UART_STATUS); + + spin_unlock_irqrestore(&port->lock, irq_flags); +} + +static void rda_uart_release_port(struct uart_port *port) +{ + struct platform_device *pdev = to_platform_device(port->dev); + struct resource *res; + + res = platform_get_resource(pdev, IORESOURCE_MEM, 0); + if (!res) + return; + + if (port->flags & UPF_IOREMAP) { + devm_release_mem_region(port->dev, port->mapbase, + resource_size(res)); + devm_iounmap(port->dev, port->membase); + port->membase = NULL; + } +} + +static int rda_uart_verify_port(struct uart_port *port, + struct serial_struct *ser) +{ + if (port->type != PORT_RDA) + return -EINVAL; + + if (port->irq != ser->irq) + return -EINVAL; + + return 0; +} + +static const struct uart_ops rda_uart_ops = { + .tx_empty = rda_uart_tx_empty, + .get_mctrl = rda_uart_get_mctrl, + .set_mctrl = rda_uart_set_mctrl, + .start_tx = rda_uart_start_tx, + .stop_tx = rda_uart_stop_tx, + .stop_rx = rda_uart_stop_rx, + .startup = rda_uart_startup, + .shutdown = rda_uart_shutdown, + .set_termios = rda_uart_set_termios, + .type = rda_uart_type, + .request_port = rda_uart_request_port, + .release_port = rda_uart_release_port, + .config_port = rda_uart_config_port, + .verify_port = rda_uart_verify_port, +}; + +#ifdef CONFIG_SERIAL_RDA_CONSOLE + +static void rda_console_putchar(struct uart_port *port, int ch) +{ + if (!port->membase) + return; + + while (!(rda_uart_read(port, RDA_UART_STATUS) & RDA_UART_TX_FIFO_MASK)) + cpu_relax(); + + rda_uart_write(port, ch, RDA_UART_RXTX_BUFFER); +} + +static void rda_uart_port_write(struct uart_port *port, const char *s, + u_int count) +{ + u32 old_irq_mask; + unsigned long flags; + int locked; + + local_irq_save(flags); + + if (port->sysrq) { + locked = 0; + } else if (oops_in_progress) { + locked = spin_trylock(&port->lock); + } else { + spin_lock(&port->lock); + locked = 1; + } + + old_irq_mask = rda_uart_read(port, RDA_UART_IRQ_MASK); + rda_uart_write(port, 0, RDA_UART_IRQ_MASK); + + uart_console_write(port, s, count, rda_console_putchar); + + /* wait until all contents have been sent out */ + while (!(rda_uart_read(port, RDA_UART_STATUS) & RDA_UART_TX_FIFO_MASK)) + cpu_relax(); + + rda_uart_write(port, old_irq_mask, RDA_UART_IRQ_MASK); + + if (locked) + spin_unlock(&port->lock); + + local_irq_restore(flags); +} + +static void rda_uart_console_write(struct console *co, const char *s, + u_int count) +{ + struct rda_uart_port *rda_port; + + rda_port = rda_uart_ports[co->index]; + if (!rda_port) + return; + + rda_uart_port_write(&rda_port->port, s, count); +} + +static int rda_uart_console_setup(struct console *co, char *options) +{ + struct rda_uart_port *rda_port; + int baud = 921600; + int bits = 8; + int parity = 'n'; + int flow = 'n'; + + if (co->index < 0 || co->index > RDA_UART_PORT_NUM) + return -EINVAL; + + rda_port = rda_uart_ports[co->index]; + if (!rda_port || !rda_port->port.membase) + return -ENODEV; + + if (options) + uart_parse_options(options, &baud, &parity, &bits, &flow); + + return uart_set_options(&rda_port->port, co, baud, parity, bits, flow); +} + +static struct console rda_uart_console = { + .name = RDA_UART_DEV_NAME, + .write = rda_uart_console_write, + .device = uart_console_device, + .setup = rda_uart_console_setup, + .flags = CON_PRINTBUFFER, + .index = -1, + .data = &rda_uart_driver, +}; + +static int __init rda_uart_console_init(void) +{ + register_console(&rda_uart_console); + + return 0; +} +console_initcall(rda_uart_console_init); + +static void rda_uart_early_console_write(struct console *co, + const char *s, + u_int count) +{ + struct earlycon_device *dev = co->data; + + rda_uart_port_write(&dev->port, s, count); +} + +static int __init +rda_uart_early_console_setup(struct earlycon_device *device, const char *opt) +{ + if (!device->port.membase) + return -ENODEV; + + device->con->write = rda_uart_early_console_write; + + return 0; +} + +OF_EARLYCON_DECLARE(rda, "rda,8810pl-uart", + rda_uart_early_console_setup); + +#define RDA_UART_CONSOLE (&rda_uart_console) +#else +#define RDA_UART_CONSOLE NULL +#endif /* CONFIG_SERIAL_RDA_CONSOLE */ + +static struct uart_driver rda_uart_driver = { + .owner = THIS_MODULE, + .driver_name = "rda-uart", + .dev_name = RDA_UART_DEV_NAME, + .nr = RDA_UART_PORT_NUM, + .cons = RDA_UART_CONSOLE, +}; + +static const struct of_device_id rda_uart_dt_matches[] = { + { .compatible = "rda,8810pl-uart" }, + { } +}; +MODULE_DEVICE_TABLE(of, rda_uart_dt_matches); + +static int rda_uart_probe(struct platform_device *pdev) +{ + struct resource *res_mem; + struct rda_uart_port *rda_port; + int ret, irq; + + if (pdev->dev.of_node) + pdev->id = of_alias_get_id(pdev->dev.of_node, "serial"); + + if (pdev->id < 0 || pdev->id > RDA_UART_PORT_NUM) { + dev_err(&pdev->dev, "id %d out of range\n", pdev->id); + return -EINVAL; + } + + res_mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); + if (!res_mem) { + dev_err(&pdev->dev, "could not get mem\n"); + return -ENODEV; + } + + irq = platform_get_irq(pdev, 0); + if (irq < 0) { + dev_err(&pdev->dev, "could not get irq\n"); + return irq; + } + + if (rda_uart_ports[pdev->id]) { + dev_err(&pdev->dev, "port %d already allocated\n", pdev->id); + return -EBUSY; + } + + rda_port = devm_kzalloc(&pdev->dev, sizeof(*rda_port), GFP_KERNEL); + if (!rda_port) + return -ENOMEM; + + rda_port->clk = devm_clk_get(&pdev->dev, NULL); + if (IS_ERR(rda_port->clk)) { + dev_err(&pdev->dev, "could not get clk\n"); + return PTR_ERR(rda_port->clk); + } + + rda_port->port.dev = &pdev->dev; + rda_port->port.regshift = 0; + rda_port->port.line = pdev->id; + rda_port->port.type = PORT_RDA; + rda_port->port.iotype = UPIO_MEM; + rda_port->port.mapbase = res_mem->start; + rda_port->port.irq = irq; + rda_port->port.uartclk = clk_get_rate(rda_port->clk); + if (rda_port->port.uartclk == 0) { + dev_err(&pdev->dev, "clock rate is zero\n"); + return -EINVAL; + } + rda_port->port.flags = UPF_BOOT_AUTOCONF | UPF_IOREMAP | + UPF_LOW_LATENCY; + rda_port->port.x_char = 0; + rda_port->port.fifosize = RDA_UART_TX_FIFO_SIZE; + rda_port->port.ops = &rda_uart_ops; + + rda_uart_ports[pdev->id] = rda_port; + platform_set_drvdata(pdev, rda_port); + + ret = uart_add_one_port(&rda_uart_driver, &rda_port->port); + if (ret) + rda_uart_ports[pdev->id] = NULL; + + return ret; +} + +static int rda_uart_remove(struct platform_device *pdev) +{ + struct rda_uart_port *rda_port = platform_get_drvdata(pdev); + + uart_remove_one_port(&rda_uart_driver, &rda_port->port); + rda_uart_ports[pdev->id] = NULL; + + return 0; +} + +static struct platform_driver rda_uart_platform_driver = { + .probe = rda_uart_probe, + .remove = rda_uart_remove, + .driver = { + .name = "rda-uart", + .of_match_table = rda_uart_dt_matches, + }, +}; + +static int __init rda_uart_init(void) +{ + int ret; + + ret = uart_register_driver(&rda_uart_driver); + if (ret) + return ret; + + ret = platform_driver_register(&rda_uart_platform_driver); + if (ret) + uart_unregister_driver(&rda_uart_driver); + + return ret; +} + +static void __init rda_uart_exit(void) +{ + platform_driver_unregister(&rda_uart_platform_driver); + uart_unregister_driver(&rda_uart_driver); +} + +module_init(rda_uart_init); +module_exit(rda_uart_exit); + +MODULE_AUTHOR("Manivannan Sadhasivam "); +MODULE_DESCRIPTION("RDA8810PL serial device driver"); +MODULE_LICENSE("GPL"); diff --git a/include/uapi/linux/serial_core.h b/include/uapi/linux/serial_core.h index dce5f9dae121..df4a7534e239 100644 --- a/include/uapi/linux/serial_core.h +++ b/include/uapi/linux/serial_core.h @@ -281,4 +281,7 @@ /* MediaTek BTIF */ #define PORT_MTK_BTIF 117 +/* RDA UART */ +#define PORT_RDA 118 + #endif /* _UAPILINUX_SERIAL_CORE_H */ From patchwork Mon Nov 19 17:09:39 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Manivannan Sadhasivam X-Patchwork-Id: 999961 Return-Path: X-Original-To: incoming-imx@patchwork.ozlabs.org Delivered-To: patchwork-incoming-imx@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.infradead.org (client-ip=2607:7c80:54:e::133; helo=bombadil.infradead.org; envelope-from=linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="ApGh2Hvv"; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.b="G2Cooy09"; dkim-atps=neutral Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:e::133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 42zFpJ2VZ9z9sMM for ; Tue, 20 Nov 2018 04:15:20 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=vAB8zWmXCXWqTo2zPDe5QJrAahPtbtuvuDLnqJM29wc=; b=ApGh2HvvxwIRzy 2a4S1zA5hrMt8amoXelSmkZqDtOyRizXDLrGKI3slS+Kccq1uXoOTkW7ZD90D4lPPDWpo2O6sTJKN dSEI5rsk1+B/F6pKldq+LyONSO8Y0cw28ZCwUnPo3xIqqHqjS98AM/Oknn+ol4iwt+w84otpruN1U Q6+9YWzWMkb97GMMgWhya6uezWPuMSEIY07BIvTpyUt7SLjUF9CGvn/VcU+V9cUE1ZwNOsOvy7/re 007wPZKCZWdjPuowzgbb1Flf6J44adW+0iEbiDZyQB9tv/7tCLFy5RP93F9sud0ePQ+tU4NpCQ+TB +fdKRwUADIQZx/dgAD0g==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gOn8h-0004Xq-MK; Mon, 19 Nov 2018 17:15:11 +0000 Received: from mail-pl1-x641.google.com ([2607:f8b0:4864:20::641]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gOn6b-0002Wl-1K for linux-arm-kernel@lists.infradead.org; Mon, 19 Nov 2018 17:13:08 +0000 Received: by mail-pl1-x641.google.com with SMTP id b22-v6so9438205pls.7 for ; Mon, 19 Nov 2018 09:12:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ZTOWvfrx0BsJZxmGzOshOzTkCx1AKkW+EAS4P/Cqekc=; b=G2Cooy09CPKls/oHLpjM8t7ruKTNmVmObqf/PwgQXaCyGsDhs3ehjnR0jekIjmbXOE wwqoQyNhFqTTeZWPZU4javuQf84nfLNvJpWI+1ZaZe5M4uiaKMJHx17jZm5hWJiWCCYU tfnpAqCG7+GmSciJLQ01vwCmEyKPoHg33jyYc= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ZTOWvfrx0BsJZxmGzOshOzTkCx1AKkW+EAS4P/Cqekc=; b=Svvm2DZC0iygUvCAgyeWh9L0VIe+Vkaemyl9VyIvLX1qpiL/6ET4RlDprbfRpsEp54 Hi8QOjLLhXMcTCEyn9EORJiLXa+YVe5phCOtAv1q2RG2vqufP3OwMMS2QuxiuLMOPcQU lZRrEnQvneL2Uora+BdfHdmkOLnltqdU72tI5iUvXdfjWrdB1FTPTOd2wy2JXZPZQy3F 5/rLCn1NcX6c150qh6ZbqfSfjoSvfVP291zSnUl9/VkhDFmPrkPRuQj6HPijwyZakq0n B7NvL82xB2e0Mm+UgF03ycB73PgW4Ka9gLu7ED5l1p7WJukkuLD+juqhcQbHXXZ/g/am f+5A== X-Gm-Message-State: AA+aEWbj7yG6IZntLg+njrZI83Jhg0UhLJ1q/NrS1JGn6IfIqAol5f9c WLOJMg+BGDAxbzB/HtXu+Mc7 X-Google-Smtp-Source: AFSGD/Vx5ByW8rVZebFS7ct5jsaZSTRDoDVBh2NgQkd4xzjornUvW0Szc3PTB2w0pTKfwCG8SOne3w== X-Received: by 2002:a17:902:7617:: with SMTP id k23mr5814335pll.83.1542647577752; Mon, 19 Nov 2018 09:12:57 -0800 (PST) Received: from localhost.localdomain ([2409:4072:631b:44eb:3905:6402:e2fb:2d7]) by smtp.gmail.com with ESMTPSA id 186-v6sm46175458pfe.39.2018.11.19.09.12.50 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 19 Nov 2018 09:12:57 -0800 (PST) From: Manivannan Sadhasivam To: olof@lixom.net, arnd@arndb.de, robh+dt@kernel.org, tglx@linutronix.de, jason@lakedaemon.net, marc.zyngier@arm.com, daniel.lezcano@linaro.org Subject: [PATCH 16/16] MAINTAINERS: Add entry for RDA Micro SoC architecture Date: Mon, 19 Nov 2018 22:39:39 +0530 Message-Id: <20181119170939.19153-17-manivannan.sadhasivam@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181119170939.19153-1-manivannan.sadhasivam@linaro.org> References: <20181119170939.19153-1-manivannan.sadhasivam@linaro.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20181119_091301_153333_9CEF594B X-CRM114-Status: GOOD ( 10.75 ) X-Spam-Score: -0.2 (/) X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary: Content analysis details: (-0.2 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [2607:f8b0:4864:20:0:0:0:641 listed in] [list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from envelope-from domain -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, linus.walleij@linaro.org, service@rdamicro.com, linux-kernel@vger.kernel.org, amit.kucheria@linaro.org, Manivannan Sadhasivam , linux-arm-kernel@lists.infradead.org, zhao_steven@263.net Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org List-Id: linux-imx-kernel.lists.patchwork.ozlabs.org Add MAINTAINERS entry for RDA Micro SoC architecture with myself and Andreas Färber as the maintainers. Signed-off-by: Manivannan Sadhasivam --- MAINTAINERS | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index 6c3fbbb361f8..7a5ae685a638 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1945,6 +1945,20 @@ M: Lennert Buytenhek L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) S: Maintained +ARM/RDA MICRO ARCHITECTURE +M: Andreas Färber +M: Manivannan Sadhasivam +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained +F: arch/arm/boot/dts/rda8810pl-* +F: drivers/clocksource/timer-rda.c +F: drivers/irqchip/irq-rda-intc.c +F: drivers/tty/serial/rda-uart.c +F: Documentation/devicetree/bindings/arm/rda.txt +F: Documentation/devicetree/bindings/interrupt-controller/rda,8810pl-intc.txt +F: Documentation/devicetree/bindings/serial/rda,8810pl-uart.txt +F: Documentation/devicetree/bindings/timer/rda,8810pl-timer.txt + ARM/REALTEK ARCHITECTURE M: Andreas Färber L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)