From patchwork Thu Mar 27 11:27:04 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nikolaos Pasaloukos X-Patchwork-Id: 14031070 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id E6BCDC3600E for ; Thu, 27 Mar 2025 11:29:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version: Content-Transfer-Encoding:Content-ID:Content-Type:In-Reply-To:References: Message-ID:Date:Subject:CC:To:From:Reply-To:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=SnBK5n9qKk/7KSlktWAI3Tj/znrldYWlNcUlWHYml3U=; b=ph95jW0Hy1jJpNMXIasMcGM81k ja5ovz3e0rpZE7GwIZSkAcMnnHlVaklGkxAxZsd6Taoaocd60ewyAjS8+WQUPwmii/fIXjgXDrVXs OUK5booHGiBYSyKZkJn9lo3rXKE1odBTsGFHH3QfodLmCkgDWxT0sW1K4CJAfhYE1W8xzAIhz6+sV O1WJyMmJAh8PnYCVdgG8CzuzaUvuasTNqhcKzX8XXI+sQ/5tdDllJNPNICbgZZ/34lrIY2pWpvZVA freHAu+28/ZhbGiyW0cnwujNBEpHQcPY3U4Jq7hBbQKTC6lQAzVk8CEGtT39KSQPPWxFEhOXTXc3J FYaea5kw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1txlQP-0000000ApEN-2SIJ; Thu, 27 Mar 2025 11:29:29 +0000 Received: from mx08-0063e101.pphosted.com ([185.183.31.155]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1txlOg-0000000Ap8H-0N76 for linux-arm-kernel@lists.infradead.org; Thu, 27 Mar 2025 11:27:43 +0000 Received: from pps.filterd (m0247494.ppops.net [127.0.0.1]) by mx08-0063e101.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 52RBQgQE001632; Thu, 27 Mar 2025 11:27:25 GMT Received: from ma0pr01cu009.outbound.protection.outlook.com (mail-southindiaazlp17010006.outbound.protection.outlook.com [40.93.131.6]) by mx08-0063e101.pphosted.com (PPS) with ESMTPS id 45kwsh0ty9-3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 27 Mar 2025 11:27:25 +0000 (GMT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Q22KNFmkMynCvzUdVRQBd5xT0FBLvv/IBEsKIDBfZkgkq4Q3FsPEn6Rsh+LOAT77LD/SvESX8iUmRhrQOkVmMIMn3OTj5H36tzxy5MrbQb53agP3kfkCqo0oPr9QwLrOUhIjyluanRHFFmKjK/90TsISRmntZJGdqiKtnTGB/DzBjbY4QvUool5VMOTymDcO+Wk73B+/uoT7lmoIAArE6KfMQYiZQei+EXlDIybmgy7UDnYL+6JME/6lHsxabNHgHFs3dGB3EpjI9AYF4yXt0leKgCB6CVCfEGEYMrN6KYHzUoC9424rLSs4Q7jBdFEFZ+gk7ogcUsiAVw6yeK/uMw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=SnBK5n9qKk/7KSlktWAI3Tj/znrldYWlNcUlWHYml3U=; b=nzQf7z8bnKkQSjOvMgbTeNHHJnrmghR5i+nijGTUnJf90SXx1VjqZwh9xSxIt5nT6lp09xo2Ew5tzo+KyG7sRE6n1BkwCdacQw+1KFHO8DRxIg4mzR85ZSC9kQZEScYNvdK2BeJEEuUYb+sk+uoGEoGPwbo+Mab0DIR751hgdeqimiPVHVE8MhXo+S7TvCwYRarqRhTu5Wwb1VOr+cGKVz1dpEXXz9rzx7Ahn5FEiea0QP73h93s7aOjmLW+XaSlIturnII6zDF22cmNyqPpBswHX1r5sePjod5vBvp7bhYqCf3d3U/vuIXlPYKTpkXNfiK7qp33vtT5wuW/QwHC/w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=blaize.com; dmarc=pass action=none header.from=blaize.com; dkim=pass header.d=blaize.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=BLAIZE.COM; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=SnBK5n9qKk/7KSlktWAI3Tj/znrldYWlNcUlWHYml3U=; b=dMXTv7eVoUm4xdjGTi25IjRXIHHVVtWA7JoMVXZgSvaxqPQWPtpcv5URbRyiphtr4cw9ZFy7/KRPTCo2ofPnjxNucRZQ6lp9DEjLFQE0ajNozodMLd60stED6bX7glOIS1OSqUSuSZvl1ip6upL8ueq0sabISSDNRC7Sgifj2UQ= Received: from MA0PR01MB10184.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a01:12a::5) by MAZPR01MB8910.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a01:cd::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Thu, 27 Mar 2025 11:27:04 +0000 Received: from MA0PR01MB10184.INDPRD01.PROD.OUTLOOK.COM ([fe80::309a:12cf:74a4:5655]) by MA0PR01MB10184.INDPRD01.PROD.OUTLOOK.COM ([fe80::309a:12cf:74a4:5655%4]) with mapi id 15.20.8583.026; Thu, 27 Mar 2025 11:27:04 +0000 From: Nikolaos Pasaloukos To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , James Cowgill , Matt Redfearn , Neil Jones , Linus Walleij , Bartosz Golaszewski , Matt Redfearn , Catalin Marinas , Will Deacon CC: "devicetree@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-gpio@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , Nikolaos Pasaloukos Subject: [PATCH v2 1/3] dt-bindings: Document Blaize BLZP1600 GPIO driver Thread-Topic: [PATCH v2 1/3] dt-bindings: Document Blaize BLZP1600 GPIO driver Thread-Index: AQHbnwsq87fV8UldSEm/ELp3lwU1VQ== Date: Thu, 27 Mar 2025 11:27:04 +0000 Message-ID: <20250327-kernel-upstreaming-add_gpio_support-v2-1-bbe51f8d66da@blaize.com> References: <20250327-kernel-upstreaming-add_gpio_support-v2-0-bbe51f8d66da@blaize.com> In-Reply-To: <20250327-kernel-upstreaming-add_gpio_support-v2-0-bbe51f8d66da@blaize.com> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MA0PR01MB10184:EE_|MAZPR01MB8910:EE_ x-ms-office365-filtering-correlation-id: 18922e31-4eef-4b42-7054-08dd6d224cf6 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|366016|1800799024|7416014|376014|38070700018|921020; x-microsoft-antispam-message-info: =?utf-8?q?UIXkRKiOkzxNInMpqJdAU6ycB9z42xZ?= =?utf-8?q?IfLlR2vDxF9LhLZs9edir7DOML2+uG4Tg4ujdeaR8f9xk+BtR1AUj20L1cWV1qZsh?= =?utf-8?q?rl3LR6VB/8nKT1uN5qO2imBvhvoI2cbW28zV1O9eCzlGuApouPNQds0yq0iGotxUv?= =?utf-8?q?TUxqZicmY0+61Nzx6k6BiQlgoe9qQ4b0DSQvkymEpFkf9vFxm4AVrl35FKGDpREAs?= =?utf-8?q?JQ8ozaXUF1Ikwe0PXBr840neWP6dfgrJR+of1J9Ll3wHVn+ipmLxOvVvcn6lszH7V?= =?utf-8?q?GMv+gzuQ2JCXyDctSDI2fqbXI4xQUIsJmUweWBAetMDFPQqKJbnx2+2LIBNNKVDnQ?= =?utf-8?q?3jJXX56CurZV8/hSZPGBI2AdnuYOibMJ6zQPABzxPq+5zcZ2CAb2gZdst5xt/GveW?= =?utf-8?q?qKs/htjLHSGskfweqmWlkDdOGqFJnH1NbVt93JTLoGvDaraSXIgy6ka/yk0cEWvVh?= =?utf-8?q?P844HflrZdB7Joy386NWSLGPwMuS1QcnY20+uugrNf1ZT47vetJJvBq5HplgsPZg4?= =?utf-8?q?u47lIO+1+yHIzyhxvsKWLEM0FLVOehOBt/2Ud5BdVQfvYi+6dpCT1Qc5Cgx/JOX3l?= =?utf-8?q?rM04khsPVg4E2n7Se1tPpAH+VCFc/H6Qf/5xmzGmLQev7t0AjZ0ox/22TF9zubPm/?= =?utf-8?q?4eJP3FGs494A0kQgP/Mu7pMRD5beGWCdP7LYchtu+2DR5nO/TOVa6NpjZucyq4dtS?= =?utf-8?q?hFcpGmAx6XqCmTauXj6rePwR/6g23gcySBEobMZeAebmpWzKNt+17JRlxzS0DmxB/?= =?utf-8?q?EFuZmUoU03IA05UaHUIAwDVPJ1yuwMX789uBtilxmR54W3be6SW8BkRO4fm6aw030?= =?utf-8?q?vaNeCfTYbZAvlWAlzQnxp7YHUYfFX6gwny5VWXvez9vsYEVthAHiBGlKJqqB/u5Sr?= =?utf-8?q?lFZhkaPlwvh+bS2epSCxwiJ3tq0NunwoOgKt77jMGgbBRkH1AChhJW5FtoOn93u3R?= =?utf-8?q?qdopEaJF2d8Re7kib4Tb3BkLyaB+OcscTb5g3kkukqMUz8P4eyNe52NAneBoRhuff?= =?utf-8?q?sTe6zQwRsqgR6FmMgU1nNBv6yMSiY358W9XGoJITlVrt9TSVP2Eczggn0SV00qhUd?= =?utf-8?q?7PJFASui/+OkZUtY+b01fWTQ4vL96Rsmf/7vQeHftPimB1PAuOB6d8uHgqqn6x9Fr?= =?utf-8?q?OEhvZy6iKpHLIF65aH3tT2qU33KJqbiL7uTqyQxwHA9V71GOprp112ne66BJMhDgd?= =?utf-8?q?YQvlOJal8gn+itBgKYfIU/iTj4i22ofxed4mgd1hPJtnqDAgdi3alQj951q8eleDb?= =?utf-8?q?ZMl4bdwbDLJxLNFDOCXilKNbIPtb6jsVagxagJ9FCXnHelJ93hDZ7JAHv/v6QsgVJ?= =?utf-8?q?qnQEb68p230ARq9Lwm6ytYNGa6Jv009TnQ=3D=3D?= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MA0PR01MB10184.INDPRD01.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(7416014)(376014)(38070700018)(921020);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?q?KeryzfA6BIqJXXT1jHifxXPeY2M0?= =?utf-8?q?KASRMYYtufzyGATe7CFnuc5+x+kM2YY1xFJCHd5i2vjkaBAaqOrS4NfvIIfsSWDZ0?= =?utf-8?q?gBH1XmEc6593z3Ct5XEuNI1zzBHr9Z2DMtuHFJJsqG5Nti4p4PMoyHC0oPkRZ8bx5?= =?utf-8?q?G1qBC8Cw0OWOojKfYhmGsDQLSyC32ao2iVlTo11oru7kSM9IB30KZywB/RkYuja4F?= =?utf-8?q?l1DmNa3RE3QEueeGo6qkvN6JI4+FCpLXhFJihLu2lp++7JPEFyk/ZvnsFK1lV/IlF?= =?utf-8?q?AxE3Vuy2pnO6fg00zlnSnS7BzObeM9gt7hhwK8k13FEnUAeuxXN2OvfxGWhPFH+Wt?= =?utf-8?q?oKCSP3PKh815AgmUEHFt/tMZhOcuInQ/HFmjAmazAUnG8VrdVOv+BlLyuyqWjuBuJ?= =?utf-8?q?6Hpq1Clpt9fn1uWZUDBV/6UGKN3BkXcRn2dF9/k41x1yrHBHl1hJ8AJh93U8jxoGf?= =?utf-8?q?ixNBv9bG8dDf779ervwecUIxLSRYxCnHkmcA7nuVFPjHEhZv5wUNMQCdtW2kyrmRt?= =?utf-8?q?s8cXoe9YVeOZci97s8JKRTmvTQpIG3bL7UX0W1Du47HtIB9jhoPjQg9Pr/yMa2xH9?= =?utf-8?q?awm5PBfcqVBkeHWtZTbcGGkyw9R0VdoftCu7cMJbMmIBCYjBBjAKb4suU6ahfrzVj?= =?utf-8?q?guPGvHgCIl+vBBZpI+neqcOpb7zHtJTKhjR3rrEV1C5ODl1N7SfkQ7ZO6mAjdweWI?= =?utf-8?q?D0E2y/4klKQVdNRp/ekDywIQXNKzti1pSKPvkRyTyrp31vbbsl0QdGB2+/Y0y+q50?= =?utf-8?q?3oMEkxeVH3TcddF435ynGt9gUAZ3EvPNtwL0ouN9XpqbvW+rTZFGzdYSclQZpJD7A?= =?utf-8?q?yB1ezk0MJZyQIKoXyxeoilEs/pfBXs3TzR8leMwXHsZozBNrta5wSMOadxF8zATwV?= =?utf-8?q?q/gk7WMD3dJU6/2ejtEwcQBzCkQM9ma6fP8LW1WJiLXqIOiAss5oi2OqaHuGRErER?= =?utf-8?q?UxozNJYggB5f2hUZlrNd4zXQ8koWsG6NiuerNjiQMeG9tnTLFmxno9I2r4Ah4A31M?= =?utf-8?q?JzdfCCSpNWxcohLSTSGckt7mXqhjXSWvUYv4Wc9etvt4A0OLANBx668BeNvAh6y5l?= =?utf-8?q?EBPQmsyQKLAbX34HquTmUQGDenSzhICGAYTSV2+a+fjrLBC9EMkqOG7zL803tMcGf?= =?utf-8?q?nwQnkQj5MKPA/+INCczWjpk1ua9wrPjrOJmSwsBQotxrviRDdV1Vl2rBkhgKV6D9f?= =?utf-8?q?oVMEmjG++mcAmb0N6hBwjD4iT4a7gIBMVa3xB3NmlRUSOp3xJ+1HuK/qqaFeS5Uf2?= =?utf-8?q?HhPj/9qj5yAat/bw+AMxsM1reTcAyEmaETULSyZNV0XWSytZs1iDc4KNegWBefp3+?= =?utf-8?q?9B0Kauv27H225P26RJN9rr6KezFlHEefFPM3clhVaUv+Fz07G2t3RYt3P/3czbNw9?= =?utf-8?q?x2k9HIgnBKjnq8EeKcEF1zYZvRiixqfHymlHy4jOoTMmddicXqa8ZUiM/1bUbkq5H?= =?utf-8?q?W2XMTNCNIVMKmuAFIHmHXyr2Is9bKIW5NHcbUwa5Btn1oGX+26TRN8x/2DZtCp2uk?= =?utf-8?q?PB7tmmIIN9oq8E2GB36aSqvG73VRuidSpw=3D=3D?= Content-ID: MIME-Version: 1.0 X-OriginatorOrg: blaize.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MA0PR01MB10184.INDPRD01.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 18922e31-4eef-4b42-7054-08dd6d224cf6 X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Mar 2025 11:27:04.3812 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 9d1c3c89-8615-4064-88a7-bb1a8537c779 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 5EcG834oEIN6vqYBXi7WBY/Q76MgCsWgB81sOtIDqx/V0yMqJ/f8yFPI8o4EZBZMTHnFS2qttPMbS63scvII3MEYkSCmK9gK9Rm8dypZsSw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MAZPR01MB8910 X-Authority-Analysis: v=2.4 cv=RpjFLDmK c=1 sm=1 tr=0 ts=67e5361d cx=c_pps a=TXs1g+7sIME2BPo3OSn30g==:117 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Vs1iUdzkB0EA:10 a=H5OGdu5hBBwA:10 a=-5LYVjoNHPMA:10 a=gEfo2CItAAAA:8 a=SrsycIMJAAAA:8 a=TTxV7h_1yqWNZ0CMU5MA:9 a=QEXdDO2ut3YA:10 a=sptkURWiP4Gy88Gu7hUp:22 a=zapPnUM7SFj2ezx6rUw-:22 X-Proofpoint-ORIG-GUID: deprWkD7PhyZvTQQAZKwhZ-NtS3wm5iu X-Proofpoint-GUID: deprWkD7PhyZvTQQAZKwhZ-NtS3wm5iu X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-03-27_01,2025-03-26_02,2024-11-22_01 X-Proofpoint-Spam-Reason: orgsafe X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250327_042742_433582_DDAA54A2 X-CRM114-Status: GOOD ( 15.41 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org This is a custom silicon GPIO driver provided by VeriSilicon Microelectronics. It has 32 input/output ports which can be configured as edge or level triggered interrupts. It also provides a de-bounce feature. This controller is used on the Blaize BLZP1600 SoC. Signed-off-by: Nikolaos Pasaloukos Reviewed-by: Conor Dooley --- .../bindings/gpio/blaize,blzp1600-gpio.yaml | 77 ++++++++++++++++++++++ 1 file changed, 77 insertions(+) diff --git a/Documentation/devicetree/bindings/gpio/blaize,blzp1600-gpio.yaml b/Documentation/devicetree/bindings/gpio/blaize,blzp1600-gpio.yaml new file mode 100644 index 0000000000000000000000000000000000000000..8b7842331a22b7b9fbfa42b9c711da99227de2e4 --- /dev/null +++ b/Documentation/devicetree/bindings/gpio/blaize,blzp1600-gpio.yaml @@ -0,0 +1,77 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/gpio/blaize,blzp1600-gpio.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Blaize BLZP1600 GPIO controller + +description: + Blaize BLZP1600 GPIO controller is a design of VeriSilicon APB GPIO v0.2 + IP block. It has 32 ports each of which are intended to be represented + as child noeds with the generic GPIO-controller properties as described + in this binding's file. + +maintainers: + - Nikolaos Pasaloukos + - James Cowgill + - Matt Redfearn + - Neil Jones + +properties: + $nodename: + pattern: "^gpio@[0-9a-f]+$" + + compatible: + enum: + - blaize,blzp1600-gpio + + reg: + maxItems: 1 + + gpio-controller: true + + '#gpio-cells': + const: 2 + + ngpios: + default: 32 + minimum: 1 + maximum: 32 + + interrupts: + maxItems: 1 + + gpio-line-names: true + + interrupt-controller: true + + '#interrupt-cells': + const: 2 + +required: + - compatible + - reg + - gpio-controller + - '#gpio-cells' + +dependencies: + interrupt-controller: [ interrupts ] + +additionalProperties: false + +examples: + - | + #include + + gpio: gpio@4c0000 { + compatible = "blaize,blzp1600-gpio"; + reg = <0x004c0000 0x1000>; + gpio-controller; + #gpio-cells = <2>; + ngpios = <32>; + interrupt-controller; + #interrupt-cells = <2>; + interrupts = ; + }; +... From patchwork Thu Mar 27 11:27:05 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nikolaos Pasaloukos X-Patchwork-Id: 14031071 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 267A8C3600B for ; Thu, 27 Mar 2025 11:31:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version: Content-Transfer-Encoding:Content-ID:Content-Type:In-Reply-To:References: Message-ID:Date:Subject:CC:To:From:Reply-To:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=6cRTMgWCkjOIFX2GGEP9rCAx3jwS3geaXAmiINUgP48=; b=ItBGK7I55DMtT9nBEz5UjPMFHW djQcZwMV7hREhMZm9HmhkhOTdeYujqlGnuAktpBDR5DluMwDF3jJ5tcsQYYPubFD9sq1OGzBaZ/9u lP/kJ27twcb4AZFr0H1lxPHn01RXJnVttta0xV9C4sc0ANcCEfkps6tw7oS1D9f0/rG97HbzjTtRC IVlXOhC2FpPD39iSww1+pGzm/Fmru4lkp4muAX1XY4GPUkkvbut9X8DRkvJ1gOnoWjLp5sSXyPjpB 9/y+xHEgWnF3DRG5s7UuP9vTzB/OA4gwopF15jcj7NRsaqpJn16keColrGlkE4bIxKSk5lbZ0XZ/o AIRgNWZQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1txlS7-0000000ApRt-112g; Thu, 27 Mar 2025 11:31:15 +0000 Received: from mx07-0063e101.pphosted.com ([205.220.184.123]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1txlOh-0000000Ap8I-3twH for linux-arm-kernel@lists.infradead.org; Thu, 27 Mar 2025 11:27:45 +0000 Received: from pps.filterd (m0247495.ppops.net [127.0.0.1]) by mx08-0063e101.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 52RB3Ix5019756; Thu, 27 Mar 2025 11:27:23 GMT Received: from pnypr01cu001.outbound.protection.outlook.com (mail-centralindiaazlp17010007.outbound.protection.outlook.com [40.93.132.7]) by mx08-0063e101.pphosted.com (PPS) with ESMTPS id 45hkb2thc2-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 27 Mar 2025 11:27:23 +0000 (GMT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=rNZ8PYbxHxE/kDQlaf3gn36R7gsR9JlxRsO2Fyc8gy2s1cNSaQFHSsVP9IWj+TFhGDp6tCUB4agXSLvEJp591TBOLML83ZULYQ8GXdA7SnpGOQzLreIXCtCKJ1NV7kCIsH1Y9xG/gPADw+YhcwViIxaGPNT7+Q819eGwQN8HYHsC9Qm/XknbJT8ei6zS5pmSs6qU1nCUt8mKpYVsjlYlWbtJErOOevuLtoNDqZcUkJ2l9t+QPDPFHI69Y6tdEBzy2pFxhYL3Qcc09XLT58wvkN9lAzglwjA8zJHHDRIp4OARoA8oJyO3vb3XvkKwSU3onnCeudC20eb6mYJUhOMF1A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=6cRTMgWCkjOIFX2GGEP9rCAx3jwS3geaXAmiINUgP48=; b=ZNmw5dGbJcuh3L7TIFI2DnFcadNUlphtLmyyh1H+MvDRYokDhrHoHVL6JNTkui48hcnvlPLLjStkdb5f8E9rDbutIhZzl5wVh3Bo+MPccNb/jpUuJVTdWWQ4THKO4JoiKmDs36JWtUFEd2jAXMusV7YtUbZ5ox80bAENPKjDmRj43ykvIQTMV2UPyKozlmeJicwU/nQcC5DB6c1vNhkP9AivOZM+zi61PLumC8aMRW6KRUmM8cEv/xmYW8yIzIAOXH2K0lYKqyrlYDXwMG2E6xhTvdKvXLIFGs3KjQ94H+F9RSVPgTxBdPUA9VQqhskMsVXMrmfdTvjMdTmxtT51kA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=blaize.com; dmarc=pass action=none header.from=blaize.com; dkim=pass header.d=blaize.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=BLAIZE.COM; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=6cRTMgWCkjOIFX2GGEP9rCAx3jwS3geaXAmiINUgP48=; b=iWxcRQYwBxhnvNtNE6swQwJjv1Sm7WFajDphvAuGQI6qsmi7XGy9DS/SfI66MISkiUQUR/PjQdMXV4DGvdNOEoBIG7V1/lXZOoVlqM03cDpbCy9+2uEm3sYWRQxAMOYmiYH0xDnT4/tUuFV5xKeXCLNlN58uo6+0bDa7eQKTvZA= Received: from MA0PR01MB10184.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a01:12a::5) by MAZPR01MB8910.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a01:cd::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Thu, 27 Mar 2025 11:27:05 +0000 Received: from MA0PR01MB10184.INDPRD01.PROD.OUTLOOK.COM ([fe80::309a:12cf:74a4:5655]) by MA0PR01MB10184.INDPRD01.PROD.OUTLOOK.COM ([fe80::309a:12cf:74a4:5655%4]) with mapi id 15.20.8583.026; Thu, 27 Mar 2025 11:27:05 +0000 From: Nikolaos Pasaloukos To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , James Cowgill , Matt Redfearn , Neil Jones , Linus Walleij , Bartosz Golaszewski , Matt Redfearn , Catalin Marinas , Will Deacon CC: "devicetree@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-gpio@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , Nikolaos Pasaloukos Subject: [PATCH v2 2/3] gpio: Enable Blaize BLZP1600 GPIO support Thread-Topic: [PATCH v2 2/3] gpio: Enable Blaize BLZP1600 GPIO support Thread-Index: AQHbnwsqu974u+e5HE6WDS4ZvArPJw== Date: Thu, 27 Mar 2025 11:27:05 +0000 Message-ID: <20250327-kernel-upstreaming-add_gpio_support-v2-2-bbe51f8d66da@blaize.com> References: <20250327-kernel-upstreaming-add_gpio_support-v2-0-bbe51f8d66da@blaize.com> In-Reply-To: <20250327-kernel-upstreaming-add_gpio_support-v2-0-bbe51f8d66da@blaize.com> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MA0PR01MB10184:EE_|MAZPR01MB8910:EE_ x-ms-office365-filtering-correlation-id: 08662f9f-3587-4183-c289-08dd6d224d68 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|366016|1800799024|7416014|376014|38070700018|921020; x-microsoft-antispam-message-info: =?utf-8?q?ytMbMf0QSXkKVBvwB+xsBpVcxzHkKem?= =?utf-8?q?cwuxtOb5XtCdJcV6COrMIz8b6FuxoKlf3knPpJqG+0eepMSjjfPeh6oo88gY3eLQk?= =?utf-8?q?EORll1xPfgqv68KoYdD4bjBGoTsdiau0vUHi6waa/XJ4soizjbYlPezVbYrQRJpYQ?= =?utf-8?q?msGF81JwwHYWwLUiQG/2GCSPOUk42soHFJPECoT/2SXZ79TBfQ9rEr8MdX309gtaT?= =?utf-8?q?D4Fc7QXnc4xBA7p1nMNdJSq1U/nFfllZLINnjh3HQMmpQKF9N3zXYyefVi7iOcyk8?= =?utf-8?q?bLMoayeRNHflPjUUFIBRceCNVaOWJxQ5jLvb/e0cwxpVqtUbQZ9tmyiur3ZNreTsu?= =?utf-8?q?xnGAFprL8Bct8LCYO3mVadYzBYdgzpJJKwMByuWqt7lXqH7zzwYvNfjr03VbgtD/3?= =?utf-8?q?23vRQds5xsJ84ka+EReTgibCOzUoHQmrZeE1sapiEBm8H0sA7vgQaNteWk7S2LpPq?= =?utf-8?q?U22uuvaWUJH8XUsaEowm3up37zykwB4brUBZsqEnOD5tuwWin943i3f8oTRQLbHIt?= =?utf-8?q?cYX2xGVs/pZR0nDF8trWsVfDb75ZMw9Z36HGy78vWkKf+89rIy5sIfM/ntszdZlmk?= =?utf-8?q?PF6Gr/uOyT+fWI988BaqhauZp/GeoxzjL+5wADASf9QrBBHGFBcWmSzPHobj9Sh1D?= =?utf-8?q?V8uJcamn0CNI0KDudh1PlWWOLMIld+WXPdVmdefbckVvLienioMrM78DqsVISMGyd?= =?utf-8?q?6ghfJopj47k0K2b1hAqeKedkl3JOtTBwprXM/JNjLnk5dAS7NVRtWuvlxIA9zXb+u?= =?utf-8?q?LatBCWyNQqc2ee+SiFy6KhMrqbBbI0YZalhW8iSeRs0NOab0n0iO0EAWODTaGR1+p?= =?utf-8?q?oCRxUJWMsO8+AunkMsDKldsOxAXjlEcMtEy8Gal7DmmSbJ8ofr2pAV/9j7jLj8/Pf?= =?utf-8?q?zrD+i0BGpJ+b3f+vS7bEu36dC/U33b7j4QdxkRVNdcw6Nw8n0pQXDC0wonJcrUo41?= =?utf-8?q?dtugeT/6iFgBs3NMVatNqE2YOCwtMgOU0qWUd6vpjENOgDZTIONHz2VVTVDey69Wh?= =?utf-8?q?bYmRXX9GMSHAR3iZRh2NEVTRi/yZDEy7HaIu3hSrmGtVTk+EqB5QXLSdhErgVriZY?= =?utf-8?q?R3mgjvGEUdDI6ogEVHkoMXB2wQSloL6oXd8oSgeSzAYl7HUUuRGlf3OFVhTC3hf6l?= =?utf-8?q?W+JcdQxFPHUYKwc6G2YmEKDgyDyAIds/HjLIKZmu28+PfsK/t5b6zTYs38PidPfFy?= =?utf-8?q?ku4T6L63tpywqHvof51yzuJ/TYGgRdxhJWMqpEWbvtVFKZTwlYC5F3CcA/lSoFlgc?= =?utf-8?q?R9sU1DGr267ZeKgHNze8z452sr0GeieTfTgeu1Nfj9s5CNyEn2whVtgdQdXMXQo8j?= =?utf-8?q?3tkWcTw0tl6OW/7cFineAgcBwrNYMWKo5LY180VyGVjqnpZq4CM7cLkO1rvcP3rbM?= =?utf-8?q?rLB182rUMgB0tT1j0Xtp5z45wBEAZlUXw=3D=3D?= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MA0PR01MB10184.INDPRD01.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(7416014)(376014)(38070700018)(921020);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?q?vbYoWJoR3/kTCseGt389i34kloJD?= =?utf-8?q?AqCmf/iER4STnCGHOHOBMW2Tlb13D12xIumeHbAwSNCG/nqnGN0RRmA5PLKjCdHh8?= =?utf-8?q?9ueQ6FKJ7KwmmHSufggKt51G+MUmOXbL2oDblv3t+83oBQ5rcqNaHnbtlajI+nPsB?= =?utf-8?q?GrJr7lM3nPpdxrDrALJDVTMaXxsKyji/y0+KgwtmIEfzBLICgYeZSg3hRox0o+8CL?= =?utf-8?q?Ii57AN36fsW6qci+k/TW6prJpQVcdgQdr/ElyQnAbWCqKOlHKIj1EG0hv6lNr5FPK?= =?utf-8?q?iQ+BpgQEavya9Gmnc+CjClEw/x59GQ7ytmI8P7OVV7KNlUh3/ZMp7f9YH5Ug+U3h2?= =?utf-8?q?+I18v9cN/umNYqohZrl8NKz1JLUBfCwlNaHisrFuyJxSfyc44dHfOSeQRAiVZf/xu?= =?utf-8?q?hC5FGuz5O6avmhipfrdSn298iNrWgRzY+/b+jnZgwvHx1mdkD1RYIeffTBK4ogao4?= =?utf-8?q?sZfkByPqrCcLqfJ15HSYtHb4c/hm00Vt5sLe0+VdgkCEqvpzYk6t+VmEWTbDTCIy2?= =?utf-8?q?gsw2TdoRu3zvr1LZEqC774HagkZjcRPNxEP5n4nojEJoncHDtjUGL15pyUWwNSTUm?= =?utf-8?q?+jZejF7y4lMSxr5ZW77K1rFzmu74qhFku+I7yXBsLlL0hWABCr41NglQk1t3yAlWZ?= =?utf-8?q?3KBiTI+Hd3pesn/lQY/Xrxng2QQJkjsRwGR/ViPoEcrQ1N00EnLfc+Fi6aEdHj7um?= =?utf-8?q?rMro9m7+nb8hzLKOOAsrUAKDbnCEAm5DH+llNtnXDj0S3IG9fgjygiD+0lh2gvBBv?= =?utf-8?q?h+ko00dWrl70ttKsxFI1jR7uzR58AoY+/mJMfKaT2PRm18JIhK7dlVaBFKpT+rMqD?= =?utf-8?q?Phr8EuykQYHeXM0m//sP8t53SHX7a+uXo2k+KF5rvhIv7j+xWuMis0ZHl+69Jg2PL?= =?utf-8?q?851SfWgqNIXLoW7kOClMrlAKPv4nmCjEGuX2UNBp+Gn/0KYXZtaKbAEFN+ugGl/5M?= =?utf-8?q?xlCWM3RLHOBLi0YSMXx3KvES3HMnpq0qoHAEFcAaWPr2upxAzRsNe50TE1FxEZ46C?= =?utf-8?q?32sYNYZDSPP/fW8bb97rrlZDmsv4a7xtt8HmeGd6NdrPxPcQp8TzTgvQhBJCuGUSG?= =?utf-8?q?2n/DhGzyAEFKlRTUpeL9Lycf1IVUDt16IFRO9W8HovPXBUWPBXTzA7ZxZrpTe3dic?= =?utf-8?q?ghZnLF4zvw5TUR9Xysjqu5qcW6ed74OHT08IhwLH6bo1jjfO39WbxcrzvQrxlEQGI?= =?utf-8?q?X2HBMbXkfz/V6icBbVsx6/4BCJxhOEPXXuYMVKbbMfOClsdsfd1ulXRYy5xIze2Dr?= =?utf-8?q?qMRjiYqk2zf9nVJZ4ufFf3ljpOtzFhPEVuOtscpTGVDEpcOBElElnv7OglPn/vHVo?= =?utf-8?q?27/3iITwy4ihVZ8S057Q3+/5tS66RLQrI63dFioSpT78PbK9iJGkxe6dW75cJ7Ygj?= =?utf-8?q?6tu/LBRbtDIAbEG0NUGUs7r2B0goxkNUw+pfFZ3sZTVj8yqtV4dM9At/l5JbKzKYG?= =?utf-8?q?yQ4Pob0esMHa+YQExbznJZEVLCihzYfut1a3GVdfLqaBlyQDwU+7iqQdR51RPZ2Yg?= =?utf-8?q?saYK0exzquSyCQR2AwHoB1yvD9RIEFf3mg=3D=3D?= Content-ID: <10ECA4A5833D0B4F8387EA4815CDEA79@INDPRD01.PROD.OUTLOOK.COM> MIME-Version: 1.0 X-OriginatorOrg: blaize.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MA0PR01MB10184.INDPRD01.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 08662f9f-3587-4183-c289-08dd6d224d68 X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Mar 2025 11:27:05.1119 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 9d1c3c89-8615-4064-88a7-bb1a8537c779 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: A8eFMLPLMbgbB6lox8NjK9H1WlGh1w0YQf29rxAQ4p0VHMQprAX4Q5tZ2A6zDiABqXp48bBrvo5oe4SDjm0VX8T39OXWnyuVMbwwxrjYGdo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MAZPR01MB8910 X-Proofpoint-GUID: urTGtccJhigtMbyN4-JWgamc5xsBVmQS X-Proofpoint-ORIG-GUID: urTGtccJhigtMbyN4-JWgamc5xsBVmQS X-Authority-Analysis: v=2.4 cv=JvjxrN4C c=1 sm=1 tr=0 ts=67e5361b cx=c_pps a=5CkbgoO2JNAQOP1ij0Zt3g==:117 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Vs1iUdzkB0EA:10 a=H5OGdu5hBBwA:10 a=-5LYVjoNHPMA:10 a=KKAkSRfTAAAA:8 a=SrsycIMJAAAA:8 a=VwQbUJbxAAAA:8 a=2OjVGFKQAAAA:8 a=2SEOXymVjmBJmyg4i_4A:9 a=QEXdDO2ut3YA:10 a=cvBusfyB2V15izCimMoJ:22 a=zapPnUM7SFj2ezx6rUw-:22 a=IYbNqeBGBecwsX3Swn6O:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-03-27_01,2025-03-26_02,2024-11-22_01 X-Proofpoint-Spam-Reason: orgsafe X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250327_042744_272903_A43DF65A X-CRM114-Status: GOOD ( 15.60 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Blaize BLZP1600 GPIO controller is provided by VeriSilicon Microelectronics based on the GPIO APB v0.2 design. It has 32 input/output ports which can be configured as edge or level triggered interrupts. It also provides a de-bounce feature. This controller is used on the Blaize BLZP1600 SoC. Reviewed-by: Linus Walleij Signed-off-by: Nikolaos Pasaloukos --- MAINTAINERS | 10 ++ drivers/gpio/Kconfig | 11 ++ drivers/gpio/Makefile | 1 + drivers/gpio/gpio-blzp1600.c | 283 +++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 305 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index eb75c95f6c455516f7b1c8b3a39ddded5b38e0a9..7890586c9f1a6ff4afe368b91924038e2433939f 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -4104,6 +4104,16 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next.gi F: include/net/bluetooth/ F: net/bluetooth/ +BLZP1600 GPIO DRIVER +M: James Cowgill +M: Matt Redfearn +M: Neil Jones +M: Nikolaos Pasaloukos +L: linux-gpio@vger.kernel.org +S: Maintained +F: Documentation/devicetree/bindings/gpio/blaize,blzp1600-gpio.yaml +F: drivers/gpio/gpio-blzp1600.c + BONDING DRIVER M: Jay Vosburgh L: netdev@vger.kernel.org diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig index add5ad29a673c09082a913cb2404073b2034af48..b893b071a8d2dc5df5e0cb15b1a41ad8e6cb2b23 100644 --- a/drivers/gpio/Kconfig +++ b/drivers/gpio/Kconfig @@ -213,6 +213,17 @@ config GPIO_BCM_XGS_IPROC help Say yes here to enable GPIO support for Broadcom XGS iProc SoCs. +config GPIO_BLZP1600 + tristate "Blaize BLZP1600 GPIO support" + default y if ARCH_BLAIZE + depends on OF_GPIO + select GPIO_GENERIC + select GPIOLIB_IRQCHIP + help + Say Y or M here to add support for the Blaize BLZP1600 GPIO device. + The controller is based on the Verisilicon Microelectronics GPIO APB v0.2 + IP block. + config GPIO_BRCMSTB tristate "BRCMSTB GPIO support" default y if (ARCH_BRCMSTB || BMIPS_GENERIC) diff --git a/drivers/gpio/Makefile b/drivers/gpio/Makefile index af3ba4d81b583842893ea69e677fbe2abf31bc7b..a04de399af619921fff74b93820899960d1fe97f 100644 --- a/drivers/gpio/Makefile +++ b/drivers/gpio/Makefile @@ -42,6 +42,7 @@ obj-$(CONFIG_GPIO_BCM_XGS_IPROC) += gpio-xgs-iproc.o obj-$(CONFIG_GPIO_BD71815) += gpio-bd71815.o obj-$(CONFIG_GPIO_BD71828) += gpio-bd71828.o obj-$(CONFIG_GPIO_BD9571MWV) += gpio-bd9571mwv.o +obj-$(CONFIG_GPIO_BLZP1600) += gpio-blzp1600.o obj-$(CONFIG_GPIO_BRCMSTB) += gpio-brcmstb.o obj-$(CONFIG_GPIO_BT8XX) += gpio-bt8xx.o obj-$(CONFIG_GPIO_CADENCE) += gpio-cadence.o diff --git a/drivers/gpio/gpio-blzp1600.c b/drivers/gpio/gpio-blzp1600.c new file mode 100644 index 0000000000000000000000000000000000000000..77ad0e596f3ea838cfdd46918847d35b5d66fdf5 --- /dev/null +++ b/drivers/gpio/gpio-blzp1600.c @@ -0,0 +1,283 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Copyright (C) 2019 VeriSilicon Limited. + * Copyright (C) 2025 Blaize, Inc. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define GPIO_DIR_REG 0x00 +#define GPIO_CTRL_REG 0x04 +#define GPIO_SET_REG 0x08 +#define GPIO_CLR_REG 0x0C +#define GPIO_ODATA_REG 0x10 +#define GPIO_IDATA_REG 0x14 +#define GPIO_IEN_REG 0x18 +#define GPIO_IS_REG 0x1C +#define GPIO_IBE_REG 0x20 +#define GPIO_IEV_REG 0x24 +#define GPIO_RIS_REG 0x28 +#define GPIO_IM_REG 0x2C +#define GPIO_MIS_REG 0x30 +#define GPIO_IC_REG 0x34 +#define GPIO_DB_REG 0x38 +#define GPIO_DFG_REG 0x3C + +#define DRIVER_NAME "blzp1600-gpio" + +struct blzp1600_gpio { + void __iomem *base; + struct gpio_chip gc; + int irq; +}; + +static inline struct blzp1600_gpio *get_blzp1600_gpio_from_irq_data(struct irq_data *d) +{ + return gpiochip_get_data(irq_data_get_irq_chip_data(d)); +} + +static inline struct blzp1600_gpio *get_blzp1600_gpio_from_irq_desc(struct irq_desc *d) +{ + return gpiochip_get_data(irq_desc_get_handler_data(d)); +} + +static inline u32 blzp1600_gpio_read(struct blzp1600_gpio *chip, unsigned int offset) +{ + return readl_relaxed(chip->base + offset); +} + +static inline void blzp1600_gpio_write(struct blzp1600_gpio *chip, unsigned int offset, u32 val) +{ + writel_relaxed(val, chip->base + offset); +} + +static inline void blzp1600_gpio_rmw(void __iomem *reg, u32 mask, bool set) +{ + u32 val = readl_relaxed(reg); + + if (set) + val |= mask; + else + val &= ~mask; + + writel_relaxed(val, reg); +} + +static void blzp1600_gpio_irq_mask(struct irq_data *d) +{ + struct blzp1600_gpio *chip = get_blzp1600_gpio_from_irq_data(d); + + guard(raw_spinlock_irqsave)(&chip->gc.bgpio_lock); + blzp1600_gpio_rmw(chip->base + GPIO_IM_REG, BIT(d->hwirq), 1); +} + +static void blzp1600_gpio_irq_unmask(struct irq_data *d) +{ + struct blzp1600_gpio *chip = get_blzp1600_gpio_from_irq_data(d); + + guard(raw_spinlock_irqsave)(&chip->gc.bgpio_lock); + blzp1600_gpio_rmw(chip->base + GPIO_IM_REG, BIT(d->hwirq), 0); +} + +static void blzp1600_gpio_irq_ack(struct irq_data *d) +{ + struct blzp1600_gpio *chip = get_blzp1600_gpio_from_irq_data(d); + + blzp1600_gpio_write(chip, GPIO_IC_REG, BIT(d->hwirq)); +} + +static void blzp1600_gpio_irq_enable(struct irq_data *d) +{ + struct blzp1600_gpio *chip = get_blzp1600_gpio_from_irq_data(d); + + gpiochip_enable_irq(&chip->gc, irqd_to_hwirq(d)); + + guard(raw_spinlock_irqsave)(&chip->gc.bgpio_lock); + blzp1600_gpio_rmw(chip->base + GPIO_DIR_REG, BIT(d->hwirq), 0); + blzp1600_gpio_rmw(chip->base + GPIO_IEN_REG, BIT(d->hwirq), 1); +} + +static void blzp1600_gpio_irq_disable(struct irq_data *d) +{ + struct blzp1600_gpio *chip = get_blzp1600_gpio_from_irq_data(d); + + guard(raw_spinlock_irqsave)(&chip->gc.bgpio_lock); + blzp1600_gpio_rmw(chip->base + GPIO_IEN_REG, BIT(d->hwirq), 0); + gpiochip_disable_irq(&chip->gc, irqd_to_hwirq(d)); +} + +static int blzp1600_gpio_irq_set_type(struct irq_data *d, u32 type) +{ + struct blzp1600_gpio *chip = get_blzp1600_gpio_from_irq_data(d); + u32 edge_level, single_both, fall_rise; + int mask = BIT(d->hwirq); + + guard(raw_spinlock_irqsave)(&chip->gc.bgpio_lock); + edge_level = blzp1600_gpio_read(chip, GPIO_IS_REG); + single_both = blzp1600_gpio_read(chip, GPIO_IBE_REG); + fall_rise = blzp1600_gpio_read(chip, GPIO_IEV_REG); + + switch (type) { + case IRQ_TYPE_EDGE_BOTH: + edge_level &= ~mask; + single_both |= mask; + break; + case IRQ_TYPE_EDGE_RISING: + edge_level &= ~mask; + single_both &= ~mask; + fall_rise |= mask; + break; + case IRQ_TYPE_EDGE_FALLING: + edge_level &= ~mask; + single_both &= ~mask; + fall_rise &= ~mask; + break; + case IRQ_TYPE_LEVEL_HIGH: + edge_level |= mask; + fall_rise |= mask; + break; + case IRQ_TYPE_LEVEL_LOW: + edge_level |= mask; + fall_rise &= ~mask; + break; + default: + return -EINVAL; + } + + blzp1600_gpio_write(chip, GPIO_IS_REG, edge_level); + blzp1600_gpio_write(chip, GPIO_IBE_REG, single_both); + blzp1600_gpio_write(chip, GPIO_IEV_REG, fall_rise); + + if (type & IRQ_TYPE_LEVEL_MASK) + irq_set_handler_locked(d, handle_level_irq); + else + irq_set_handler_locked(d, handle_edge_irq); + + return 0; +} + +static const struct irq_chip blzp1600_gpio_irqchip = { + .name = DRIVER_NAME, + .irq_ack = blzp1600_gpio_irq_ack, + .irq_mask = blzp1600_gpio_irq_mask, + .irq_unmask = blzp1600_gpio_irq_unmask, + .irq_set_type = blzp1600_gpio_irq_set_type, + .irq_enable = blzp1600_gpio_irq_enable, + .irq_disable = blzp1600_gpio_irq_disable, + .flags = IRQCHIP_IMMUTABLE | IRQCHIP_MASK_ON_SUSPEND, + GPIOCHIP_IRQ_RESOURCE_HELPERS, +}; + +static void blzp1600_gpio_irqhandler(struct irq_desc *desc) +{ + struct blzp1600_gpio *gpio = get_blzp1600_gpio_from_irq_desc(desc); + struct irq_chip *irqchip = irq_desc_get_chip(desc); + unsigned long irq_status; + int hwirq = 0; + + chained_irq_enter(irqchip, desc); + irq_status = blzp1600_gpio_read(gpio, GPIO_RIS_REG); + for_each_set_bit(hwirq, &irq_status, gpio->gc.ngpio) + generic_handle_domain_irq(gpio->gc.irq.domain, hwirq); + + chained_irq_exit(irqchip, desc); +} + +static int blzp1600_gpio_set_debounce(struct gpio_chip *gc, unsigned int offset, + unsigned int debounce) +{ + struct blzp1600_gpio *chip = gpiochip_get_data(gc); + + guard(raw_spinlock_irqsave)(&chip->gc.bgpio_lock); + blzp1600_gpio_rmw(chip->base + GPIO_DB_REG, BIT(offset), debounce); + + return 0; +} + +static int blzp1600_gpio_set_config(struct gpio_chip *gc, unsigned int offset, unsigned long config) +{ + u32 debounce; + + if (pinconf_to_config_param(config) != PIN_CONFIG_INPUT_DEBOUNCE) + return -ENOTSUPP; + + debounce = pinconf_to_config_argument(config); + return blzp1600_gpio_set_debounce(gc, offset, debounce); +} + +static int blzp1600_gpio_probe(struct platform_device *pdev) +{ + struct device_node *node = pdev->dev.of_node; + struct blzp1600_gpio *chip; + struct gpio_chip *gc; + int ret; + + chip = devm_kzalloc(&pdev->dev, sizeof(*chip), GFP_KERNEL); + if (!chip) + return -ENOMEM; + + chip->base = devm_platform_ioremap_resource(pdev, 0); + if (IS_ERR(chip->base)) + return PTR_ERR(chip->base); + + ret = bgpio_init(&chip->gc, &pdev->dev, 4, chip->base + GPIO_IDATA_REG, + chip->base + GPIO_SET_REG, chip->base + GPIO_CLR_REG, + chip->base + GPIO_DIR_REG, NULL, 0); + if (ret) + return dev_err_probe(&pdev->dev, ret, "Failed to register generic gpio\n"); + + /* configure the gpio chip */ + gc = &chip->gc; + gc->set_config = blzp1600_gpio_set_config; + + if (of_property_read_bool(node, "interrupt-controller")) { + struct gpio_irq_chip *girq; + + chip->irq = platform_get_irq(pdev, 0); + if (chip->irq < 0) + return chip->irq; + + girq = &gc->irq; + gpio_irq_chip_set_chip(girq, &blzp1600_gpio_irqchip); + girq->parent_handler = blzp1600_gpio_irqhandler; + girq->num_parents = 1; + girq->parents = devm_kcalloc(&pdev->dev, 1, sizeof(*girq->parents), GFP_KERNEL); + if (!girq->parents) + return -ENOMEM; + + girq->parents[0] = chip->irq; + girq->default_type = IRQ_TYPE_NONE; + } + + return devm_gpiochip_add_data(&pdev->dev, gc, chip); +} + +static const struct of_device_id blzp1600_gpio_of_match[] = { + { .compatible = "blaize,blzp1600-gpio", }, + { /* Sentinel */ }, +}; +MODULE_DEVICE_TABLE(of, blzp1600_gpio_of_match); + +static struct platform_driver blzp1600_gpio_driver = { + .driver = { + .name = DRIVER_NAME, + .of_match_table = of_match_ptr(blzp1600_gpio_of_match), + }, + .probe = blzp1600_gpio_probe, +}; + +module_platform_driver(blzp1600_gpio_driver); + +MODULE_AUTHOR("Nikolaos Pasaloukos "); +MODULE_DESCRIPTION("Blaize BLZP1600 GPIO driver"); +MODULE_LICENSE("GPL"); From patchwork Thu Mar 27 11:27:05 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nikolaos Pasaloukos X-Patchwork-Id: 14031074 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id CADD9C3600E for ; Thu, 27 Mar 2025 11:34:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version: Content-Transfer-Encoding:Content-ID:Content-Type:In-Reply-To:References: Message-ID:Date:Subject:CC:To:From:Reply-To:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=vnA1UymLOMeibDYYF5JoYhc1CMTgPHJDZ7mE1VBCPXw=; b=KS7ZYsrYikTnyUXLimgFsh+IFG 2+ak24wHGe3XWSr4djExSGBh7majdWKktjhwPOa3TUDVKpE3byi+9FyrQtGmxCeW+H+br9mCTBvxM sgKiOk5ru6IfRj0HN2Okz6EwcUuBtA6tz8fWMPXfkwvXkzAuDBt3ytdJiUH5xuyL2umJCAcAYZVep z/DPWGvhcVnYFAbbUcvKPZ9gbHa8MEDduqh1GLLyQX0hGY1v+KfACWmgfXgKHmlJ/758HT6OgAadf mkRk8ntui1IHlzdzTIPGPA8v7SKZH62Y8qSmM4vXjoIcS8SBq530EwNMQqYdFEwpPVvX5aRvEKi2+ HcipNXEw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1txlVV-0000000Appl-2xQ3; Thu, 27 Mar 2025 11:34:45 +0000 Received: from mx07-0063e101.pphosted.com ([205.220.184.123]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1txlOi-0000000Ap98-0sIs for linux-arm-kernel@lists.infradead.org; Thu, 27 Mar 2025 11:27:46 +0000 Received: from pps.filterd (m0247495.ppops.net [127.0.0.1]) by mx08-0063e101.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 52RB3Ix7019756; Thu, 27 Mar 2025 11:27:26 GMT Received: from pnypr01cu001.outbound.protection.outlook.com (mail-centralindiaazlp17010007.outbound.protection.outlook.com [40.93.132.7]) by mx08-0063e101.pphosted.com (PPS) with ESMTPS id 45hkb2thc2-4 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 27 Mar 2025 11:27:26 +0000 (GMT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Nzb95QX62xHjJ1ZTMDFTreVkWNSojbmivktjiuUaZhPym4cfPKN4KV4Q9IzKRNh/owM12izURB+AJWg7QK5mIPJ3WRBOMaELbOBTfHBJ9LroEUuUSYe0zhREYuMZfhyOLWvhsc5YfINoAY9Mv9EGRhOEuzMt7QELhJ/2KwPl862jVQ8qo/x2WJZ3N9gvsVVNYGgf+o1Yw0Gv+RYrtD70S47qNuT8FYiKvmMXsMsntj2eAfvzF48g23o1Qded3b9SFn5yKOOhbN2ipVld7JoZKjHj6w5lnwZP942Rn4rFhP1tn9kCB9cKAJnICfiCsvaaM5pZqfCz1CSZv7UFLrIokA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=vnA1UymLOMeibDYYF5JoYhc1CMTgPHJDZ7mE1VBCPXw=; b=vEPMadRvrx3Fl4GLB447m9mJ9Zz0snTDxgEmCO9veHQLvzBKWEliyDunU+c5OsnQB5RiNB5WkRT43I/BHLRkZuq1RC6oYftBPCGZgjprLiqw3WZqGyCEFQndPR+fsibMgylWrkYiZXdQix2bS8k1Qw8hGFeX3lO/NfGye45vgqFEXqP5jhaGHKxkqy/OK8qnz7UjlfXc9TZWidYgzbiba/hEcMPAH7PTpe20cUSMQD892am8NX5D+bjda97WejOZuvmS4TUEccPZselA1bevIesypPOR9//0AcXav2uXBp4DpSspBnVpMnP3dClFwMi3ifZ2QYMvhn9/10C/zULKQA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=blaize.com; dmarc=pass action=none header.from=blaize.com; dkim=pass header.d=blaize.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=BLAIZE.COM; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vnA1UymLOMeibDYYF5JoYhc1CMTgPHJDZ7mE1VBCPXw=; b=F1pRlGgpKe/2wqt0C7vhxHr9ceMKdvtBqeftqtGRupuiecDu194AMJibvt4VuUqLVrkB1155570NX9OMDaQ31B8rX33NBb/GuWfUBroUmPItC2/smrPH7/GVjGoJGwQFbt4nqoenvvTNW/4QcWP16mu11ou+wPJqYY1enCldeA0= Received: from MA0PR01MB10184.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a01:12a::5) by MAZPR01MB8910.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a01:cd::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Thu, 27 Mar 2025 11:27:05 +0000 Received: from MA0PR01MB10184.INDPRD01.PROD.OUTLOOK.COM ([fe80::309a:12cf:74a4:5655]) by MA0PR01MB10184.INDPRD01.PROD.OUTLOOK.COM ([fe80::309a:12cf:74a4:5655%4]) with mapi id 15.20.8583.026; Thu, 27 Mar 2025 11:27:05 +0000 From: Nikolaos Pasaloukos To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , James Cowgill , Matt Redfearn , Neil Jones , Linus Walleij , Bartosz Golaszewski , Matt Redfearn , Catalin Marinas , Will Deacon CC: "devicetree@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-gpio@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , Nikolaos Pasaloukos Subject: [PATCH v2 3/3] arm64: dts: blaize-blzp1600: Enable GPIO support Thread-Topic: [PATCH v2 3/3] arm64: dts: blaize-blzp1600: Enable GPIO support Thread-Index: AQHbnwsr8t06J68oF0WylvpAtNCDMg== Date: Thu, 27 Mar 2025 11:27:05 +0000 Message-ID: <20250327-kernel-upstreaming-add_gpio_support-v2-3-bbe51f8d66da@blaize.com> References: <20250327-kernel-upstreaming-add_gpio_support-v2-0-bbe51f8d66da@blaize.com> In-Reply-To: <20250327-kernel-upstreaming-add_gpio_support-v2-0-bbe51f8d66da@blaize.com> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MA0PR01MB10184:EE_|MAZPR01MB8910:EE_ x-ms-office365-filtering-correlation-id: 1f420926-929a-4e97-b130-08dd6d224dd1 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|366016|1800799024|7416014|376014|38070700018|921020; x-microsoft-antispam-message-info: =?utf-8?q?1b4OZ8uwXSqeauDYbJ9B037o//BLVxo?= =?utf-8?q?mf1DgW1pCDIkHFY5t95aMO62xY6LkQC2JyGKj6JBq5pYJVXv+ydk2hiHoAkyxlN/U?= =?utf-8?q?GfnwRxYu9XZacx9L5w0wSW0vR+0lrB37yLekDZ8vA44dYwmNFApmriQJaIKmF0fEC?= =?utf-8?q?9tYugu40hv8lmWtLsemZ5RUEuiiYxN4tdVZ9L93mW/Cb1LxhbF9vqRz87XW5qKt38?= =?utf-8?q?T+FgIp+mWr6KQDgMcWDzIM4K+UqfXljZ2ME2RPkK1jMywAdYh14OsoaZYdT98qNaT?= =?utf-8?q?Qcau8+Xv8Fc9y82C7zy5czV9koIfJ1im5l4IVkOLKpAB27uVQW+1EgjUyBHbJ3NLZ?= =?utf-8?q?3PesRKkmO3orMo+D1DCSutKfr9oSGQGemWAbaW16PgJw2TfzKgpzfFrQUtGnGVXNd?= =?utf-8?q?ZZdr0riTehfyW+qWnNn8wqEUmmwALpbGR+JxeVTpwqQqCqODB22jU6T0ndxfgMXyq?= =?utf-8?q?7qK2eowQxMIQwmNi7rHSsGYaJo9cyUuWJwaJ8Ci5tjrou8ILzJ9CIPgppHwgeQUR/?= =?utf-8?q?HyjzYJval7B+/1mXmmwZhK2GZzampU0XrxSyBqHSyVH+fE0AzrvBaQyDZJCocZN5j?= =?utf-8?q?gM5ANupvORLYAmTWolM+f1gy4e001nAej8QpaOY6/IDCEfK18i0wcg2bCNkKojs1E?= =?utf-8?q?La663C6O3A2Q6M6bf3BYbbVGez0TwvA1a0Zqu0QwEnvZNGoESMJ9pnGytl4h5ARcW?= =?utf-8?q?zVnL2n5snRy27z6MkE4l0figb+DN1oKMYHfm3F532uTF/GY0jyN7IZdtZExPwYoTE?= =?utf-8?q?oyLZWRjcNrXkACLkn94NyakPnb2mOkensuIUK3x1+dTWkj12WWtCbBZh3MQ4N6cC+?= =?utf-8?q?tzrGvkJJknGjlQBu5MPYmt9vFjufbif2MgrNZ9308gnPqasN/L2rd+XbGQpZaG4dM?= =?utf-8?q?7mMi94mWZiuFRU0i+bj7suBJVOaF2zjjIRVEdv/upuMXerVVaKG7Yzq3wVfQMvKMc?= =?utf-8?q?uJLdb/jc/7fZHZ4l0rH+2tDy+3aJYxT+NKnhLRVKAASYT6CE/ecdShn7Su7B7XpOx?= =?utf-8?q?My3KYtBrNaEeBGglTnsb2LPvGZMO3mTTlWucNH+t3OXwmXG81CV5tEVicTV/hb6sV?= =?utf-8?q?t6ljnlyv1IZs2ohzr+YKhhzFga6XomgM2ZYx8jaPwdDl8Eh02D3X1EV8KeYubxD5W?= =?utf-8?q?vjvu9RCED7ciLPXJqIjs6BuWGXFXcxQFUt9jkWOs9e+31143TzkBLL5ZgnddjBHup?= =?utf-8?q?AfeByNPBeQuDByMckb4Do7dsa1pTX5OemNhIoLnQncxVCOkG8+PpWWn7rIza3JjcF?= =?utf-8?q?dRD7AIyssYTXiES9WE0s9VGDB0Q5mAgCbklNb0DRnnz8gsjnolr1gegW0RFPiP2T2?= =?utf-8?q?1cAQk/xOklhLRwXIHmn1x5FaRLqB+tgHPw1xVtKZuLh16lK/hfyJpbUlsl7oObrlx?= =?utf-8?q?eDsNsOLFew9G5KMymjLub63pqnpqTlfSQ=3D=3D?= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MA0PR01MB10184.INDPRD01.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(7416014)(376014)(38070700018)(921020);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?q?+36m/QTqNifcfodRc3iyVjeCOpUc?= =?utf-8?q?ovZr1+n2z4xkrfaw1UIqrmwiPmUHDbwWv5i/lVishyNzHnTJ0xDE78BTZAiE7ddpC?= =?utf-8?q?/nvZX+k3bqa/nZ1ipBwzdESIoz/hVGrxyIsuWCfRiMYg1bw/5LtWmio6rOHsU/w/A?= =?utf-8?q?OC2G2jDdyyCFVv2xXI7tUaTPmyq2sJl5D3f5vEAc5PGucdtU+VYQPSatWG8sowgev?= =?utf-8?q?/Rz1D65//oMxTSXwI39tKuq9JD+VRR3YVq4WeOzhJflRJwLrDrnx8qo01istmSyvT?= =?utf-8?q?wuQe17EGvuTHnlsCKnAygSTgiZjONhZqtbqMlS+NAhKYM8SASulR21+8srLPbWvVe?= =?utf-8?q?v73DdSfbVpAZvCCyiwyXiBLuBvyCApiLZKe9VmTe1WVSspANoEbjJi8CCHZ8H7GV2?= =?utf-8?q?A9/1+pMN60HXzKfKF4zHhVwHlvq+NvQlSVCx0l/BcAvk2lEZRsIvBkWfC6peKjG99?= =?utf-8?q?bhTArB4PD5BuHED6412uNiso3S50zqt1ZmSNQvcuZ5xyvRJJYDCt+81Lk/RKCTzCN?= =?utf-8?q?PlTqnx+LZTCS2Ul40SUuPZIibNOMtF2DPScpVcd2ukWtrNlzTNFnAAwxlxWjqXG22?= =?utf-8?q?kS3bKWoVZSwgid3ZUdEP68BAGSNr9b7RZFcaKMraxOWgwjubnO/1GiV+C8FPSYutO?= =?utf-8?q?e57JfUN5zktqOXONd/Zqfjcnp5uLUzUuI1ZTRAcZBe1V+ZSATZ1VctYY+3LMBX4ui?= =?utf-8?q?iolc8EJoIZuObAPSpzSjk3ckchWiuGEPU9TGQxEUsdRCquCuKeUWznpBzNQ1RUHkg?= =?utf-8?q?OdbPFPwlLlwvMJYzEWbDSCE7vn6tD+0FBqTlBsZDYJ80QXW1deuREtmjoY/IRoemH?= =?utf-8?q?k+al6C8E9NFgHHm62DNLPwT3fUOV+Pq+3czsPGc0yYQtIcmNUKCQs3nF6NYZkETFQ?= =?utf-8?q?98tyS6Q0wkYLMdtmuujv4/DI/GYFOvyttO18MT/X9K8q9RgYqVk8OSSLSLJTezDmN?= =?utf-8?q?upYC+00AZ2tumHI0UVWxIdNqLMf2IbgZj6GYooD1alkEyAmYPg261HyfpY20owKfV?= =?utf-8?q?q71apIzfmP0cTev3l4J/O+ikGPZWEiPsn1Ngl5kldA+qwZPqXxkY8jh+xzUsp/GMr?= =?utf-8?q?FAmow24VBu2Hv1gb7eDrBqf2Bn5JK+KfeH8DdkBCXA6pmjBw+UvpVBfbHtjRKV3dI?= =?utf-8?q?LwJjTxRn0sFG/hNxZV1T8RZ+cB4Fq5IdNIRCHHFjBfkuAM50AjBfwiCqI1zOtkZEp?= =?utf-8?q?p6XIswbAuwX1fXOAJHqmIKkB19dU7BFRCcKvfQR2RHju6beU8wguwxNh/SXg102zT?= =?utf-8?q?ZyDsUIoouKRQpWPgsX1fE2D0heEWGl73+wuRpm9n0+5fbySHdz46rVX0c5NneS9Aq?= =?utf-8?q?D5RapXpXij+pqJ8JU2+QoKT7+aPg5evF5HME1KOVDhurcJdOkdTLiokt42RCusuxx?= =?utf-8?q?XRvGTXVHAzlXLaC3BT1edu17jVwktEbeQ2FPcyB8oe12NvGshBNyHwUWEXPStFs1O?= =?utf-8?q?QHDa5KTz4xQobjys2vh/AmDWqS4J9+i8SjvNQtYSO6s7YOg1uZjFTKnHw8h5aU0PT?= =?utf-8?q?ZAr2a1+PzLV1bnZYX8EKvHAJ5bkYZv+oYA=3D=3D?= Content-ID: MIME-Version: 1.0 X-OriginatorOrg: blaize.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MA0PR01MB10184.INDPRD01.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 1f420926-929a-4e97-b130-08dd6d224dd1 X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Mar 2025 11:27:05.7835 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 9d1c3c89-8615-4064-88a7-bb1a8537c779 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: kDtKasEEZzQcLUKg9J0d/TaX8H8ZN+XWMgJuJ0MCCGOtBrf39sQqG4TyNzZyi6JxhjNY/NWWWT54oGRUYVK3RNARF0F97GxEN9eGVYmMv10= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MAZPR01MB8910 X-Proofpoint-GUID: LUOOzxyhwKLqtI-iPPN3E5iufAyfFJNA X-Proofpoint-ORIG-GUID: LUOOzxyhwKLqtI-iPPN3E5iufAyfFJNA X-Authority-Analysis: v=2.4 cv=JvjxrN4C c=1 sm=1 tr=0 ts=67e5361e cx=c_pps a=5CkbgoO2JNAQOP1ij0Zt3g==:117 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Vs1iUdzkB0EA:10 a=H5OGdu5hBBwA:10 a=-5LYVjoNHPMA:10 a=SrsycIMJAAAA:8 a=SrueIWi38-K_uB21zSIA:9 a=QEXdDO2ut3YA:10 a=zapPnUM7SFj2ezx6rUw-:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-03-27_01,2025-03-26_02,2024-11-22_01 X-Proofpoint-Spam-Reason: orgsafe X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250327_042744_566900_F64498E1 X-CRM114-Status: GOOD ( 14.04 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Blaize BLZP1600 uses the custom silicon provided from VeriSilicon to add GPIO support. This interface is used to control signals on many other peripherals, such as Ethernet, USB, SD and eMMC. Signed-off-by: Nikolaos Pasaloukos --- arch/arm64/boot/dts/blaize/blaize-blzp1600-cb2.dts | 36 ++++++++++++++++++++++ arch/arm64/boot/dts/blaize/blaize-blzp1600.dtsi | 12 ++++++++ 2 files changed, 48 insertions(+) diff --git a/arch/arm64/boot/dts/blaize/blaize-blzp1600-cb2.dts b/arch/arm64/boot/dts/blaize/blaize-blzp1600-cb2.dts index 7e3cef2ed3522e202487e799b2021cd45398e006..fb5415eb347a028fc65090027a4c4fc89c8280f5 100644 --- a/arch/arm64/boot/dts/blaize/blaize-blzp1600-cb2.dts +++ b/arch/arm64/boot/dts/blaize/blaize-blzp1600-cb2.dts @@ -81,3 +81,39 @@ gpio_expander_m2: gpio@75 { "UART1_TO_RSP"; /* GPIO_15 */ }; }; + +&gpio0 { + status = "okay"; + gpio-line-names = "PERST_N", /* GPIO_0 */ + "LM96063_ALERT_N", /* GPIO_1 */ + "INA3221_PV", /* GPIO_2 */ + "INA3221_CRIT", /* GPIO_3 */ + "INA3221_WARN", /* GPIO_4 */ + "INA3221_TC", /* GPIO_5 */ + "QSPI0_RST_N", /* GPIO_6 */ + "LM96063_TCRIT_N", /* GPIO_7 */ + "DSI_TCH_INT", /* GPIO_8 */ + "DSI_RST", /* GPIO_9 */ + "DSI_BL", /* GPIO_10 */ + "DSI_INT", /* GPIO_11 */ + "ETH_RST", /* GPIO_12 */ + "CSI0_RST", /* GPIO_13 */ + "CSI0_PWDN", /* GPIO_14 */ + "CSI1_RST", /* GPIO_15 */ + "CSI1_PWDN", /* GPIO_16 */ + "CSI2_RST", /* GPIO_17 */ + "CSI2_PWDN", /* GPIO_18 */ + "CSI3_RST", /* GPIO_19 */ + "CSI3_PWDN", /* GPIO_20 */ + "ADAC_RST", /* GPIO_21 */ + "SD_SW_VDD", /* GPIO_22 */ + "SD_PON_VDD", /* GPIO_23 */ + "GPIO_EXP_INT", /* GPIO_24 */ + "BOARD_ID_0", /* GPIO_25 */ + "SDIO1_SW_VDD", /* GPIO_26 */ + "SDIO1_PON_VDD", /* GPIO_27 */ + "SDIO2_SW_VDD", /* GPIO_28 */ + "SDIO2_PON_VDD", /* GPIO_29 */ + "BOARD_ID_1", /* GPIO_30 */ + "BOARD_ID_2"; /* GPIO_31 */ +}; diff --git a/arch/arm64/boot/dts/blaize/blaize-blzp1600.dtsi b/arch/arm64/boot/dts/blaize/blaize-blzp1600.dtsi index 7d399e6a532f5b24385dd837be965be771c7d24c..5a6c882b2f57d57d304869dee877c996cbabb712 100644 --- a/arch/arm64/boot/dts/blaize/blaize-blzp1600.dtsi +++ b/arch/arm64/boot/dts/blaize/blaize-blzp1600.dtsi @@ -120,6 +120,18 @@ gic: interrupt-controller@410000 { IRQ_TYPE_LEVEL_LOW)>; }; + gpio0: gpio@4c0000 { + compatible = "blaize,blzp1600-gpio"; + reg = <0x4c0000 0x1000>; + gpio-controller; + #gpio-cells = <2>; + ngpios = <32>; + interrupts = ; + interrupt-controller; + #interrupt-cells = <2>; + status = "disabled"; + }; + uart0: serial@4d0000 { compatible = "ns16550a"; reg = <0x4d0000 0x1000>;