From patchwork Sun May 14 16:56:42 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jisheng Zhang X-Patchwork-Id: 93748 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp6438581vqo; Sun, 14 May 2023 11:07:15 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5fgJvGpmUf9oW2aaUMfXh49bSlVRfkIQpm8U0uYv9e6FlPuN01K2tLjztJgj1Lk8rMwaZy X-Received: by 2002:a05:6a00:15c6:b0:647:7ee8:6251 with SMTP id o6-20020a056a0015c600b006477ee86251mr25785389pfu.21.1684087635158; Sun, 14 May 2023 11:07:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1684087635; cv=none; d=google.com; s=arc-20160816; b=hUlw3MNegOHmeHQ/dYfjWYvus6KXvw9RqmP+8Pj7NMgossaCdPv8+7YmRb9GL1jUcX PxcVKYDstI7lsgsrHjqOSqjDqrYn8ZAuYyhfgMSzYPDKTr/2yQYVKOov4a8lyU9fDcsw GK7FJ5k6QCQcIoRJbaSdD8dFISUbYZgMx7krvplQNpNFR8eo1pjrBDU93oiuxencJ9M+ owb1YjW/lWCWQWOqj1bRoOiLlEQfe+6XaTE4XucbMXE7lEu6f0GIcAwqbKYtR5nNeXZO llp+ZMQgVNLdTLx7LGHkRp3i8kCp1OpeMZAQN5DaCG+Szqmz4LTH91e5DW1nyecD2snu 0LGw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=vSROk8N9/8KzjvcClUa1vrQfOjZWzZbsilag/agVm18=; b=akPG9xogELCvqCnV5h3jB2ut9Pav5tGspnMrTdyFDQGyGNV0tTLOnBH6+WbS6YRcaH Ent9b9g9RWKwW16zdzFt9sByuO17paT2XKmHfBfo5hVPsZyjMOrxuziLlCWJxPbGKv2f t9oKz2Oax0KEI4vbEh963OM5ZWp8gOXhklT8TERMiGeTdZWkq4wfIkDmT37GDl3bTIbn M08MEaLyRD77oCIER56NH+7RpnHp2gK7jyhT27TDlRbFTcgycCc/6T62Kwzq3Gh0NMi8 kfELVH6aWT92JgLjVgmDgF8/zVzKeZfOUv7Tcp6nZwg9rgHtRkB7vRuBnu3l0wSrEX17 yWTA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=O5ZZbKns; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id h18-20020aa79f52000000b0064aef84eb1esi5704522pfr.51.2023.05.14.11.07.00; Sun, 14 May 2023 11:07:15 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=O5ZZbKns; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234933AbjENRIQ (ORCPT + 99 others); Sun, 14 May 2023 13:08:16 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43920 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232556AbjENRIK (ORCPT ); Sun, 14 May 2023 13:08:10 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3876E3C07; Sun, 14 May 2023 10:08:07 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id C5BC5618B0; Sun, 14 May 2023 17:08:06 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id B860BC4339B; Sun, 14 May 2023 17:08:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1684084086; bh=8o3w2PNumfMmW1nsxUiJwSK+1Wm7LHqx/wBqf4PFRQY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=O5ZZbKnsIlXkTLOeI1QacOmEvmEyixkY9kbZWpuTdNWmf4NoMEGTv2jeC1Ps1LjuZ IGdUqraKi0wMpt2OxQI5ohFHgmsRgXqyiJA13e/uwut8x2xMHeFUOobW9+/o5DHP2q ykJLa8RhFZjDFQsXf/7INdH1OsFOGfXnapeBowxXdTEUvQBwRcyIMtMOmgH1IfMyW4 wtVEgtYnOBvuxQyvQpgJgqaeeneMKq1U89uNtE0wa3M1M8t/kc3pS2if+R1HuYb6NP yFdTL6QcBBMAwsSc0PLPyXyAR8xWoeuNPE1FmunEAgZ96Q3kvsuPflFpF9Ti5VDFpT ZehySqUGPS9+g== From: Jisheng Zhang To: Thomas Gleixner , Marc Zyngier , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Palmer Dabbelt , Paul Walmsley , Albert Ou , Greg Kroah-Hartman , Jiri Slaby Cc: Samuel Holland , linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-riscv@lists.infradead.org, linux-serial@vger.kernel.org, Conor Dooley , Palmer Dabbelt Subject: [PATCH v3 01/10] dt-bindings: vendor-prefixes: add bouffalolab Date: Mon, 15 May 2023 00:56:42 +0800 Message-Id: <20230514165651.2199-2-jszhang@kernel.org> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230514165651.2199-1-jszhang@kernel.org> References: <20230514165651.2199-1-jszhang@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1765893876404485236?= X-GMAIL-MSGID: =?utf-8?q?1765893876404485236?= In the following commits, we will support bl808 SoC which is from Bouffalo Lab Technology (Nanjing) Co., Ltd. Add bouffalolab vendor prefix binding. Link: https://en.bouffalolab.com/ Signed-off-by: Jisheng Zhang Reviewed-by: Conor Dooley Acked-by: Palmer Dabbelt --- Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml index 82d39ab0231b..3566346f2f9e 100644 --- a/Documentation/devicetree/bindings/vendor-prefixes.yaml +++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml @@ -200,6 +200,8 @@ patternProperties: description: BOE Technology Group Co., Ltd. "^bosch,.*": description: Bosch Sensortec GmbH + "^bouffalolab,.*": + description: Bouffalo Lab Technology (Nanjing) Co., Ltd. "^boundary,.*": description: Boundary Devices Inc. "^brcm,.*": From patchwork Sun May 14 16:56:43 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jisheng Zhang X-Patchwork-Id: 93747 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp6438533vqo; Sun, 14 May 2023 11:07:10 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7nk+rKWxidL+qMQH2xKxy/ANnuoWDMo/vjuNpIz7m7Gqnm8SLOAIcBlfYGO501r/SEXnaw X-Received: by 2002:a17:902:e80c:b0:1ab:1dff:9540 with SMTP id u12-20020a170902e80c00b001ab1dff9540mr39596405plg.14.1684087630441; Sun, 14 May 2023 11:07:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1684087630; cv=none; d=google.com; s=arc-20160816; b=f04HPnFSjNAc4qWXEHt+37O91fEGxPi4rFZY/cpS9Pi8rLO1AZHMbl3w+KrewlIoxJ abs/1kw0Aqq1hY9gPudRtKJ+WrK9EuEoplEayz8coIw5hS1T5Gg/A8ikvw3PmE+38jCx OpxbjJKPtwGOxu3Nq6u8LKSWGdQ3CkY/6BCr/WSh/Ehm5QPJzsg7sFDkiwrzLKM8VYVN rulciu/cMN21j8IRRJfwE9w1fR1pJhYSdK3Htb+sbiA6pR4utplis1wR8eXUnxeqIh3o M1JlL6TOdDnZBle1QV1HBv181k3QcZKnDuJEQ0Afs1C1HVY9m7BHA7lW7WWnDMzM1JRo qKeQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=9b22TH5Q2pIBLshb8o3p1yaKLH0XeLdSWJUJRO5lxVY=; b=F/CUx5X0e0+O/vkvtV5iqtlSpc6ZtEBUMsPw8g/oKxhX+npEyN8u6sHq/Pn61ClTuN J+qZ0nxubkXVwhzSzR6ib6+wyjQhKTUT1oi/EtTCEFTGcek35EkphBSSMkttZvnyhfEF EkQd1MKxGgAoHetmFtI8E52m5gLi5ao5q6H7chsD0PjNcexHyvhdWenYlrA/2itcHM33 YgjgpOedqoRlcmW+Ybtgp/AKIZe40d4nxI3PuvhKmxuvuLax4NVlgXjWIKdoN084NfW2 DYYJEf+VzQqim3KgJ34/mBjbuvfROf1gnMCm2FQLboXJTBgrJoIgSIDCmd9vj2smgGSl tyZg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=YXyhrJbb; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id y20-20020a170902b49400b001a6a636eb6dsi13685725plr.215.2023.05.14.11.06.55; Sun, 14 May 2023 11:07:10 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=YXyhrJbb; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237332AbjENRIa (ORCPT + 99 others); Sun, 14 May 2023 13:08:30 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43830 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230281AbjENRIO (ORCPT ); Sun, 14 May 2023 13:08:14 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E88C04220; Sun, 14 May 2023 10:08:12 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 495EC618FA; Sun, 14 May 2023 17:08:10 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9F43BC433EF; Sun, 14 May 2023 17:08:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1684084089; bh=QsS0GqTEpUgIOl9D4Ma8N/Z521IB8RVwhJGktfvNTz0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=YXyhrJbbT/SozDGrfC1Jj3qqZw6mERdNANW6weX6tlGuHGQcj3/hqqSAqhThSyPv2 SQ3Nj8WegpEH4uLsa1GzpUAYdmIggVjY5KCYwImIJ3QforBF4bkdKfrRrbHRV3lu5G ItGW5XyY4yZMe17x9uvhItNgB5hqBbOGpgk9ZP5Eh2YcBge/hCBT60pdjUPlDJ3xav Wne+NMUi+u04kS46E/sq8FWyTONJ0en6uA2CRnDE2tIsUcCP7pXuZqhTbHicGjz+5R liPYpb4qqkiP0AmEq6gv4Tm+SLt+bSTPZjhpzKtxHSOuqpZPtf+nZJV+K7yfBdYjCS NHC2SFumzTIqw== From: Jisheng Zhang To: Thomas Gleixner , Marc Zyngier , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Palmer Dabbelt , Paul Walmsley , Albert Ou , Greg Kroah-Hartman , Jiri Slaby Cc: Samuel Holland , linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-riscv@lists.infradead.org, linux-serial@vger.kernel.org Subject: [PATCH v3 02/10] dt-bindings: interrupt-controller: Add bouffalolab bl808 plic Date: Mon, 15 May 2023 00:56:43 +0800 Message-Id: <20230514165651.2199-3-jszhang@kernel.org> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230514165651.2199-1-jszhang@kernel.org> References: <20230514165651.2199-1-jszhang@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1765893871275774216?= X-GMAIL-MSGID: =?utf-8?q?1765893871275774216?= Add compatible string for bouffalolab bl808 plic. Signed-off-by: Jisheng Zhang Reviewed-by: Conor Dooley --- .../bindings/interrupt-controller/sifive,plic-1.0.0.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/interrupt-controller/sifive,plic-1.0.0.yaml b/Documentation/devicetree/bindings/interrupt-controller/sifive,plic-1.0.0.yaml index f75736a061af..3f9439b0c163 100644 --- a/Documentation/devicetree/bindings/interrupt-controller/sifive,plic-1.0.0.yaml +++ b/Documentation/devicetree/bindings/interrupt-controller/sifive,plic-1.0.0.yaml @@ -65,6 +65,7 @@ properties: - items: - enum: - allwinner,sun20i-d1-plic + - bouffalolab,bl808-plic - const: thead,c900-plic - items: - const: sifive,plic-1.0.0 From patchwork Sun May 14 16:56:44 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jisheng Zhang X-Patchwork-Id: 93750 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp6439046vqo; Sun, 14 May 2023 11:08:18 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ57V0zIaC4HlxuJQhZr1jmfPuqW8wrR4wS4mJVhshwYBXVBCY1txebCDOY6l5CyYsXHZR4T X-Received: by 2002:a05:6a20:8ed5:b0:d3:78ab:77c3 with SMTP id m21-20020a056a208ed500b000d378ab77c3mr31306733pzk.48.1684087698616; Sun, 14 May 2023 11:08:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1684087698; cv=none; d=google.com; s=arc-20160816; b=p+CTvDALdG5wNLLYJOIv6yzeN34S1poQZSXxSQ3U3qv4h2yvZLSMnKE6YrU6K0c+8E UIdB13x2GNd5LRYVYqvfrG6WwXC8ESb5kBA8quUVHkQsLTGG8O0Cn9ssOQobomPlFI2g EiKL3GHp2MiZs34N+73EJWodf9yWxDg50QoNFjBV8r5u9cCsxD6PmkPtibctSfekv1lp W6fYwC2RtLX3lPy1EdnoRwjJFf+Bd1uqf2OHliXreMbJKZnjczpvBvM+sbTFOVqTIuAN +GN7cMzNa99jE1Tz/LerhAfCOCTSzUxaK3qYSQGwj8CK1Dh2UMvdfgGh0OQ2gXQIds7h O1LQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=2WsIBiNzmBd9269+1GXX0BOfx3jv1rBtqspJ3qvNujU=; b=fzuMSHfZ/CF/CIiSIJYk4QT30KXQrYnlTN14x1w3mglkKHN13/dwRxLjlHUBzdfsNG tOuVFsqzzE3hayZhagEaGchhcjqaw4JsM4JorjTHmdTy+HwNRQ6qV6wYsz1foaVDLuoj NJUW3N3JFX6R9V2bvNqzx2DgijigOy4SMcywRlnu1y5IGLNDwqXRbuE4iFx0uHMYFQ0G giFnSv22U3zjKs3on8NI+999dgBKSHjNTSW5u+UR8Gv5+B/C8ighcZg/njJDv1jnl89f ZML+vbBZnJIYebKk/+pf3S9twdK5DG2ngEkr/abAgXjRSQHZfy68rYK2VXh+N95l4NfP V4jQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b="tG6Br1/S"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id y187-20020a638ac4000000b0052c85b5d5besi14525470pgd.507.2023.05.14.11.08.04; Sun, 14 May 2023 11:08:18 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b="tG6Br1/S"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235149AbjENRIc (ORCPT + 99 others); Sun, 14 May 2023 13:08:32 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44086 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234837AbjENRIP (ORCPT ); Sun, 14 May 2023 13:08:15 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 38F0A3C28; Sun, 14 May 2023 10:08:14 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 073EF60A48; Sun, 14 May 2023 17:08:14 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2D288C433D2; Sun, 14 May 2023 17:08:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1684084093; bh=nF3JL8RuDBTKyjXk/txorqM8FS90ktPyRcC6WV+BXac=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=tG6Br1/S61N0FCgxfIiQATh1yxfuBb8K/Yabe3bjet9eBWbOL0vJkwkycEoVMoE6y z+kggXrwf7qlBT2iUon62jUuaZvp8fjHD1fE+nqnTWq+Bi/y5xKgzaXWdv1LjjvJmL VRuIKmRZVL9jTvTInG2UtBEvFoLGVmVd9SyeqCGyCdN0G9KlskIWA8yF/QJicLcyP6 ZG4ell1KsWxVqkzyTYvrywz8wK0TV2ie0/V76hwxIq63tdfac2Z485UrrjsO2r1+KB NNm+LNx2yFWim8lgmkTrbPMnXV2QRpo+jRQm3RcU9K1KeNQrYIzZZGqAfsjsjPip5x lY3yJRN7z/r/Q== From: Jisheng Zhang To: Thomas Gleixner , Marc Zyngier , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Palmer Dabbelt , Paul Walmsley , Albert Ou , Greg Kroah-Hartman , Jiri Slaby Cc: Samuel Holland , linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-riscv@lists.infradead.org, linux-serial@vger.kernel.org, Palmer Dabbelt Subject: [PATCH v3 03/10] dt-bindings: serial: add documentation for Bouffalolab UART Driver Date: Mon, 15 May 2023 00:56:44 +0800 Message-Id: <20230514165651.2199-4-jszhang@kernel.org> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230514165651.2199-1-jszhang@kernel.org> References: <20230514165651.2199-1-jszhang@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1765893942684796360?= X-GMAIL-MSGID: =?utf-8?q?1765893942684796360?= Add bindings doc for Bouffalolab UART Driver Signed-off-by: Jisheng Zhang Acked-by: Palmer Dabbelt --- .../serial/bouffalolab,bl808-uart.yaml | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 Documentation/devicetree/bindings/serial/bouffalolab,bl808-uart.yaml diff --git a/Documentation/devicetree/bindings/serial/bouffalolab,bl808-uart.yaml b/Documentation/devicetree/bindings/serial/bouffalolab,bl808-uart.yaml new file mode 100644 index 000000000000..e1c2c8ac88ab --- /dev/null +++ b/Documentation/devicetree/bindings/serial/bouffalolab,bl808-uart.yaml @@ -0,0 +1,47 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +# Copyright (C) 2022 Jisheng Zhang +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/serial/bouffalolab,uart.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Bouffalolab UART Controller + +maintainers: + - Jisheng Zhang + +allOf: + - $ref: serial.yaml# + +properties: + compatible: + const: bouffalolab,bl808-uart + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + clocks: + maxItems: 1 + +required: + - compatible + - reg + - interrupts + - clocks + +unevaluatedProperties: false + +examples: + - | + #include + + uart0: serial@30002000 { + compatible = "bouffalolab,bl808-uart"; + reg = <0x30002000 0x1000>; + interrupts = <53 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&xtal>; + }; +... From patchwork Sun May 14 16:56:45 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jisheng Zhang X-Patchwork-Id: 93746 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp6438523vqo; Sun, 14 May 2023 11:07:09 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7arGmp+uqNZ5vB3kgoCMivn4a/Fg3mG2yBFbQ+KbPDx59oaMU4Tgfxn7x+e4KF19d6m/QX X-Received: by 2002:a17:903:2292:b0:1a2:3108:5cc9 with SMTP id b18-20020a170903229200b001a231085cc9mr42521865plh.40.1684087628915; Sun, 14 May 2023 11:07:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1684087628; cv=none; d=google.com; s=arc-20160816; b=MyWw36t9rLi/1knR7/NJkeB8GwPDfiWtAiRSo5l1uZY2cm31Lad95jY82NKR34mllj Rf7qGJvJc4Uc3PGnoQmK5LCO++s2MqQJ6Z6W+4Y1KkT3kcmOmR997jCJ4py2Re2NPOPD cWUlUgK1cVoXXzjt8q9kKqRSuNWBiB/zK/QX0eg7YiT9GvWE5rUIKsxvhBcfpBDVIkbD RF66hkdUuBqXf8nTDOm9cN4Kx4X9ntSQgwoV8A3i3VrEKGlF67IlgDoMKwzKptlFu3U9 /Rllh17pO1t1ujmrDc9a/qkV1fL5weZCQhdsfvC8WFSkwoBIRd0xA/1vEESzgOdGzwyD 9aMg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=LGa3quzlokFxbkMpmvKuD200kENcXOs0pqsyMM4qKps=; b=0u0Ho5omAETH6zO48OKJl+M+kAYeXFVhulNntAB6vRGak+coIUF1ttx6cBtQxUeXXT XffTHKb1tbgPdcntCdei0/2Tr3Q470rGwDPifvHi6oMDImpQhbuA4mtTgAaIpxlFvzP9 mxZ80vVPN3GDh3/XAknQ4ZL7YFaT+2CQkRIyg3/Frg/F7F1KYstAvUQh9etVHtQreePH nkB7UGnXGom3btaHHlNuR/F++9TrXFH8uoY8qBjgoTes3IgG127HmOQeXFqRMyaazaXa 1OfqfJ7b46szblnxeNikYUKg6miAi2pY+yCCD+cWGvVQrt+5qVx7rL+G7ZcQfM2NSdvj dFeA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=JMWbiQ3X; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id d9-20020a170902728900b001a216fddd03si13525299pll.649.2023.05.14.11.06.54; Sun, 14 May 2023 11:07:08 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=JMWbiQ3X; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237729AbjENRIh (ORCPT + 99 others); Sun, 14 May 2023 13:08:37 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44318 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235310AbjENRIV (ORCPT ); Sun, 14 May 2023 13:08:21 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 02AA144B7; Sun, 14 May 2023 10:08:18 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id BAD49618D9; Sun, 14 May 2023 17:08:17 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id DCE8DC433A1; Sun, 14 May 2023 17:08:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1684084097; bh=FDBBfA2KGkCN/qKss7jeBaxk9sSX1C+GrDmnEIGetU0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=JMWbiQ3XCWgPhy6M82z4QbP5qRBDmZ9VfHhHS4cUr/ErF3RPnFPP2n0ZhqsNDAiX+ /Ni8COekjPf16oHuG4ulRiOrZ+mJknNp6tSVzOvFjYv0WnjxDXi0fpuAUTaJXQZv1t nNA2FmNOVxy4kI0K4gi4rHvTG4BGdybooFuWvDsfV/Hv1zzNf2Ff/WjK/rG99rkpVs IX5YHOK8HqRQAQfLjGbCm2Iaw2Hw4fQ+E1iuUuIzbgXGewk+/j/lzUqZKiFVrcbLNd hNwWTttDr0UXe56p9Sh+2v6JuQppPOi5/wKJJ+RrTYb6VNrss7vzl6oVnIdDqYWKHR UXeAziLYa7Z6w== From: Jisheng Zhang To: Thomas Gleixner , Marc Zyngier , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Palmer Dabbelt , Paul Walmsley , Albert Ou , Greg Kroah-Hartman , Jiri Slaby Cc: Samuel Holland , linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-riscv@lists.infradead.org, linux-serial@vger.kernel.org Subject: [PATCH v3 04/10] serial: bflb_uart: add Bouffalolab UART Driver Date: Mon, 15 May 2023 00:56:45 +0800 Message-Id: <20230514165651.2199-5-jszhang@kernel.org> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230514165651.2199-1-jszhang@kernel.org> References: <20230514165651.2199-1-jszhang@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1765893869762034845?= X-GMAIL-MSGID: =?utf-8?q?1765893869762034845?= Add the driver for Bouffalolab UART IP which is found in Bouffalolab SoCs such as bl808. UART driver probe will create path named "/dev/ttySx". Signed-off-by: Jisheng Zhang --- drivers/tty/serial/Kconfig | 18 + drivers/tty/serial/Makefile | 1 + drivers/tty/serial/bflb_uart.c | 586 +++++++++++++++++++++++++++++++ include/uapi/linux/serial_core.h | 3 + 4 files changed, 608 insertions(+) create mode 100644 drivers/tty/serial/bflb_uart.c diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig index 398e5aac2e77..b3524c9af3c9 100644 --- a/drivers/tty/serial/Kconfig +++ b/drivers/tty/serial/Kconfig @@ -179,6 +179,24 @@ config SERIAL_ATMEL_TTYAT Say Y if you have an external 8250/16C550 UART. If unsure, say N. +config SERIAL_BFLB + tristate "Bouffalolab serial port support" + select SERIAL_CORE + depends on COMMON_CLK + help + This enables the driver for the Bouffalolab's serial. + +config SERIAL_BFLB_CONSOLE + bool "Support for console on Bouffalolab serial port" + depends on SERIAL_BFLB + select SERIAL_CORE_CONSOLE + select SERIAL_EARLYCON + help + Say Y here if you wish to use a Bouffalolab UART as the + system console (the system console is the device which + receives all kernel messages and warnings and which allows + logins in single user mode) as /dev/ttySn. + config SERIAL_KGDB_NMI bool "Serial console over KGDB NMI debugger port" depends on KGDB_SERIAL_CONSOLE diff --git a/drivers/tty/serial/Makefile b/drivers/tty/serial/Makefile index cd9afd9e3018..5788a708d327 100644 --- a/drivers/tty/serial/Makefile +++ b/drivers/tty/serial/Makefile @@ -25,6 +25,7 @@ obj-$(CONFIG_SERIAL_8250) += 8250/ obj-$(CONFIG_SERIAL_AMBA_PL010) += amba-pl010.o obj-$(CONFIG_SERIAL_AMBA_PL011) += amba-pl011.o +obj-$(CONFIG_SERIAL_BFLB) += bflb_uart.o obj-$(CONFIG_SERIAL_CLPS711X) += clps711x.o obj-$(CONFIG_SERIAL_PXA_NON8250) += pxa.o obj-$(CONFIG_SERIAL_SA1100) += sa1100.o diff --git a/drivers/tty/serial/bflb_uart.c b/drivers/tty/serial/bflb_uart.c new file mode 100644 index 000000000000..c401c226efdb --- /dev/null +++ b/drivers/tty/serial/bflb_uart.c @@ -0,0 +1,586 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Based on bflb_uart.c, by Bouffalolab team + * + * Copyright (C) 2022 Jisheng Zhang + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define UART_UTX_CONFIG 0x00 +#define UART_CR_UTX_EN BIT(0) +#define UART_CR_UTX_CTS_EN BIT(1) +#define UART_CR_UTX_FRM_EN BIT(2) +#define UART_CR_UTX_PRT_EN BIT(4) +#define UART_CR_UTX_PRT_SEL BIT(5) +#define UART_CR_UTX_BIT_CNT_D_MSK GENMASK(10, 8) +#define UART_CR_UTX_BIT_CNT_P_MSK GENMASK(12, 11) +#define UART_URX_CONFIG 0x04 +#define UART_CR_URX_EN BIT(0) +#define UART_CR_URX_PRT_EN BIT(4) +#define UART_CR_URX_PRT_SEL BIT(5) +#define UART_CR_URX_BIT_CNT_D_MSK GENMASK(10, 8) +#define UART_BIT_PRD 0x08 +#define UART_CR_UTX_BIT_PRD_MSK GENMASK(15, 0) +#define UART_CR_URX_BIT_PRD_MSK GENMASK(31, 16) +#define UART_DATA_CONFIG 0x0c +#define UART_CR_UART_BIT_INV BIT(0) +#define UART_URX_RTO_TIMER 0x18 +#define UART_CR_URX_RTO_VALUE_MSK GENMASK(7, 0) +#define UART_SW_MODE 0x1c +#define UART_INT_STS 0x20 +#define UART_UTX_END_INT BIT(0) +#define UART_URX_END_INT BIT(1) +#define UART_UTX_FIFO_INT BIT(2) +#define UART_URX_FIFO_INT BIT(3) +#define UART_URX_RTO_INT BIT(4) +#define UART_URX_PCE_INT BIT(5) +#define UART_UTX_FER_INT BIT(6) +#define UART_URX_FER_INT BIT(7) +#define UART_URX_LSE_INT BIT(8) +#define UART_INT_MASK 0x24 +#define UART_INT_CLEAR 0x28 +#define UART_INT_EN 0x2c +#define UART_STATUS 0x30 +#define UART_STS_UTX_BUS_BUSY BIT(0) +#define UART_FIFO_CONFIG_0 0x80 +#define UART_DMA_TX_EN BIT(0) +#define UART_DMA_RX_EN BIT(1) +#define UART_TX_FIFO_CLR BIT(2) +#define UART_RX_FIFO_CLR BIT(3) +#define UART_TX_FIFO_OVERFLOW BIT(4) +#define UART_TX_FIFO_UNDERFLOW BIT(5) +#define UART_RX_FIFO_OVERFLOW BIT(6) +#define UART_RX_FIFO_UNDERFLOW BIT(7) +#define UART_FIFO_CONFIG_1 0x84 +#define UART_TX_FIFO_CNT_MSK GENMASK(5, 0) +#define UART_RX_FIFO_CNT_MSK GENMASK(13, 8) +#define UART_TX_FIFO_TH_MSK GENMASK(20, 16) +#define UART_RX_FIFO_TH_MSK GENMASK(28, 24) +#define UART_FIFO_WDATA 0x88 +#define UART_FIFO_RDATA 0x8c +#define UART_FIFO_RDATA_MSK GENMASK(7, 0) + +#define BFLB_UART_MAXPORTS 8 +#define BFLB_UART_BAUD 2000000 +#define BFLB_UART_RX_FIFO_TH 7 +#define BFLB_UART_TX_FIFO_TH 15 +#define BFLB_UART_URX_RTO_TIME 0x4f + +struct bflb_uart_port { + struct uart_port port; + struct clk *clk; +}; + +static struct bflb_uart_port *bflb_uart_ports[BFLB_UART_MAXPORTS]; + +static inline u32 rdl(struct uart_port *port, u32 reg) +{ + return readl_relaxed(port->membase + reg); +} + +static inline void wrl(struct uart_port *port, u32 reg, u32 value) +{ + writel_relaxed(value, port->membase + reg); +} + +static inline void wrb(struct uart_port *port, u32 reg, u8 value) +{ + writeb_relaxed(value, port->membase + reg); +} + +static unsigned int bflb_uart_tx_empty(struct uart_port *port) +{ + return (rdl(port, UART_FIFO_CONFIG_1) & UART_TX_FIFO_CNT_MSK) ? TIOCSER_TEMT : 0; +} + +static unsigned int bflb_uart_get_mctrl(struct uart_port *port) +{ + return TIOCM_CAR | TIOCM_DSR | TIOCM_CTS; +} + +static void bflb_uart_set_mctrl(struct uart_port *port, unsigned int sigs) +{ +} + +static void bflb_uart_start_tx(struct uart_port *port) +{ + u32 val; + + val = rdl(port, UART_UTX_CONFIG); + val |= UART_CR_UTX_EN; + wrl(port, UART_UTX_CONFIG, val); + + val = rdl(port, UART_FIFO_CONFIG_1); + val &= ~UART_TX_FIFO_TH_MSK; + val |= FIELD_PREP(UART_TX_FIFO_TH_MSK, BFLB_UART_TX_FIFO_TH); + wrl(port, UART_FIFO_CONFIG_1, val); + + val = rdl(port, UART_INT_MASK); + val &= ~UART_UTX_FIFO_INT; + wrl(port, UART_INT_MASK, val); +} + +static void bflb_uart_stop_tx(struct uart_port *port) +{ + u32 val; + + val = rdl(port, UART_INT_MASK); + val |= UART_UTX_FIFO_INT; + wrl(port, UART_INT_MASK, val); +} + +static void bflb_uart_stop_rx(struct uart_port *port) +{ + u32 val; + + val = rdl(port, UART_URX_CONFIG); + val &= ~UART_CR_URX_EN; + wrl(port, UART_URX_CONFIG, val); + + val = rdl(port, UART_INT_MASK); + val |= UART_URX_FIFO_INT | UART_URX_RTO_INT | UART_URX_FER_INT; + wrl(port, UART_INT_MASK, val); +} + +static void bflb_uart_set_termios(struct uart_port *port, + struct ktermios *termios, + const struct ktermios *old) +{ + unsigned long flags; + u32 valt, valr, val; + unsigned int baud, min; + + spin_lock_irqsave(&port->lock, flags); + + /* set data length */ + val = tty_get_char_size(termios->c_cflag) - 1; + valt = FIELD_PREP(UART_CR_UTX_BIT_CNT_D_MSK, val); + + /* calculate parity */ + termios->c_cflag &= ~CMSPAR; /* no support mark/space */ + if (termios->c_cflag & PARENB) { + valt |= UART_CR_UTX_PRT_EN; + if (termios->c_cflag & PARODD) + valt |= UART_CR_UTX_PRT_SEL; + } + + valr = valt; + + /* calculate stop bits */ + if (termios->c_cflag & CSTOPB) + val = 2; + else + val = 1; + valt |= FIELD_PREP(UART_CR_UTX_BIT_CNT_P_MSK, val); + + /* flow control */ + if (termios->c_cflag & CRTSCTS) + valt |= UART_CR_UTX_CTS_EN; + + /* enable TX freerunning mode */ + valt |= UART_CR_UTX_FRM_EN; + + valt |= UART_CR_UTX_EN; + valr |= UART_CR_URX_EN; + + wrl(port, UART_UTX_CONFIG, valt); + wrl(port, UART_URX_CONFIG, valr); + + min = port->uartclk / (UART_CR_UTX_BIT_PRD_MSK + 1); + baud = uart_get_baud_rate(port, termios, old, min, 4000000); + + val = DIV_ROUND_CLOSEST(port->uartclk, baud) - 1; + val = FIELD_PREP(UART_CR_UTX_BIT_PRD_MSK, val); + val |= FIELD_PREP(UART_CR_URX_BIT_PRD_MSK, val); + wrl(port, UART_BIT_PRD, val); + + uart_update_timeout(port, termios->c_cflag, baud); + + spin_unlock_irqrestore(&port->lock, flags); +} + +static void bflb_uart_rx_chars(struct uart_port *port) +{ + u8 ch; + + while (rdl(port, UART_FIFO_CONFIG_1) & UART_RX_FIFO_CNT_MSK) { + ch = FIELD_GET(UART_FIFO_RDATA_MSK, rdl(port, UART_FIFO_RDATA)); + port->icount.rx++; + + if (uart_handle_sysrq_char(port, ch)) + continue; + uart_insert_char(port, 0, 0, ch, TTY_NORMAL); + } + + spin_unlock(&port->lock); + tty_flip_buffer_push(&port->state->port); + spin_lock(&port->lock); +} + +static void bflb_uart_tx_chars(struct uart_port *port) +{ + u8 ch; + + uart_port_tx_limited(port, ch, BFLB_UART_TX_FIFO_TH, + true, + wrl(port, UART_FIFO_WDATA, ch), + ({})); +} + +static irqreturn_t bflb_uart_interrupt(int irq, void *data) +{ + struct uart_port *port = data; + u32 isr, val; + + isr = rdl(port, UART_INT_STS); + wrl(port, UART_INT_CLEAR, isr); + + spin_lock(&port->lock); + + if (isr & UART_URX_FER_INT) { + /* RX FIFO error interrupt */ + val = rdl(port, UART_FIFO_CONFIG_0); + if (val & UART_RX_FIFO_OVERFLOW) + port->icount.overrun++; + + val |= UART_RX_FIFO_CLR; + wrl(port, UART_FIFO_CONFIG_0, val); + } + + if (isr & (UART_URX_FIFO_INT | UART_URX_RTO_INT)) + bflb_uart_rx_chars(port); + + if (isr & UART_UTX_FIFO_INT) + bflb_uart_tx_chars(port); + + spin_unlock(&port->lock); + + return IRQ_RETVAL(isr); +} + +static void bflb_uart_config_port(struct uart_port *port, int flags) +{ + port->type = PORT_BFLB; +} + +static int bflb_uart_startup(struct uart_port *port) +{ + unsigned long flags; + int ret; + u32 val; + + ret = devm_request_irq(port->dev, port->irq, bflb_uart_interrupt, + IRQF_SHARED, port->name, port); + if (ret) { + dev_err(port->dev, "fail to request serial irq %d, ret=%d\n", + port->irq, ret); + return ret; + } + + spin_lock_irqsave(&port->lock, flags); + + wrl(port, UART_INT_MASK, ~0); + + wrl(port, UART_DATA_CONFIG, 0); + wrl(port, UART_SW_MODE, 0); + wrl(port, UART_URX_RTO_TIMER, FIELD_PREP(UART_CR_URX_RTO_VALUE_MSK, BFLB_UART_URX_RTO_TIME)); + + val = rdl(port, UART_FIFO_CONFIG_1); + val &= ~UART_RX_FIFO_TH_MSK; + val |= FIELD_PREP(UART_RX_FIFO_TH_MSK, BFLB_UART_RX_FIFO_TH); + wrl(port, UART_FIFO_CONFIG_1, val); + + /* Unmask RX interrupts now */ + val = rdl(port, UART_INT_MASK); + val &= ~(UART_URX_FIFO_INT | UART_URX_RTO_INT | UART_URX_FER_INT); + wrl(port, UART_INT_MASK, val); + + val = rdl(port, UART_UTX_CONFIG); + val |= UART_CR_UTX_EN; + wrl(port, UART_UTX_CONFIG, val); + val = rdl(port, UART_URX_CONFIG); + val |= UART_CR_URX_EN; + wrl(port, UART_URX_CONFIG, val); + + spin_unlock_irqrestore(&port->lock, flags); + + return 0; +} + +static void bflb_uart_shutdown(struct uart_port *port) +{ + unsigned long flags; + + spin_lock_irqsave(&port->lock, flags); + /* mask all interrupts now */ + wrl(port, UART_INT_MASK, ~0); + spin_unlock_irqrestore(&port->lock, flags); +} + +static const char *bflb_uart_type(struct uart_port *port) +{ + return (port->type == PORT_BFLB) ? "BFLB UART" : NULL; +} + +static int bflb_uart_verify_port(struct uart_port *port, + struct serial_struct *ser) +{ + if (ser->type != PORT_UNKNOWN && ser->type != PORT_BFLB) + return -EINVAL; + return 0; +} + +static const struct uart_ops bflb_uart_ops = { + .tx_empty = bflb_uart_tx_empty, + .get_mctrl = bflb_uart_get_mctrl, + .set_mctrl = bflb_uart_set_mctrl, + .start_tx = bflb_uart_start_tx, + .stop_tx = bflb_uart_stop_tx, + .stop_rx = bflb_uart_stop_rx, + .startup = bflb_uart_startup, + .shutdown = bflb_uart_shutdown, + .set_termios = bflb_uart_set_termios, + .type = bflb_uart_type, + .config_port = bflb_uart_config_port, + .verify_port = bflb_uart_verify_port, +}; + +#ifdef CONFIG_SERIAL_BFLB_CONSOLE +static void bflb_console_putchar(struct uart_port *port, unsigned char ch) +{ + while (!(rdl(port, UART_FIFO_CONFIG_1) & UART_TX_FIFO_CNT_MSK)) + cpu_relax(); + wrb(port, UART_FIFO_WDATA, ch); +} + +/* + * Interrupts are disabled on entering + */ +static void bflb_uart_console_write(struct console *co, const char *s, + u_int count) +{ + struct uart_port *port = &bflb_uart_ports[co->index]->port; + u32 status, reg, mask; + + /* save then disable interrupts */ + mask = rdl(port, UART_INT_MASK); + reg = ~0; + wrl(port, UART_INT_MASK, reg); + + /* Make sure that tx is enabled */ + reg = rdl(port, UART_UTX_CONFIG); + reg |= UART_CR_UTX_EN; + wrl(port, UART_UTX_CONFIG, reg); + + uart_console_write(port, s, count, bflb_console_putchar); + + /* wait for TX done */ + do { + status = rdl(port, UART_STATUS); + } while ((status & UART_STS_UTX_BUS_BUSY)); + + /* restore IRQ mask */ + wrl(port, UART_INT_MASK, mask); +} + +static int bflb_uart_console_setup(struct console *co, char *options) +{ + struct uart_port *port; + struct bflb_uart_port *bp; + int baud = BFLB_UART_BAUD; + int bits = 8; + int parity = 'n'; + int flow = 'n'; + u32 val; + + if (co->index >= BFLB_UART_MAXPORTS || co->index < 0) + return -EINVAL; + + bp = bflb_uart_ports[co->index]; + if (!bp) + /* Port not initialized yet - delay setup */ + return -ENODEV; + + port = &bp->port; + + val = rdl(port, UART_UTX_CONFIG); + val |= UART_CR_UTX_EN; + wrl(port, UART_UTX_CONFIG, val); + + if (options) + uart_parse_options(options, &baud, &parity, &bits, &flow); + + return uart_set_options(port, co, baud, parity, bits, flow); +} + +static struct uart_driver bflb_uart_driver; +static struct console bflb_uart_console = { + .name = "ttyS", + .write = bflb_uart_console_write, + .device = uart_console_device, + .setup = bflb_uart_console_setup, + .flags = CON_PRINTBUFFER, + .index = -1, + .data = &bflb_uart_driver, +}; + +static int __init bflb_uart_console_init(void) +{ + register_console(&bflb_uart_console); + return 0; +} +console_initcall(bflb_uart_console_init); + +#define BFLB_UART_CONSOLE (&bflb_uart_console) + +static void bflb_uart_earlycon_write(struct console *co, const char *s, + unsigned int count) +{ + struct earlycon_device *dev = co->data; + + uart_console_write(&dev->port, s, count, bflb_console_putchar); +} + +static int __init bflb_uart_earlycon_setup(struct earlycon_device *dev, + const char *options) +{ + if (!dev->port.membase) + return -ENODEV; + + dev->con->write = bflb_uart_earlycon_write; + + return 0; +} +OF_EARLYCON_DECLARE(bflb_uart, "bouffalolab,uart", bflb_uart_earlycon_setup); + +#else + +#define BFLB_UART_CONSOLE NULL + +#endif /* CONFIG_SERIAL_BFLB_CONSOLE */ + +static struct uart_driver bflb_uart_driver = { + .owner = THIS_MODULE, + .driver_name = "bflb_uart", + .dev_name = "ttyS", + .nr = BFLB_UART_MAXPORTS, + .cons = BFLB_UART_CONSOLE, +}; + +static int bflb_uart_probe(struct platform_device *pdev) +{ + struct uart_port *port; + struct bflb_uart_port *bp; + struct resource *res; + int index, irq; + + index = of_alias_get_id(pdev->dev.of_node, "serial"); + if (unlikely(index < 0 || index >= BFLB_UART_MAXPORTS)) { + dev_err(&pdev->dev, "got a wrong serial alias id %d\n", index); + return -EINVAL; + } + + bp = devm_kzalloc(&pdev->dev, sizeof(*bp), GFP_KERNEL); + if (!bp) + return -ENOMEM; + + bflb_uart_ports[index] = bp; + platform_set_drvdata(pdev, bp); + port = &bp->port; + + res = platform_get_resource(pdev, IORESOURCE_MEM, 0); + port->membase = devm_ioremap_resource(&pdev->dev, res); + if (IS_ERR(port->membase)) + return PTR_ERR(port->membase); + + irq = platform_get_irq(pdev, 0); + if (irq < 0) + return irq; + + port->mapbase = res->start; + port->irq = irq; + port->line = index; + port->type = PORT_BFLB; + port->iotype = UPIO_MEM; + port->fifosize = 32; + port->ops = &bflb_uart_ops; + port->flags = UPF_BOOT_AUTOCONF; + port->dev = &pdev->dev; + port->has_sysrq = IS_ENABLED(CONFIG_SERIAL_BFLB_CONSOLE); + + bp->clk = devm_clk_get_enabled(&pdev->dev, NULL); + if (IS_ERR(bp->clk)) + return PTR_ERR(bp->clk); + port->uartclk = clk_get_rate(bp->clk); + + return uart_add_one_port(&bflb_uart_driver, port); +} + +static int bflb_uart_remove(struct platform_device *pdev) +{ + struct bflb_uart_port *bp = platform_get_drvdata(pdev); + + uart_remove_one_port(&bflb_uart_driver, &bp->port); + bflb_uart_ports[bp->port.line] = NULL; + + return 0; +} + +static const struct of_device_id bflb_uart_match[] = { + { + .compatible = "bouffalolab,bl808-uart", + }, + {}, +}; +MODULE_DEVICE_TABLE(of, bflb_uart_match); + +static struct platform_driver bflb_uart_platform_driver = { + .probe = bflb_uart_probe, + .remove = bflb_uart_remove, + .driver = { + .name = "bflb_uart", + .of_match_table = of_match_ptr(bflb_uart_match), + }, +}; + +static int __init bflb_uart_init(void) +{ + int ret; + + ret = uart_register_driver(&bflb_uart_driver); + if (ret) + return ret; + + ret = platform_driver_register(&bflb_uart_platform_driver); + if (ret) + uart_unregister_driver(&bflb_uart_driver); + + return ret; +} + +static void __exit bflb_uart_exit(void) +{ + platform_driver_unregister(&bflb_uart_platform_driver); + uart_unregister_driver(&bflb_uart_driver); +} + +module_init(bflb_uart_init); +module_exit(bflb_uart_exit); + +MODULE_DESCRIPTION("Bouffalolab UART driver"); +MODULE_AUTHOR("Jisheng Zhang "); +MODULE_LICENSE("GPL"); diff --git a/include/uapi/linux/serial_core.h b/include/uapi/linux/serial_core.h index 281fa286555c..0651fcc8734f 100644 --- a/include/uapi/linux/serial_core.h +++ b/include/uapi/linux/serial_core.h @@ -279,4 +279,7 @@ /* Sunplus UART */ #define PORT_SUNPLUS 123 +/* Bouffalolab UART */ +#define PORT_BFLB 124 + #endif /* _UAPILINUX_SERIAL_CORE_H */ From patchwork Sun May 14 16:56:46 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jisheng Zhang X-Patchwork-Id: 93739 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp6423288vqo; Sun, 14 May 2023 10:27:56 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7Pk5Kr7qvslcSCsDJeGqkRTfIOcnM9+39waZqokb3IcL0d2oZ29jAeSgsbFiPhhUjU3geG X-Received: by 2002:a05:6a20:3d8f:b0:105:c456:ab99 with SMTP id s15-20020a056a203d8f00b00105c456ab99mr2482752pzi.9.1684085275993; Sun, 14 May 2023 10:27:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1684085275; cv=none; d=google.com; s=arc-20160816; b=bwUAOK725Z4QOopNYGzt/quQdsYIISe9v056WTQ5EFhGo7jIokKR0ovChQJ8RE97fT Ice+f6TcWK/cqJoQhwCHCR/aItOUEtV7Y1C0Wr8jm+JsmNopv0l45O4HLvrwSCUeUpTt IjiKhkCXVKcEvGYZe+60ttikLD+VPXz48SD+YcRu1lRKTLP/WhFnGFkP4VKh2AsenX1y u8AOVYRZgf7xF9eH6Y6xOKV7J00MIHnpRRzDsP6vH5u8w32uT5z8Iq797Zjh0+7KtclL FtHIZKRdCep1m0ZYQlTqW0QCN+n1bVRtXKA33AfJ0ziYGLRV75/wFUs9QA62NX/jG5oL vABg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=up0ghJXKKKr43ltQ6UeRp6GrNuQrYEYncDbbhPab16k=; b=uqy7tsn+B2iMMtmIch1TuS4hNrn/jK9b1z1C0ve9BT8gQWoLXwAmjipA758+nuOzAF 5Mb0xRqpZP1+h5OdNPzWtGZMHOKlt1GIDsf+5lfKWUtammXsPR4CTeDPwN/5TYwKVML1 VnNfKDrFxjJjD1fUaL18OafTOef0KhiqDccn2ys1iJ9LdcmJYpH9QCw0PPdRtFPwAdw2 3D1qgAg21kkK9LjmNBQbcOsmijgygyORi1qKZWMb7c0EIIGcHgzfqKqv+7bYTbIuKp8G nDZul7gVPaUe5LGMGxSr+IT7zizgkVf8/VNJJYQo61PMVsGOcnYY+iKetSvkU4jMwKXR 6oww== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=fvXP+Y7I; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id j5-20020a63b605000000b00524d6d12581si15012524pgf.691.2023.05.14.10.27.41; Sun, 14 May 2023 10:27:55 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=fvXP+Y7I; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233987AbjENRIy (ORCPT + 99 others); Sun, 14 May 2023 13:08:54 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44510 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235813AbjENRI2 (ORCPT ); Sun, 14 May 2023 13:08:28 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6CE973C07; Sun, 14 May 2023 10:08:22 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id A2D2260A48; Sun, 14 May 2023 17:08:21 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 99D69C433A0; Sun, 14 May 2023 17:08:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1684084101; bh=mtrxumyq0ZRmNVTAnw5KH+BUNijjTRh/kWJxJPGHbDU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=fvXP+Y7I3i3ihYdVkNewCBLQsD/O0zHS0lGhnogvEMO8oiDFPpC6/t+lxpjKhzHPW oH70PSK2jM0zLINBqMLjX/u9btWauAIQ7HNe1V37K+2vR7GMdAP5BcvcMiF8LmKhTv V4Ar+Z1o6kkaGQWnr9Z1pooXcsYN4aN05qxjGQSDc3jGpRvOG/+xkg2n3uZPFgFaH7 EcrSkkp4qR6O3IvHVjGiqRYujd5+AaZ4mC9cA8rzmtAAFHyIJnY4flWI1DFZvKy9IH YsO0dXae8EjHf3WQmssR5WKI8zcsrnI9ScUQsMRva+IjkHnOoeWcM/Z+byHqX06atA e3WEbiCuvbw3Q== From: Jisheng Zhang To: Thomas Gleixner , Marc Zyngier , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Palmer Dabbelt , Paul Walmsley , Albert Ou , Greg Kroah-Hartman , Jiri Slaby Cc: Samuel Holland , linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-riscv@lists.infradead.org, linux-serial@vger.kernel.org, Conor Dooley , Palmer Dabbelt Subject: [PATCH v3 05/10] riscv: add the Bouffalolab SoC family Kconfig option Date: Mon, 15 May 2023 00:56:46 +0800 Message-Id: <20230514165651.2199-6-jszhang@kernel.org> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230514165651.2199-1-jszhang@kernel.org> References: <20230514165651.2199-1-jszhang@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1765891402354553394?= X-GMAIL-MSGID: =?utf-8?q?1765891402354553394?= The Bouffalolab bl808 SoC contains three riscv CPUs, namely M0, D0 and LP. The D0 is 64bit RISC-V GC compatible, so can run linux. Signed-off-by: Jisheng Zhang Reviewed-by: Conor Dooley Acked-by: Palmer Dabbelt --- arch/riscv/Kconfig.socs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/arch/riscv/Kconfig.socs b/arch/riscv/Kconfig.socs index 1cf69f958f10..33220b5144bb 100644 --- a/arch/riscv/Kconfig.socs +++ b/arch/riscv/Kconfig.socs @@ -1,5 +1,10 @@ menu "SoC selection" +config ARCH_BOUFFALOLAB + bool "Bouffalolab SoCs" + help + This enables support for Bouffalolab SoC platforms. + config ARCH_MICROCHIP_POLARFIRE def_bool SOC_MICROCHIP_POLARFIRE From patchwork Sun May 14 16:56:47 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jisheng Zhang X-Patchwork-Id: 93741 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp6437730vqo; Sun, 14 May 2023 11:05:32 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4cXCerrpv7Og14glryHq7GQ4E+MSIbNXovDLEyWJGWtWY1yN3wHx63cEaqRxe+lNUYiHxj X-Received: by 2002:a05:6a20:7d9c:b0:100:c125:5c93 with SMTP id v28-20020a056a207d9c00b00100c1255c93mr32048678pzj.21.1684087532211; Sun, 14 May 2023 11:05:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1684087532; cv=none; d=google.com; s=arc-20160816; b=kEOovr/RuKcYw7G+Qf7/zIgpOe+UMuZYz/THQn2K/lGugUeYmtT+4hjj70LcBxFWW3 rWN3azw6VxzOTXyT6JdHrP7rsf03rup4dzJbkJlVtfasYTGuyne4aEcvh77Cmf11R3al 7JpUWqNUPlL+tUuplUZqFDXJ9p0vqh5PQ1jOagdza2ZhjyyTwKMZUz02Udv97WxA2Jgt lUrbsnfGjpXO9O7++QHL+hgGSStaTk+1ZgVCuxV1l/omdoml2uA7avMbC8F8tnMv+Fl3 MMPzSKv85gU6sH3cUVD81S6WlBTZXNyMe7zbajWvO5vKTyZ7p1ktZ3CxiEcKsGnYmDdY fWZw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=zFUfoBPSpDog/7gD3hyVtYei4si4EhfMrO95vB4EjCM=; b=l+YEnjwQHI6kSiLMK72T/iwBw1djURGKL+JIgC0hb+1AiN5PCJ2WYy2fwmGS82xZpp Q0noeaxDNsjCJQN0/FlpDmJi+lOdbCVMhlMOqhZnUvTkP0oXClDgO8Dw87jpsovgLcCt MATCi+qZnPB2uIcXUe++L++8oJvfT6WED3/fhXLSJnYF+e2tPtN8nhtd5F4t7Ha77Wx2 1plzitI56XzgdXKqoUlyh5s81swqLdqfN6g0ZgQWB/fdt+OxRjA7yj+i2EtUwUBwc9bP 0JUPVCfAyiBD5GnUT52wAJHyqJTN6Dpmm8BoAK5IU+lGGbgifWDC8lgSJjRNTDjPK2tF TiLA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=Meb4Y+On; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id bv9-20020a632e09000000b0051b5de41857si13471819pgb.101.2023.05.14.11.05.08; Sun, 14 May 2023 11:05:32 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=Meb4Y+On; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237976AbjENRJF (ORCPT + 99 others); Sun, 14 May 2023 13:09:05 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43822 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237624AbjENRIf (ORCPT ); Sun, 14 May 2023 13:08:35 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DA93F4693; Sun, 14 May 2023 10:08:25 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 597EA60A48; Sun, 14 May 2023 17:08:25 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8238DC433A1; Sun, 14 May 2023 17:08:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1684084104; bh=nU59cXNxIxg1xRf83ZxNAjnBWCbOsi5G1w81Y+YE8yU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Meb4Y+On006rm678MW9DN64znWuDr1LMYi1YqQAn6ojS/MTd919WahW9qrt7E1ia3 0VajTyDOXUhATVqtiDNJ3nRIpTtYVEggVRnriuS0gmtRAsYjk65eYKufGKamsCUgFN uiASwoMfd27S6cQNeGVh1OW2zrtW7oPc2A8cqwjROzuAVJJ3Yn4xhZ9XPiBBQ2zN+z Wx264H/zdGkZrBAlip9e6SEAnZuppZ3B21NwH5YZb9oNzVTbccdl6qpP6VoD5KB6oC QCCqg6v78Xba1zrFulToJyY4u/2lEttKCWhs4rFB4o2F8tNqQ5cbf5MkclxDrP9rXQ mXR8XtWVmqdWA== From: Jisheng Zhang To: Thomas Gleixner , Marc Zyngier , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Palmer Dabbelt , Paul Walmsley , Albert Ou , Greg Kroah-Hartman , Jiri Slaby Cc: Samuel Holland , linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-riscv@lists.infradead.org, linux-serial@vger.kernel.org, Palmer Dabbelt Subject: [PATCH v3 06/10] dt-bindings: riscv: Add bouffalolab bl808 board compatibles Date: Mon, 15 May 2023 00:56:47 +0800 Message-Id: <20230514165651.2199-7-jszhang@kernel.org> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230514165651.2199-1-jszhang@kernel.org> References: <20230514165651.2199-1-jszhang@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1765893768006395051?= X-GMAIL-MSGID: =?utf-8?q?1765893768006395051?= Several SoMs and boards are available that feature the Bouffalolab bl808 SoC. Document the compatible strings. Signed-off-by: Jisheng Zhang Acked-by: Palmer Dabbelt Reviewed-by: Conor Dooley --- .../bindings/riscv/bouffalolab.yaml | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 Documentation/devicetree/bindings/riscv/bouffalolab.yaml diff --git a/Documentation/devicetree/bindings/riscv/bouffalolab.yaml b/Documentation/devicetree/bindings/riscv/bouffalolab.yaml new file mode 100644 index 000000000000..3b25d1a5d04a --- /dev/null +++ b/Documentation/devicetree/bindings/riscv/bouffalolab.yaml @@ -0,0 +1,29 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/riscv/bouffalolab.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Bouffalo Lab Technology SoC-based boards + +maintainers: + - Jisheng Zhang + +description: + Bouffalo Lab Technology SoC-based boards + +properties: + $nodename: + const: '/' + compatible: + oneOf: + - description: Carrier boards for the Sipeed M1s SoM + items: + - enum: + - sipeed,m1s-dock + - const: sipeed,m1s + - const: bouffalolab,bl808 + +additionalProperties: true + +... From patchwork Sun May 14 16:56:48 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jisheng Zhang X-Patchwork-Id: 93738 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp6417326vqo; Sun, 14 May 2023 10:12:09 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7TcW8h5SmYLdg2jjul/5AiKXrTXnqh+0X5m3K0sas50y0NlfJZ6FIUhGDkQKTFKcornIKa X-Received: by 2002:a05:6a21:920d:b0:f8:ea21:7c37 with SMTP id tl13-20020a056a21920d00b000f8ea217c37mr36692250pzb.20.1684084329344; Sun, 14 May 2023 10:12:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1684084329; cv=none; d=google.com; s=arc-20160816; b=ktBykmQfRC1eNt/jesJvyBmzvfWwHharLzcJy8CyJ63V3yFUqnxyZHTWRBcxo8Tyqf s7smZdljMVATA9vb4/w3l9Fi2rXKdmMlbxyRhLy9Fy4GKZzIuzPpPXwE7NZxnCVMa+NP alrw20tt1np47wywxmAL4aB9dw1CoSU+2RGgcDTUyIa9fZr5V+jpzhN5q8vAC8+KXsf4 mbu7M1EoYzQrKfKyRSd44rdrcd+1IVCQ3d0pXY3DFBpdEzuqL4L8C39e+dwz6/VY/40z AXnq9xCk+UK6bvp7Akno53mRd57mX1yTidFUtGdtTVv8F0s3EnrDVPo1ruy7prcjqoxv Suwg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=hAg9m9b5bbuqokDT3+nLnArkQbsszyNus0GGmduwypI=; b=sFDljUM8qMyBNGv7Bat2t9dvNbGLbs/m620FwE3KgRJoMssd3QiRypUb+BCzexXaiz 2Gzq/lpJ/5HMOSIK9a/UbcSeCt9hNsEFjp6JGPSmvMzolcJqE8WJsp5JxD/v4FcWmmJJ cBrEWxvYc2PEsuLIiiHx8zwtbu2cjLxRq5lEbgtDkhb9lY7V8mGuHIBbBc9v6RIuJfX2 1zWuqsd444YOF6WMkuqYKztS+0Hb6Y0Zp/tc4a5JZRALs2DQH0wDvnOBGlOCzVXnIka/ KN8O/nLAERaNCwuxHKbptcab1wO612+q01TAcfVQGMH0+n0Q4gkOe1kzFpc1Ypp1j/hc WgZQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=CDyTcj12; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id z187-20020a6333c4000000b00530802be101si8330190pgz.424.2023.05.14.10.11.54; Sun, 14 May 2023 10:12:09 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=CDyTcj12; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237856AbjENRJP (ORCPT + 99 others); Sun, 14 May 2023 13:09:15 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44510 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234828AbjENRIv (ORCPT ); Sun, 14 May 2023 13:08:51 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A598E4C0D; Sun, 14 May 2023 10:08:29 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 14D0861147; Sun, 14 May 2023 17:08:29 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3C8C1C433A0; Sun, 14 May 2023 17:08:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1684084108; bh=BOyxLfrCWvSizG1Nhwu7D7DzYq+zL8tuApgSf+neFXg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=CDyTcj12XWqlEfQ3Lv0lUbrwtVy+ojFxGHoqe8wVFrA6mtSq7WPfP88clO7mgZ3gi 7BGaNooqq7a4D6qgpX8imo9s6zO79ovmS3gKEo1CEMmJFbEW/iHNmFv1kc3e9S1m5f FzEI0bXQaHHq0Nap1NoBQcFyrcm7hRvZ4R/PvaJHcEZsTsB0Jx7In6aBw2Fl/CaNwQ kiHEbDlDtGcA9pI+mHZxHW4BuChSNc3Y/IfaQbOCMsjQgmy1/GbTmG1GzpVkJGHMm5 kR82BJrCkCodw0QqPGG0mhQKqjOC7VY54TcyC+2CaI+4E9RpTm6d7Oo2JuvFmDWLtD XvW7BcwH1OFtg== From: Jisheng Zhang To: Thomas Gleixner , Marc Zyngier , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Palmer Dabbelt , Paul Walmsley , Albert Ou , Greg Kroah-Hartman , Jiri Slaby Cc: Samuel Holland , linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-riscv@lists.infradead.org, linux-serial@vger.kernel.org, Palmer Dabbelt Subject: [PATCH v3 07/10] riscv: dts: bouffalolab: add the bl808 SoC base device tree Date: Mon, 15 May 2023 00:56:48 +0800 Message-Id: <20230514165651.2199-8-jszhang@kernel.org> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230514165651.2199-1-jszhang@kernel.org> References: <20230514165651.2199-1-jszhang@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1765890409789667398?= X-GMAIL-MSGID: =?utf-8?q?1765890409789667398?= Add a baisc dtsi for the bouffalolab bl808 SoC. Signed-off-by: Jisheng Zhang Acked-by: Palmer Dabbelt --- arch/riscv/boot/dts/bouffalolab/bl808.dtsi | 73 ++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 arch/riscv/boot/dts/bouffalolab/bl808.dtsi diff --git a/arch/riscv/boot/dts/bouffalolab/bl808.dtsi b/arch/riscv/boot/dts/bouffalolab/bl808.dtsi new file mode 100644 index 000000000000..b1132b8cf9e8 --- /dev/null +++ b/arch/riscv/boot/dts/bouffalolab/bl808.dtsi @@ -0,0 +1,73 @@ +// SPDX-License-Identifier: (GPL-2.0+ or MIT) +/* + * Copyright (C) 2022 Jisheng Zhang + */ + +#include + +/ { + compatible = "bouffalolab,bl808"; + #address-cells = <1>; + #size-cells = <1>; + + cpus { + timebase-frequency = <1000000>; + #address-cells = <1>; + #size-cells = <0>; + + cpu0: cpu@0 { + compatible = "thead,c906", "riscv"; + device_type = "cpu"; + reg = <0>; + d-cache-block-size = <64>; + d-cache-sets = <256>; + d-cache-size = <32768>; + i-cache-block-size = <64>; + i-cache-sets = <128>; + i-cache-size = <32768>; + mmu-type = "riscv,sv39"; + riscv,isa = "rv64imafdc"; + + cpu0_intc: interrupt-controller { + compatible = "riscv,cpu-intc"; + interrupt-controller; + #address-cells = <0>; + #interrupt-cells = <1>; + }; + }; + }; + + xtal: xtal-clk { + compatible = "fixed-clock"; + #clock-cells = <0>; + /* This value must be overridden by the board */ + clock-frequency = <0>; + }; + + soc { + compatible = "simple-bus"; + ranges; + interrupt-parent = <&plic>; + dma-noncoherent; + #address-cells = <1>; + #size-cells = <1>; + + uart3: serial@30002000 { + compatible = "bouffalolab,bl808-uart"; + reg = <0x30002000 0x1000>; + interrupts = <20 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&xtal>; + status = "disabled"; + }; + + plic: interrupt-controller@e0000000 { + compatible = "bouffalolab,bl808-plic", "thead,c900-plic"; + reg = <0xe0000000 0x4000000>; + interrupts-extended = <&cpu0_intc 11>, <&cpu0_intc 9>; + interrupt-controller; + #address-cells = <0>; + #interrupt-cells = <2>; + riscv,ndev = <82>; + }; + }; +}; From patchwork Sun May 14 16:56:49 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jisheng Zhang X-Patchwork-Id: 93745 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp6438456vqo; Sun, 14 May 2023 11:06:59 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7vy1K4p0z1gzMSid38kLWNNO+MlHXw4v9qz4fmIk3gToQSjpZDAyYqSGaduUd4+0f7yEPv X-Received: by 2002:a17:90a:1141:b0:250:43a8:6551 with SMTP id d1-20020a17090a114100b0025043a86551mr29713090pje.35.1684087619068; Sun, 14 May 2023 11:06:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1684087619; cv=none; d=google.com; s=arc-20160816; b=O6eqJbQ5eFb2WyOiOYJ7mpGdD9LMKLya5wVk6gtMnerIyAKTnjl6OMYvzL8PUpkGWF FtdZplCgUv43tPSXFw+897Tkji44AwdxhkA0j1sqfMLC597tH7agJAKOX6VZss7ATa4M eY1vH2ZXhfmwu5OdzQyV33NobOG/X54aNAtpKymdE2t/b9zd18qNLDc/H0l/X+hup7Fp 3wg2YLr+YlDJ3PgJS517P9pAy9mWIW/iAonAQ1JkKl4HpFLc9d38qi1UBty1jfDqmxGL 1zTRNqllLF2vHS/K7iODGjkL8y/cIph105FZ4JRAMsJSfU/Tm4+QM3CKS5EFcI+1zMfx IorA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=qOlFEq5P4gDVZIz7vB2NJTf2fiFUr3VjaJNSzI+XBP0=; b=E7ssdIpdhlsT9JN8JC0dXaR5qtsfrFL4OGRDgT+zbp0Mq4ntIdIzhyIMHfbfWfgBEV ikWOyqVKgZePhfBgxRuyNpRUqUoCPnls1Yx1Siru/RG/pdicBWOuv/3tr+viLObrwAPm Qfqbn1g5mT9ZPsnTcn6WnqvdasjeaKRrVsbz1ipLB0sk1p+kdYOGxRYw+QsWHmIfgCRq Jj9Cesd89453vBKe7ZRzQJH1t7eN37I/JVYQtW16baVLyc5tFNxUAm3cvynFySP+wSgG JI2vNa0H8FYua0YTWpMq+BgV3bavgkn62VjoOf9iFtY6y9jLbT+NLnl9WhrIUmX2C62q A4ew== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=ihBNTFna; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id ep23-20020a17090ae65700b0024de12511casi27248186pjb.56.2023.05.14.11.06.43; Sun, 14 May 2023 11:06:59 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=ihBNTFna; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237928AbjENRJY (ORCPT + 99 others); Sun, 14 May 2023 13:09:24 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45256 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237913AbjENRIy (ORCPT ); Sun, 14 May 2023 13:08:54 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4866B4C32; Sun, 14 May 2023 10:08:33 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id CA57061493; Sun, 14 May 2023 17:08:32 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id EBFB0C433A1; Sun, 14 May 2023 17:08:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1684084112; bh=gEHB+BIFuaGSJHd+ja+x4RxCS37TdEdu060uta3gMMQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ihBNTFnan2EZkm49AaN806FvuMTON5QSRPN3hdnqg+eA3jpmwI4N8F8ydPm18L2r0 DWejYiGEcphJMOzcExwKdINwyQjj+GJbCM3peLuBrbMT6bYz5zFAxwSx/4zkgFB+oO nkXcLAQdXkPyCBqfGZxggLyPWdb/L4iXbeOKyPrhclzlUrF/MGtwqgvn6DkaGpAYue Ea20MRn2+KX1qP9pyxvkJ8tZfG9wiT+IZEoYpmkolBCwJx94R+DXZTSisBwXx/40Ub sxZcrwCU3lRnX/Jya3xDxMSUaAqIG3rh5XEbxWVvP33POtZ0HLUYgdekABFVENlDJI KJehavSR2/hQw== From: Jisheng Zhang To: Thomas Gleixner , Marc Zyngier , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Palmer Dabbelt , Paul Walmsley , Albert Ou , Greg Kroah-Hartman , Jiri Slaby Cc: Samuel Holland , linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-riscv@lists.infradead.org, linux-serial@vger.kernel.org, Palmer Dabbelt Subject: [PATCH v3 08/10] riscv: dts: bouffalolab: add Sipeed M1s SoM and Dock devicetree Date: Mon, 15 May 2023 00:56:49 +0800 Message-Id: <20230514165651.2199-9-jszhang@kernel.org> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230514165651.2199-1-jszhang@kernel.org> References: <20230514165651.2199-1-jszhang@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1765893858761896649?= X-GMAIL-MSGID: =?utf-8?q?1765893858761896649?= Sipeed manufactures a M1s system-on-module and dock board, add basic support for them. Signed-off-by: Jisheng Zhang Acked-by: Palmer Dabbelt --- arch/riscv/boot/dts/Makefile | 1 + arch/riscv/boot/dts/bouffalolab/Makefile | 2 ++ .../dts/bouffalolab/bl808-sipeed-m1s-dock.dts | 25 +++++++++++++++++++ .../dts/bouffalolab/bl808-sipeed-m1s.dtsi | 21 ++++++++++++++++ 4 files changed, 49 insertions(+) create mode 100644 arch/riscv/boot/dts/bouffalolab/Makefile create mode 100644 arch/riscv/boot/dts/bouffalolab/bl808-sipeed-m1s-dock.dts create mode 100644 arch/riscv/boot/dts/bouffalolab/bl808-sipeed-m1s.dtsi diff --git a/arch/riscv/boot/dts/Makefile b/arch/riscv/boot/dts/Makefile index f0d9f89054f8..133e6c38c9b0 100644 --- a/arch/riscv/boot/dts/Makefile +++ b/arch/riscv/boot/dts/Makefile @@ -1,5 +1,6 @@ # SPDX-License-Identifier: GPL-2.0 subdir-y += allwinner +subdir-y += bouffalolab subdir-y += sifive subdir-y += starfive subdir-y += canaan diff --git a/arch/riscv/boot/dts/bouffalolab/Makefile b/arch/riscv/boot/dts/bouffalolab/Makefile new file mode 100644 index 000000000000..5419964e892d --- /dev/null +++ b/arch/riscv/boot/dts/bouffalolab/Makefile @@ -0,0 +1,2 @@ +# SPDX-License-Identifier: GPL-2.0 +dtb-$(CONFIG_SOC_BOUFFALOLAB) += bl808-sipeed-m1s-dock.dtb diff --git a/arch/riscv/boot/dts/bouffalolab/bl808-sipeed-m1s-dock.dts b/arch/riscv/boot/dts/bouffalolab/bl808-sipeed-m1s-dock.dts new file mode 100644 index 000000000000..aa6cf909cd4d --- /dev/null +++ b/arch/riscv/boot/dts/bouffalolab/bl808-sipeed-m1s-dock.dts @@ -0,0 +1,25 @@ +// SPDX-License-Identifier: (GPL-2.0+ or MIT) +/* + * Copyright (C) 2022 Jisheng Zhang + */ + +/dts-v1/; + +#include "bl808-sipeed-m1s.dtsi" + +/ { + model = "Sipeed M1s Dock"; + compatible = "sipeed,m1s-dock", "sipeed,m1s", "bouffalolab,bl808"; + + aliases { + serial3 = &uart3; + }; + + chosen { + stdout-path = "serial3:2000000n8"; + }; +}; + +&uart3 { + status = "okay"; +}; diff --git a/arch/riscv/boot/dts/bouffalolab/bl808-sipeed-m1s.dtsi b/arch/riscv/boot/dts/bouffalolab/bl808-sipeed-m1s.dtsi new file mode 100644 index 000000000000..5026de768534 --- /dev/null +++ b/arch/riscv/boot/dts/bouffalolab/bl808-sipeed-m1s.dtsi @@ -0,0 +1,21 @@ +// SPDX-License-Identifier: (GPL-2.0+ or MIT) +/* + * Copyright (C) 2022 Jisheng Zhang + */ + +/dts-v1/; + +#include "bl808.dtsi" + +/ { + compatible = "sipeed,m1s", "bouffalolab,bl808"; + + memory@50000000 { + device_type = "memory"; + reg = <0x50000000 0x04000000>; + }; +}; + +&xtal { + clock-frequency = <40000000>; +}; From patchwork Sun May 14 16:56:50 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jisheng Zhang X-Patchwork-Id: 93740 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp6437726vqo; Sun, 14 May 2023 11:05:32 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7Isok5BKQ/zpTrsZG9ltYLD4QTP7uSMCpBYFmks+oTf0OTsmWvq/Xpn+7Z9ikSiilB5TtD X-Received: by 2002:a17:90b:4f46:b0:252:aa5e:e54f with SMTP id pj6-20020a17090b4f4600b00252aa5ee54fmr9757314pjb.13.1684087532216; Sun, 14 May 2023 11:05:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1684087532; cv=none; d=google.com; s=arc-20160816; b=dXqlkcbfYT8HkAX9VypX0Pxvwa2WYigzAlSKgK8Sk5f1Q502sh8YtsO3ZXO83KsOdA dUlaLeidzwjB+2ZjuBuXjiraW83su6z7xy/Vzdyzvc0lk+fcR0d4T51Z/MQdTxZ5t6f4 anyZl08Uu3e5foh5/J+gVdSIcNev9UBUjWO2EAqdreD4kbBybCVHFaV0g7WE69cjZJzr 4tvArZbhIulmx+Z6WWGQEx9z/HZjbMuU4VMdc2lxFYdc02T4Z6WMp+qDCfy5ytJxh5BK PVO1zxpNZhiktATKLR8WD5oIjbR2xo7s+cr0ntHp7kFO6EIliM7P5Noi+iZNt81wXyPz k53Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=6giR9HteHxaAXcEu7YdZYBRNbt1WGKq9Qg1yW1XC93E=; b=Ij03rkR2WYfEmAKccHU0HpqTPYSdofyvCPYdSV1yy4GJ4S+CGjAoBYEMB+gZnSeXAV e2Kx6cq3/isOB4pZF8n9aIRbXBETMnEChXezYy+CtmneLgGqcGKU35QUcDX3qVe/etO7 YUxkhSxStBJJ/W2zWuloIPVv+NnS7Vk0pNFGMprI6nD0IxcR/FjuziFgiokNoJFuteQl N/gLjYXLpGudQpUpFwlfn7xJ0fF/dN291dC2DvWq2XGv68CzEPGvsZY8rmxYB7lN8sgl PH5hmXCf1q7b5Dz7PRYzNWfJkd34iw2bZpQoA0URlx02FN+jxH3M0mV1Jm46QmvRwnjg MqtQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=FEocH1Hn; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id h1-20020a17090adb8100b0024e29c5c06dsi29579894pjv.12.2023.05.14.11.05.08; Sun, 14 May 2023 11:05:32 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=FEocH1Hn; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229672AbjENRJ3 (ORCPT + 99 others); Sun, 14 May 2023 13:09:29 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45380 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237967AbjENRJC (ORCPT ); Sun, 14 May 2023 13:09:02 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 329624EEF; Sun, 14 May 2023 10:08:37 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id B3C6A60E84; Sun, 14 May 2023 17:08:36 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id A9D42C43442; Sun, 14 May 2023 17:08:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1684084116; bh=Y6wp2lfk73IXtZCQpUDT1aZp/tHzlT5TxGlvlcAf9+8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=FEocH1HnkFFZiRo8KrZfdAd4+8Xfac2zWY3mdb6PcFPqWZo8LfaK7cFADFxARuE2z /RKaWc723VdOoVaaKBvFAYG+Zst0IzLp1bWbr8J7aTMlD/qahvwAXsORMXrW9HtUfc z+lt9FkL1CoT1GmEsuY0Z7APXWzobAbK+9MvUkDhsKXh3UZYGm2YntAjevY3cBD1UY XBOrsVNLhTTRJthNoljcLqpiN1+eLF0DTwU1B9SLq8CX/hhdduOtm8u1r6Xgtp9Z9j 7FvcsUdRKw5LMju2U1bZ0KUiHTs34ytfXsSO/zDIgbobAU3wlgKXRd3lkmWf9I3yuO NfzTXeX6xqi2w== From: Jisheng Zhang To: Thomas Gleixner , Marc Zyngier , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Palmer Dabbelt , Paul Walmsley , Albert Ou , Greg Kroah-Hartman , Jiri Slaby Cc: Samuel Holland , linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-riscv@lists.infradead.org, linux-serial@vger.kernel.org, Conor Dooley , Palmer Dabbelt Subject: [PATCH v3 09/10] MAINTAINERS: riscv: add entry for Bouffalolab SoC Date: Mon, 15 May 2023 00:56:50 +0800 Message-Id: <20230514165651.2199-10-jszhang@kernel.org> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230514165651.2199-1-jszhang@kernel.org> References: <20230514165651.2199-1-jszhang@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1765893768481730981?= X-GMAIL-MSGID: =?utf-8?q?1765893768481730981?= Add Jisheng Zhang as Bouffalolab SoC maintainer. Signed-off-by: Jisheng Zhang Reviewed-by: Conor Dooley Acked-by: Palmer Dabbelt --- MAINTAINERS | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index e0ad886d3163..0ae136f2656f 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -18115,6 +18115,13 @@ F: arch/riscv/ N: riscv K: riscv +RISC-V BOUFFALOLAB SOC SUPPORT +M: Jisheng Zhang +L: linux-riscv@lists.infradead.org +S: Maintained +F: arch/riscv/boot/dts/bouffalolab/ +F: drivers/tty/serial/bflb_uart.c + RISC-V MICROCHIP FPGA SUPPORT M: Conor Dooley M: Daire McNamara From patchwork Sun May 14 16:56:51 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jisheng Zhang X-Patchwork-Id: 93743 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp6438027vqo; Sun, 14 May 2023 11:06:06 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7IllNUkwcbp/IX9oiNf7z3LTKjELc5JvoewL+xSxlR5gEMIgFxwP79vssCbSteK9BgXgFT X-Received: by 2002:a17:902:ced1:b0:1ac:5def:d203 with SMTP id d17-20020a170902ced100b001ac5defd203mr34693736plg.35.1684087566252; Sun, 14 May 2023 11:06:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1684087566; cv=none; d=google.com; s=arc-20160816; b=vqhygnRiM0UEpEXWjwETjtatwnBPuHPQYEnSsAxEv0jZ8/8ZOJZ2M/AHcFys+JH4qY nAlf4b0PTWmAacUNgSxtGEB+k5RdH+SVQ1wgsTXr7WsCL+a7E9VTk5rxHeDcKP1B9h5j 9JGyhWj4msNIryzpAy6MPUjNf+aEdeg+AGW0bGMBjW9G0Ul09x7fuC9i1U47FIHUgEQu 6jDQwLaWpJnmRb4kQdlGR4GolTIX4uuIIFgNYPG4M+nBNo24I95XycbVHCU7KxbqR8fd iYhCSdGuYlFuP9a9rS6KISoq1OfLJS1R3Kbtd3Z9r6+22AsnmS0Wt8Cal4/W74BKpcBe nfrQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=01BMhwU653ZpWtLeoSIgvIGsWRfDWUABg+2LyCZO3u4=; b=j9yqXLwFKdb8xCFyf3UDz3fxICf0fVqqZCrWv9LYDB5idr7j52l4mBYaJd337Ov6OS QJFbWrMUBAb5khFpbkVoJG+wJBhBN8HnjlyaAht0WUM/s/i5CEYxBmsCyt0JNyTHV2Tp O/cHd8TRAeGzAaQnu/CUTXnaKFKouvk/au9vskzlj9IxBFd8F4+uovBsUPuuoDmik7zV psaWCG1ONmCCiuf42B32cIowpxPjggKtW7jD1EM1pzNpt6Px3BOwUCMQJrnfXW3cOp76 tVpOfbfwBK6Kt43RdX1JPcqzPad6G7IPbtYHZT9LwaDPPiw8gWzpVlvYnjY9GJhYWTQ0 vfpQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=T9eKUXa4; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id a13-20020a170902eccd00b001ac5896c746si15261143plh.329.2023.05.14.11.05.53; Sun, 14 May 2023 11:06:06 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=T9eKUXa4; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237979AbjENRJk (ORCPT + 99 others); Sun, 14 May 2023 13:09:40 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44808 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234645AbjENRJF (ORCPT ); Sun, 14 May 2023 13:09:05 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 154CA4C3F; Sun, 14 May 2023 10:08:41 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 9D31060DC6; Sun, 14 May 2023 17:08:40 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 967D3C433EF; Sun, 14 May 2023 17:08:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1684084120; bh=Y38ByHJH7UauSxGlzX9LVYgXc2kOZJd7HsQTY6MaJRM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=T9eKUXa4t1eEQkTEKJLjaaHjCuoTExJKNPWr0JGfrhvfYkAQ5Ebanaq7Ppb8ByUpa TME4SSfsTheQVELjlsvbnowHJAdeZMbKNuszQi5lM1WfIRqbgUc5Qx1LgjFGR7emLE FYl1XqEn6ozNKScBpvAJ6IOVE7qg/QsaI3Y1S4ra0aI/LQASUd+0/ZSI7JcvHqct3+ aaf+qKYU0H7xlsE960QTx4Y8dGg15dPQPyG3fZmmtsKI8oKrd0JURdIfLY9U6JFemQ Xmdo7ZLvvJdYtNjjMGyzxoa6QvxlELNxtSbSVbPoLv0NRQ1pN/ob/MWswoMzsaUPML hb20TRqyvDgtA== From: Jisheng Zhang To: Thomas Gleixner , Marc Zyngier , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Palmer Dabbelt , Paul Walmsley , Albert Ou , Greg Kroah-Hartman , Jiri Slaby Cc: Samuel Holland , linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-riscv@lists.infradead.org, linux-serial@vger.kernel.org, Conor Dooley , Palmer Dabbelt Subject: [PATCH v3 10/10] riscv: defconfig: enable BOUFFALOLAB SoC Date: Mon, 15 May 2023 00:56:51 +0800 Message-Id: <20230514165651.2199-11-jszhang@kernel.org> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230514165651.2199-1-jszhang@kernel.org> References: <20230514165651.2199-1-jszhang@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1765893803518229094?= X-GMAIL-MSGID: =?utf-8?q?1765893803518229094?= Enable BOUFFALOLAB soc config in defconfig to allow the default upstream kernel to boot on Sipeed M1s Dock board. Signed-off-by: Jisheng Zhang Reviewed-by: Conor Dooley Acked-by: Palmer Dabbelt --- arch/riscv/configs/defconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/riscv/configs/defconfig b/arch/riscv/configs/defconfig index d98d6e90b2b8..e8d77b55ce86 100644 --- a/arch/riscv/configs/defconfig +++ b/arch/riscv/configs/defconfig @@ -26,6 +26,7 @@ CONFIG_EXPERT=y # CONFIG_SYSFS_SYSCALL is not set CONFIG_PROFILING=y CONFIG_SOC_MICROCHIP_POLARFIRE=y +CONFIG_ARCH_BOUFFALOLAB=y CONFIG_ARCH_RENESAS=y CONFIG_SOC_SIFIVE=y CONFIG_SOC_STARFIVE=y