From patchwork Thu Jul 4 15:03:19 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Josua Mayer X-Patchwork-Id: 13723867 Received: from AM0PR83CU005.outbound.protection.outlook.com (mail-westeuropeazon11020142.outbound.protection.outlook.com [52.101.69.142]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C64A81AE0A2; Thu, 4 Jul 2024 15:03:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.69.142 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1720105432; cv=fail; b=dmr4epjX2t2YiJoMiVdSShP6c4BmmkCGJzsWANOtRLi7mWPARe4ItlgsE8eipNOSqv/Zgayyhv0PxW0Thec63yGNv2Wx/CWaLSld89G5tU2Y5P3a98uAdImUlKRG2WSg1qQCskLxKWoeQ/EBgW6JGxnGTV1wsvEj7PKxmiqpZPk= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1720105432; c=relaxed/simple; bh=I8c5Dmd/REgDEwT4s3aisaE/9M8JScc8cTBTcH1aYW0=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=k5zL+pdQwhYwcbnucuCKXlc36QSjLLS21ZWhSaZyFnDpIsc/mOPDPdNC3a5H3wNIjSf79gfZMjH40MvgR6lmYc3BaG+qLZ5z6DL3gtsUM2azqL5B5sUcMNlyPC0PbtIdJL0vgML1pwqHlO9Tf7rplvWH/K9iOGxFrthgT9hXQyU= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=solid-run.com; spf=pass smtp.mailfrom=solid-run.com; dkim=pass (1024-bit key) header.d=solidrn.onmicrosoft.com header.i=@solidrn.onmicrosoft.com header.b=Bx/kK4af; arc=fail smtp.client-ip=52.101.69.142 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=solid-run.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=solid-run.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=solidrn.onmicrosoft.com header.i=@solidrn.onmicrosoft.com header.b="Bx/kK4af" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ciTZA5JBB6rXe7GoTRUt9XdRL9n3mUTmxmaKyvJVOlEdx1zAQowJ67MFCuAZHE33CxRpBytYlsoUHK7JKZlb4pdDrfP05OWGJqSBByxOkTPyp9WOAKIkj/dy5v9YOE1bfxMvQU9BNa3K77OqP9qO0KOFarPSkqVNDZpHSNQFDXG45Vw1lhaccJ/6CPlGc1xqZ41nH3gGbYwFJstHdo8as2qJ7ABZhxo8k2rL1E50SjiugqJUCvXMNeQrGditmVeQ4Bekn84kJcd7wlQO32Uasryj3WFSuUig/2Ssng0Q4xfCsHP9VRyQ992ILmd3cP6wVO6en3kGL2FNoZYx2KhO9Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=GHuDlE4bz3Ri64XL5zF4+GOIm5j56U6XO6oNEWy+k7s=; b=BSm/XNC14Xs/MuSySDRPfiXGK/EhMVwf3B2DGAZpDJtvlhz5oR6QNpTOIxnC1pzk7luTKNVVjWR76jG8hMMLGUo2Ma1l/q+Kknc4OOJc33CFTq/Bb1Tkj9AVodB7/b2N4EUjqQcg+EnTuKloM3OKGY+8qPErm3lwGSiN01qmlZ9EDPn7PP21iP5v+mxYqawY7jOzUj6IUzVF200eWlIxwFiOu7CnAs9e2Z97qAGOF51glbTSS0FnfHNCfWgKHsF6XoTsn+mml+urI9eocdC4PLnimFeSv0cqlxWi3+zJdhbv5w/0uQhLhXJAYjN6HeO4guhH+G78XAzvGcbCOGQc1w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=solid-run.com; dmarc=pass action=none header.from=solid-run.com; dkim=pass header.d=solid-run.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=solidrn.onmicrosoft.com; s=selector1-solidrn-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=GHuDlE4bz3Ri64XL5zF4+GOIm5j56U6XO6oNEWy+k7s=; b=Bx/kK4afK9GGpsv5ehs6omuIKOfZgfKIXKKqgPZqbMC5TtJhpbIS4/KC/TTQRtjaKIzPSXZHzD29Ew7/Yzphdbzr7+qPrYXgggdkQ+oWXLlRwLBGWSPkrqXe33SQCigHYz5obqa8iOLmeaR9n/W3q0lARtVEIeYXIpdQlsIgqY8= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=solid-run.com; Received: from AM9PR04MB7586.eurprd04.prod.outlook.com (2603:10a6:20b:2d5::17) by GVXPR04MB9928.eurprd04.prod.outlook.com (2603:10a6:150:117::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.29; Thu, 4 Jul 2024 15:03:45 +0000 Received: from AM9PR04MB7586.eurprd04.prod.outlook.com ([fe80::c04e:8a97:516c:5529]) by AM9PR04MB7586.eurprd04.prod.outlook.com ([fe80::c04e:8a97:516c:5529%5]) with mapi id 15.20.7741.017; Thu, 4 Jul 2024 15:03:45 +0000 From: Josua Mayer Date: Thu, 04 Jul 2024 17:03:19 +0200 Subject: [PATCH v7 1/5] dt-bindings: arm64: marvell: add solidrun cn9130 som based boards Message-Id: <20240704-cn9130-som-v7-1-eea606ba5faa@solid-run.com> References: <20240704-cn9130-som-v7-0-eea606ba5faa@solid-run.com> In-Reply-To: <20240704-cn9130-som-v7-0-eea606ba5faa@solid-run.com> To: Andrew Lunn , Gregory Clement , Sebastian Hesselbarth , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Richard Cochran Cc: Yazan Shhady , linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, Josua Mayer , Krzysztof Kozlowski X-Mailer: b4 0.12.4 X-ClientProxiedBy: FR0P281CA0081.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1e::7) To AM9PR04MB7586.eurprd04.prod.outlook.com (2603:10a6:20b:2d5::17) Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM9PR04MB7586:EE_|GVXPR04MB9928:EE_ X-MS-Office365-Filtering-Correlation-Id: e674f3e5-0e9f-4972-139f-08dc9c3a801d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|52116014|1800799024|376014|366016|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?eH1R34D1LLuCIqUAeLS0b6BSdQdXDmP?= =?utf-8?q?/8hByWvCWfQoGgmal8wH5CU5zMtHlkxO9Ep8IaStuv4Yk+YCDm0K2GRYwWSxLRaM2?= =?utf-8?q?Tig6ZbTp+NSBa6myYM1RDP214Z+Imf1uJV2SYSC2TYZE6w5T7kr1L7YqhwRkPfzzy?= =?utf-8?q?NGYLu3KmdV4kfDW/zoj7NcM2U2rGRMtqMSQSzpgJn2OzNPVfYk0N8SssLcYGQsDp3?= =?utf-8?q?48/I7WSnDgrwHp5raELEJvvQH+KiWmrDA7c8c+Escbqc4PdjXlRzWWbQY5TjVqYmG?= =?utf-8?q?yI14gXOaDpdVt3tsImNTEMgZOYY6kXxomCwhT6q6wZvBV1HFZ5cIbM9l8SY9fgP4J?= =?utf-8?q?yB+pd1zEdNxYT2y9RkhDcLMxSTcyHzW5znUsPcquBK4HmjX9mXjTfIx2GLSsG0slv?= =?utf-8?q?XuA+FYU1X8P5AhSVDM5UMD6du6MojJ4LqygSZu5k7uOpRCYKHE5KWudbR56ABFGKk?= =?utf-8?q?Ccbs7+zoX1Uc9/ztwZ2n/vSKd/swqRLc9URvgbVob7F5LxA3Eu5KjmOwjKHWfxvXh?= =?utf-8?q?MARBI4uVkN9j0DXIhsPbOo8iALsK3iybeuWDgXzBkkBl29Br/fbbP54jIcDT0A92C?= =?utf-8?q?Gu8rp/E5n7CPMGg3lQyaai+ajq/GwAqkqAyxr1Uue7Twtj2yaPYSUQsfKXPHBnYoS?= =?utf-8?q?1TG1BY0EwyDObv2ANj0FZO9cmETs6ayuvhN+VtOoS/CZMUFkdIyFFKoJqhWMSNwZC?= =?utf-8?q?3afkT1pPPZekrAFDNgjYLIiTaLrH7eMmKeUZ2fah8xPMVXfZFb0g3PKUUZxIRAI8V?= =?utf-8?q?UFGW1sDBzGH5vA2P/jarlDlIWIvj6i6UYnK4FoKivIr28H0EJaE000cK3hDB3zoCB?= =?utf-8?q?tKqY0/5o7HmIiWECYGaN8OXgMmbqRuRjzymbxI0VxPNzqnT2DV6nal4pnm0Z/KUP3?= =?utf-8?q?cEiSMDXVFZ25wmogYWEBVtS0VvczxqrCQkNmQ172Er+aapNXsy0qTCeprnFstbTub?= =?utf-8?q?g1U7APWWHJuWthF2a8RoWBQxu8Pbe9Cs+LHQBXDJwbjZXHLqfj6bpSvD0pjpJez2K?= =?utf-8?q?OIzdP77rsEMkwfg+rQNy4anFfDPDCeGWEH9KSvWF++o1RG0QMTGzOM1+FoYT0Y8fT?= =?utf-8?q?lr3FsxouzoyiO5n/1JociaWICjoL3TwmoguDFau7P19AFLoM+D9J19GKuxGrTvjfd?= =?utf-8?q?zA/7uVKtzFq8XnU5k4XfFNI6QHSi5reoi8bEn6WonMqiOR1aT1R+xF+aVPelw8Ykm?= =?utf-8?q?L3Pn3vupN5FMgVfVH6l2ht/eZnHZvLZIgjEM0SAWbfBWiOLXdxieeaUbiKeCqiEOW?= =?utf-8?q?gTS+GFdiRUgz4zENkyjK1Pn5gLSdQDMn8a29muWoNkPeZunW1J2GA+4tIkr+Ctbp8?= =?utf-8?q?wcnrbhIFDj7dXN8clBWVYqcs5OptUNw1Vw=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM9PR04MB7586.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(52116014)(1800799024)(376014)(366016)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?egRUxvzRAf12VV8ldzXy8Y17vPSS?= =?utf-8?q?d46G4rMLKOjOkpXG/WHUJeCRPBdJsSKhFPN56AcxtmDxH62bNkelQYWq2/kfCSK85?= =?utf-8?q?Z5rIxi/hYeqMGY81ZWXf3BM9rt/lqspiLaSApH3fRKX2tknxElm7kE8Weh5eVqhOw?= =?utf-8?q?8I+89mGBr1v3WEnrnfwaCZ5XXLMfHuYhCvYC8UEDDZC9V3WI+We37P9kVKcxZTMVe?= =?utf-8?q?MpwH/NaHkwA+4c5UOqoMtOwVd/frRcYVfh+9tOvrPjc96hsIvwvkIpPj7vDkqd7fJ?= =?utf-8?q?WPvBV6/f1kwMro5uEnHoQJT/V0fGFYNr0tnGjcKiaEce5o/Ablk0DNboJlxIUYQAu?= =?utf-8?q?nFl2gDr17WrKZgjTbNMZvOOuIsBoFQbInUTNWLgl+juumiS5ny2oBlIcKYf5qTEvO?= =?utf-8?q?w0bKLu534VAHgtvGeosVvzog+D2CPIOe9czR9c0RVHw8Cw+iQnfm+KrT88HbCMewJ?= =?utf-8?q?irDVlRuOt6ldJo5hwkjKJ5dzYp45lMey4Brdb25PR94BXGNux1N7tZYobJ04Nqm9z?= =?utf-8?q?sqyHxGd5fuyRBNfLM8lydtJ3nusRk3hG8WP7JTB2RHVpgRrPQKc1SfoY3xbe7mhYw?= =?utf-8?q?epxwltaUt0qE8Z2pQWbHX0m96mYko0UQVH80cXX8fbAREUPSLYzlOzZC4kevjS22b?= =?utf-8?q?TVqYms/7qc6Ni8FBHf1icoWqjYZnBWnWth0Hcb6t2h59NYikWjF35kgs2D1mX7KD9?= =?utf-8?q?ZtqZTN+rSwlhwKz7QwKZik8irSbo8tuogVabUON5ybOn5wOrMQOs7dXDlrBr4wzNs?= =?utf-8?q?iiZ4lWmPtqZg38CO4iPPfmajMmwV+Q75qaef0LWw4xjh3qi9NsEiykdmN1lwCvUeK?= =?utf-8?q?q1OfkGZR97yonRTzMwbvSFhpEwzvGJlvTIK3L91SfAP0Imf58GYOMfo57cmjKEXfM?= =?utf-8?q?Pjgq4xlSd4a24TMeCxSXaWg4JZwt7SQSczBml+9Z0Yn14SIS+cnWGaOIeFnEGcVrh?= =?utf-8?q?CyeAaU58gX6xShO3AmOBrfwWAEmJ22LHVCOu3yD3DvzvTzTs9Y+NFiUW4Aq4INKkh?= =?utf-8?q?uM+XJuHZoVbxdM0foulwToPM4fVncpycpD9Uu1KNHbiKRgeQqTsEYmtmnQsPmc4Vv?= =?utf-8?q?8SOksIPnPsW8INYM39guzNXe85BhBOUH5cUGhOQlNRfsUKcvtSBM4k5M1cZhpUCmK?= =?utf-8?q?XVAN0HKYUWDDym96t74svtWkzfsnfYPQAsL6u+m5XGHBEVWfFqhWalVzKzhqciR7X?= =?utf-8?q?w73WlauvsfTsBDbhXgpC70MVHo46Us2vpbf1iPN81SSg07NtQJm9Sn0ycyPmQMGeY?= =?utf-8?q?DflUHgHlAzKxclQu+auIGcE03kc2tGPWtIxLtE4XGard9wAAVzyHC4siEhOTilHqk?= =?utf-8?q?qJPI1BMBQXNrzqN3d/mjqxWzsW3aN8Y6jEZc9CUTbf/CpOUVbnyTa5A0c9qaAqOvG?= =?utf-8?q?6yWzm6eQOjrbB+9vq0N3pWbEXcm2VpG5Yq6Njl6VxqvkzV2stT9BmywFbtq7EQjqG?= =?utf-8?q?7x2e/fh/vNj5I+pMJ7hqGhbdiCCBS2goxURWdqiv3ZxL9GdkG3zrlv1HASPo3rxmc?= =?utf-8?q?75t+GQ1gytf1?= X-OriginatorOrg: solid-run.com X-MS-Exchange-CrossTenant-Network-Message-Id: e674f3e5-0e9f-4972-139f-08dc9c3a801d X-MS-Exchange-CrossTenant-AuthSource: AM9PR04MB7586.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jul 2024 15:03:45.1973 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a4a8aaf3-fd27-4e27-add2-604707ce5b82 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 3Dni+6er4n5a4+qqQ3wy3ahbj5e5AzFrHWqAbgLq97Lud1+pjaBO/jjzszcTDwcJObfB73BmFpYsUksdcLyi4g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR04MB9928 Add bindings for SolidRun boards based on CN9130 SoM. Three boards are added in total: - Clearfog Base - Clearfog Pro - SolidWAN The Clearfog boards are identical to the older Armada 388 based boards, upgraded with a new SoM and SoC. However the feature set and performance characteristics are different, therefore compatible strings from armada 388 versions are not included. SolidWAN uses the same SoM adding a southbridge on the carrier. Since 2019 there are bindings in-tree for two boards based on cn9130 and 9131. These are extremely verbose by listing cn9132, cn9131, cn9130, ap807-quad, ap807 for the SoC alone. CN9130 SoC combines an application processor (ap807) and a communication processor (cp115) in a single package. The communication processor (short CP) is also available separately as a southbridge. It only functions in combination with the CN9130 SoC. Complete systems adding one or two southbridges are by convention called CN9131 and CN9132 respectively. Despite different naming all systems are built around the same SoC. Therefore marvell,cn9131 and marvell,cn9132 can be omitted. The number of CPs is part of a board's BoM and can be reflected in the board compatible string instead. Existing bindings also describe cn9130 as a specialisation of ap807-quad. Usually board-level compatibles stop at the SoC without going into silicon versions or individual dies. There is no programming model at this layer, and in particular not for parts of an SoC. Therefore the ap compatibles can also be omitted. Signed-off-by: Josua Mayer Reviewed-by: Krzysztof Kozlowski Reviewed-by: Andrew Lunn --- .../devicetree/bindings/arm/marvell/armada-7k-8k.yaml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Documentation/devicetree/bindings/arm/marvell/armada-7k-8k.yaml b/Documentation/devicetree/bindings/arm/marvell/armada-7k-8k.yaml index 16d2e132d3d1..74d935ea279c 100644 --- a/Documentation/devicetree/bindings/arm/marvell/armada-7k-8k.yaml +++ b/Documentation/devicetree/bindings/arm/marvell/armada-7k-8k.yaml @@ -82,4 +82,14 @@ properties: - const: marvell,armada-ap807-quad - const: marvell,armada-ap807 + - description: + SolidRun CN9130 SoM based single-board computers + items: + - enum: + - solidrun,cn9130-clearfog-base + - solidrun,cn9130-clearfog-pro + - solidrun,cn9131-solidwan + - const: solidrun,cn9130-sr-som + - const: marvell,cn9130 + additionalProperties: true From patchwork Thu Jul 4 15:03:20 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Josua Mayer X-Patchwork-Id: 13723866 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2102.outbound.protection.outlook.com [40.107.20.102]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 88C9A1B010F; Thu, 4 Jul 2024 15:03:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.20.102 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1720105432; cv=fail; b=ReBvujYh6/bXEdRboPesLjQchfJSx2cv9E8EPIzTI8oqLV3OsJF2nfRPj3SdiwD1x2eMkDGVemJ8/dpMFinLZL6NBHj0iQuRzKXhGtZ5yCqetd8tCLX8tCr+KbuAf5IWOIiNaPVwbDlgQwzdn8XcrLX/IoYoXjDBu7v24zDu4i4= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1720105432; c=relaxed/simple; bh=mQWroSb7kMnehyNzCCHX6s2dTYjFnSgTfg/7QjZ2uJY=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=u3G5vIvsspLmGXX5py5Q+f+nQB40phw5bI8TLP3kmHNYc4jAy77fimObvKR+lFmEF1chED2KGH5+6u+LKwRSNiO1o1s4ahYQ2/h+IIMBhsPJ3mqsTihqg8+/DreA8dtxjJu4oJ+vHnDlcMecTrebi7kKWtx4FoiYprt73LZCTcQ= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=solid-run.com; spf=pass smtp.mailfrom=solid-run.com; dkim=pass (1024-bit key) header.d=solidrn.onmicrosoft.com header.i=@solidrn.onmicrosoft.com header.b=GAy6BBSv; arc=fail smtp.client-ip=40.107.20.102 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=solid-run.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=solid-run.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=solidrn.onmicrosoft.com header.i=@solidrn.onmicrosoft.com header.b="GAy6BBSv" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YVKPVGgWQFlvye0PeUyFcyfIp2x7DmDazMTmDb4xsTD75h90YU00yvbcek71n0s7rgDkAB40JeIUgJ6GVLq7N7XcAPaOjBnbXJLpe/ZUb5/JWo4ci8+I08GBZFcKV2Cf+DJQ+elS9fV2Eg2FEOp5GN6YFsgRx39dKKKOZKdULwOtuGsBkjNINoAnixFROdlE7piZwLoptX0RVCU9HCvLrHnWejj6Jhf1c3U9NDB1jW8sTQhGW5SLi3MMQKnSndGBPZii1xI02ivy96RUsrXP2UI+mLSksobWVnaOlwZRXw+313ROZB2xBJGam/bYGLD6vYGpZv/bafhY+x6oSOmkag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=LlQy4rBk6ixkdbPr4GAxyRHBN7NhXDroHp6p2aHDx64=; b=Eq2kQ7zZYb0wXPgOdmIOP7GAPy9fGxtX0qvVFcVjggO7A+yki//0vIe7VSCD9kLn7AzRyVApgJJPnN1oEPNHJNhyXAIW02lkcIqHoUlihehg33PG+tIykt9n0vCpI0bEnH7owMf/JQ7S1Gsum85Xp8pUa+kybHd3v9JpNWBpHuKVTgGAXm582byWSh/BapE6SGue/kpGbM7ftFEc0gO1kerASYfHDftKO+b2cyxoXl6uwGCGRHC7ats1uVyRFjKio9Jin40O7qEGeiB0FwT4KHpP27cN++WB8GBm8cJ0Ns3iPxOnq6pf6PT5ZKTXWivt/wB/LBnE5mty+LVJnOq+WA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=solid-run.com; dmarc=pass action=none header.from=solid-run.com; dkim=pass header.d=solid-run.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=solidrn.onmicrosoft.com; s=selector1-solidrn-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=LlQy4rBk6ixkdbPr4GAxyRHBN7NhXDroHp6p2aHDx64=; b=GAy6BBSvKU5asasO8G8teq7W3bmRoO2FUPMVPu+26XWNw/IdP+9qC39a0rv8vcSIwlMDv7LvtIs1isvwSECAIFiiKKpKMnuP/dBKjmeF2Fg16JcInIX8Dhso6LBcz6F1j1zSFUVFtcX/PhVGczWVUZDXyA6hNFovRLrOrJ/EaRw= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=solid-run.com; Received: from AM9PR04MB7586.eurprd04.prod.outlook.com (2603:10a6:20b:2d5::17) by VI2PR04MB10714.eurprd04.prod.outlook.com (2603:10a6:800:26d::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.29; Thu, 4 Jul 2024 15:03:46 +0000 Received: from AM9PR04MB7586.eurprd04.prod.outlook.com ([fe80::c04e:8a97:516c:5529]) by AM9PR04MB7586.eurprd04.prod.outlook.com ([fe80::c04e:8a97:516c:5529%5]) with mapi id 15.20.7741.017; Thu, 4 Jul 2024 15:03:45 +0000 From: Josua Mayer Date: Thu, 04 Jul 2024 17:03:20 +0200 Subject: [PATCH v7 2/5] dt-bindings: arm64: marvell: add solidrun cn9132 CEX-7 evaluation board Message-Id: <20240704-cn9130-som-v7-2-eea606ba5faa@solid-run.com> References: <20240704-cn9130-som-v7-0-eea606ba5faa@solid-run.com> In-Reply-To: <20240704-cn9130-som-v7-0-eea606ba5faa@solid-run.com> To: Andrew Lunn , Gregory Clement , Sebastian Hesselbarth , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Richard Cochran Cc: Yazan Shhady , linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, Josua Mayer , Krzysztof Kozlowski X-Mailer: b4 0.12.4 X-ClientProxiedBy: FR0P281CA0081.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1e::7) To AM9PR04MB7586.eurprd04.prod.outlook.com (2603:10a6:20b:2d5::17) Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM9PR04MB7586:EE_|VI2PR04MB10714:EE_ X-MS-Office365-Filtering-Correlation-Id: 8341b73f-0c2d-4b29-927a-08dc9c3a8067 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|52116014|1800799024|366016|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?oCN8+28QmZZ/a+/nY4GkcjLhrXwIQ8D?= =?utf-8?q?xLAbDNRAiKvDo/MwsTMZ6ASGmLDKBSQbS7LQNacj+oJfV7eAXZpuoRE3N4rnEKTi1?= =?utf-8?q?8AMuNC6vNQC8kHokh64bTNTsgp9hTx8VGB7H2lBbZoHGl1Q42A9zojvuBTfHPaDrF?= =?utf-8?q?0NThBVuxDLZNDrjWCVMz7b8vduTRVcestRLOWBbolYmE/bdAcbPBiFYXdg5O2vARk?= =?utf-8?q?o0S/j3Ofs3Q+V7YA8Kan5E5u3wUIxOefZQTn+bBuFLY6PKOKxrqqHVFZRtt3/67gu?= =?utf-8?q?z0v3oL2V4KKmkidwW77M5NdQc1REGJXKn0yyWpcTMcQDjxUpL6kRVATKAKPkbxWcY?= =?utf-8?q?KRrxHS5+1rOiH9bsl23clegxoUnZQCuJk9f3N1j4VP1eHV2idncE4Yc4Z0sdbiKac?= =?utf-8?q?5nDGtgfMPgqao8XYPtqyqs+Om0Evk9AraCA+rgZhGkaXRt13OlGx+pKPrVPTfbWUT?= =?utf-8?q?BekSa3DyPDdO8qPam/SBcSJqAGyTjURIy/oXuQPXtP9VSu7585XJyCfREJkrVQDog?= =?utf-8?q?VtIVoPRvwaKtHmz9KwglY7tFy+1ci5/GfMs+fnDfYQrzFnDsOQ9f2t7fOpWyYB7Mt?= =?utf-8?q?L6XZJnuRl1s25NYVUSZna/FX4sexiR12MFWq91lt+b7Z+upshVvupGFlg1eN9pKFw?= =?utf-8?q?eQmIAqaWeIQa4xVN0fRNGhuz+vREB+mPtnJ+mJ2mpHaKoKMZTWtAV7wWJhVS5Ao9i?= =?utf-8?q?4ljVld85F9PvqSTKGLakMJAc7EQPtmjxUChDUv10huq5nmbAiLU4JZTT3BJxW1ggD?= =?utf-8?q?8ezoUJhKkloT1ogB5CIWbjtpHa0nmo1y2Fx2LBkX8oTP4AXrgFAYj3jYe8qHBygn5?= =?utf-8?q?d3OyLLNw2xlJbdM6KHqu+AuwMK7yBWg+tnPJU1JsADzvICyiU+rhkzbiVAJBcjrMn?= =?utf-8?q?esZ06H5BoEpAGe9uHQuUqYtXtXkhdPAQ/PkVFSBgHBqqGOKImxUgeMfhp+0XoqxRK?= =?utf-8?q?7MM1Ge7N8uSGBv+mfs7UE1iBeYM1ZF8SgnETcJJKtQ+ypyoRMUAc6nys71Z0tAmFI?= =?utf-8?q?4yEscF4O9eTLK8IjW+b5LYknmp8XcnD0A+WWesAuv5tra6YmqwExxgos4C+tLYm/x?= =?utf-8?q?EEGdhsZMoFYhKv0Ypdq/AtEqV8Kew6rdYVW60FfZND55J4BfpyAou+CD/yE1TGo6V?= =?utf-8?q?E8c/dQ4BffZkZWru/hhrj7vSX2zFfYfNfRal0NY6MaZ1ijYza7gUx0dsBLdJ8VVTo?= =?utf-8?q?TzAdpJ1Kjr3kOMKIfIZKiTZCH0n6g/jNBL1HL5N1WR5yrlsnujNtQz9VSg02xSI98?= =?utf-8?q?4KS4E6CoAEwI9O3jAA+jV5wOo44oFbg92m5GkHdS9tjz8SI7CbmAGCEZ3polsQZUk?= =?utf-8?q?LkGiu6Yt4DNYRanXqDj1BzsfWlZQ9DjKlg=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM9PR04MB7586.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(7416014)(52116014)(1800799024)(366016)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?46CcrHIti4ykJ8mdlf7GbsyfqYt2?= =?utf-8?q?iAcsvbExHvgWz+MuQYdWwfBtlqZDWWLv5iidsQ5QrceAXSSjVGY7m4zWWM8+EVOxy?= =?utf-8?q?wWZKMv5TBB9H3dfqQ7rKWZz2VUEyitEEbaPBZr/AH7tJyPjXKG+p6pRG1QfaEiUob?= =?utf-8?q?SBO1tSVmEPkk/vkJaHENCXH+6I+B8ZiaUFfI2JkjIu7yq47ECUXFqgrtoyncrwzOv?= =?utf-8?q?15QKx+3yqBbSPDoiMrrNFQn/sdRn9CHZJrqD35X4EYbx3LMaRiOmpVW6jPu1cn8+N?= =?utf-8?q?WedG5pdA6gOSoE3AVAX3fcJwuZE+EhC5Vplg8hmIGouqC5NFecghpHic+E23/k7Nc?= =?utf-8?q?KtHt+K+uptB0G/EW/TWnN978NWo7HA7gH8O4wfqQID/0iSNbWN7lvopNOe87vGV1a?= =?utf-8?q?p/bFFddThK7CMnkcGCtCiQJRc7ayf8NvfU/ayipndjGHHEtuSGogidpe9/p45zM/1?= =?utf-8?q?rK9ONKpxF1g/3q8KLM5HUPaLoQWOtfamGZKcdHNY3XvaaRRHZkscENsmMFIEBTavZ?= =?utf-8?q?A0aMxbphD2SOtnu+vBWVUpI/1pjThlNhpl2rphtx/qPZ6xoif3kwA8lgCNYcKsLF/?= =?utf-8?q?zQw2ugzrKGFx7kZe2MIj0MD4sY22MhEl+EUUK6404PEkAX9AAh4+rSC/cMkvp1q1o?= =?utf-8?q?o3pnfwQyml2Ad2iwov5O3l34Fil0mMCLuX0itPqq+NDp7OMlXbEQ9Lu4CGoSCasl1?= =?utf-8?q?F5re+rxP2u/SmuHPDA5wrUjBrBFbeUL+8SH1/JoQmp2q0f+wJgYPB2GaTz7JnNIfN?= =?utf-8?q?IHPHR+xJnQB6ekoDf4bxn7avkhztNw2btH0qoUYr+zsRS6I642p1/JQVY/I5Te0F2?= =?utf-8?q?XRbb8eBbM90SNmdckO5QU+TWy2HbtQ9mzCdJAt0N7ahJ9q+wUr9wtytDjeAKSX3De?= =?utf-8?q?VXQwlLK+8bevHs/0geWrfZQcCErYjIkzf+NnzYHXQk8Nue4o6En+MbRe+tlx+h/qJ?= =?utf-8?q?Wum2QIwqXo/N3CC7A5WQ345sXe4jlnw8TcThTaSeGErXhBpneDsAObwQGIU18tRqL?= =?utf-8?q?ZrnpRbelzJczNHzZaEhZmIog0y5OLrZLbbCgudielpbwOqad5Yr5f52HAhZE60fFc?= =?utf-8?q?3oW/bqOyymu+SYEAdLCFdXzY29imK/HjKMXvpk/70TPthuY3UChXppEEU08JesHVv?= =?utf-8?q?wunV8fkWSm6OtRrooRXmARbkjzfBsVch7QloNAyY4elYj0LtdYjZShe8aeGt3iAH1?= =?utf-8?q?GeNBRobs3idAgq7mmJiRNrhPnUtpDq/JEJOTJEmO4vEffq/306YF+0+HnRws8tjod?= =?utf-8?q?vAWYoGTFm/LvyTXZfEa+5JSXR4pHUljyjnvoJe1OZNlZW/6mpg+niVjFKuPypxwBo?= =?utf-8?q?bYPzvLV7H2E03O/Ykl9DeCi2lMfMAO1VpQqi9dktZ8he2EYY3JGdeMt/4WfPQxKZd?= =?utf-8?q?smcOLIyuuQoJEB0aTXjBfiiC44I/iUyn1vFCS0RdlUJ7A2oVAL913Js57jlsFkKoL?= =?utf-8?q?ifycR/Pr1xR5b67UYG0fOwnwhmQym+2i09jByOeqkEN6i9AJBLXrCz6phRuRY9Vx1?= =?utf-8?q?bYN1F2h4SANs?= X-OriginatorOrg: solid-run.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8341b73f-0c2d-4b29-927a-08dc9c3a8067 X-MS-Exchange-CrossTenant-AuthSource: AM9PR04MB7586.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jul 2024 15:03:45.6940 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a4a8aaf3-fd27-4e27-add2-604707ce5b82 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: eOd+jzcWLoDjp6tfsHJMjk14v+aQzyWNHqlRI3chIod6DOSKBFvGLkWF1WKDZFEtzhPY5vTE0+aml12MzAmvfQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI2PR04MB10714 Add bindings for the SolidRun CN9132 COM-Express Type 7 evaluation board. The CEX is based on CN9130 SoC and includes two southbridges. Because CN9132 and 9131 are just names for different designs around the same SoC, no soc compatibles beside marvell,cn9130 are needed. Signed-off-by: Josua Mayer Acked-by: Krzysztof Kozlowski Reviewed-by: Andrew Lunn --- Documentation/devicetree/bindings/arm/marvell/armada-7k-8k.yaml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Documentation/devicetree/bindings/arm/marvell/armada-7k-8k.yaml b/Documentation/devicetree/bindings/arm/marvell/armada-7k-8k.yaml index 74d935ea279c..538d91be8857 100644 --- a/Documentation/devicetree/bindings/arm/marvell/armada-7k-8k.yaml +++ b/Documentation/devicetree/bindings/arm/marvell/armada-7k-8k.yaml @@ -92,4 +92,12 @@ properties: - const: solidrun,cn9130-sr-som - const: marvell,cn9130 + - description: + SolidRun CN9132 COM-Express Type 7 based single-board computers + items: + - enum: + - solidrun,cn9132-clearfog + - const: solidrun,cn9132-sr-cex7 + - const: marvell,cn9130 + additionalProperties: true From patchwork Thu Jul 4 15:03:21 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Josua Mayer X-Patchwork-Id: 13723870 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2102.outbound.protection.outlook.com [40.107.20.102]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 34BB01B14ED; Thu, 4 Jul 2024 15:03:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.20.102 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1720105437; cv=fail; b=OitXaBzih+X3udpQIZoFeAGQHINSKtn9cDfPRQLRf7OatTW8DLuPAmnikm+oe5xLfpvQG+GP4+zOMR3voFR+n7LH8UO89KjVzQfGIDT267r04hX40wlVhoxvCqfEArLeZhWQfOHdE1FTxCI9rE7iQQuyviea88T+L0AXcUz76Qs= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1720105437; c=relaxed/simple; bh=kES2HB3UmJwXWYZulDjoJS0K/eITeISVm+N26XBUkUI=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=sIWYMA9SY7AXP58me5WLJXK8iF4vwVpOZ//Rccly3ibyJ5f0KXZAVyJZlJkqdX+rqclHAqjsCSo3ITCfv12js5RNFutDzJsh4zXF2/6YY6WuA2yoafAvbO3MmfXYtCcUBUyfvNwGlDikYWDTf5SFq59agJ9TR8pLSd4gFiwSUFI= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=solid-run.com; spf=pass smtp.mailfrom=solid-run.com; dkim=pass (1024-bit key) header.d=solidrn.onmicrosoft.com header.i=@solidrn.onmicrosoft.com header.b=Y5Zmh1Qk; arc=fail smtp.client-ip=40.107.20.102 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=solid-run.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=solid-run.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=solidrn.onmicrosoft.com header.i=@solidrn.onmicrosoft.com header.b="Y5Zmh1Qk" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jKoGuu4GjVkyG/lQwliffiR7nX2MnR3NqsvqB42U1UeZYsf5i889z6XAySVdY8yqXDTXGwBJ3gyWmhEma2KZj/ixE54YD50y6ITUiOIghNpIhep9MyQcj9JjgqJRh2wi2FWnf/BIxOVbO8wOo7zADNBd4gpDl+8WMaTOYaL4O6jnsgMk7vT4hp84SAKEuaizPoDMbVDku8w1jfWKTqexYsnHcsAL8ZfrBM83c2Tbl1+r/cyHKBBioJ8EAnYh3i7KVZEflxA+G32TM9pxRtnec3npvZq1GuGpZcf6f1M667+wfKLczyrSwY+Q1XxTpruCF/Lv2EnJpsbXIGfD36cyfA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=4d05q49xYLdldzIAJAOLYnFweox24PXDvvTxGws5LHM=; b=djX0vI2+n9ZsTuX4sehraxB173AZk/1sFg+JykiRHgetx6Frdrge7WuWO2aJyqcA2WHni8zRFPmKjt1MxW8XhhfPrbU3r4MrH63foP7xSOBMSpXeh7nw85o6bPUbXsAsU/Urc8DkE54EEaxTLyV0bHEkt9atwV1iW+p9jiDC5dO1wDKMG9ExuPGmDzwrJJEmxSRsMW7qTFiXGqlwK46378BM4f9CjnlQWv6b2zBGIo2zzoBVZ0RnYQxxzd4TKsu8Pz8ZaqSddy+T1D3lL26flmOOmbhQWT9VSr2JmCzXaUgFAOY0+0Qsb273BTNBWu1H9+pEuztQirQ4I39waIRFDg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=solid-run.com; dmarc=pass action=none header.from=solid-run.com; dkim=pass header.d=solid-run.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=solidrn.onmicrosoft.com; s=selector1-solidrn-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=4d05q49xYLdldzIAJAOLYnFweox24PXDvvTxGws5LHM=; b=Y5Zmh1Qk2cBAGg8CSDHUmK/Yy5hu9wp/ClnkcvyRaHF93QLg59ZKM27rJvFgN0fhLjbtRn2nfGLttOoPS5Oo/+AlubNlnsf1ITivgjqSGwf14jQOxnJe0/H4mw5hp8ffU/PICsqGF+4EeJayzPni2j6/U8rtTKGb1ZHejaI+uSs= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=solid-run.com; Received: from AM9PR04MB7586.eurprd04.prod.outlook.com (2603:10a6:20b:2d5::17) by VI2PR04MB10714.eurprd04.prod.outlook.com (2603:10a6:800:26d::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.29; Thu, 4 Jul 2024 15:03:46 +0000 Received: from AM9PR04MB7586.eurprd04.prod.outlook.com ([fe80::c04e:8a97:516c:5529]) by AM9PR04MB7586.eurprd04.prod.outlook.com ([fe80::c04e:8a97:516c:5529%5]) with mapi id 15.20.7741.017; Thu, 4 Jul 2024 15:03:46 +0000 From: Josua Mayer Date: Thu, 04 Jul 2024 17:03:21 +0200 Subject: [PATCH v7 3/5] arm64: dts: add description for solidrun cn9130 som and clearfog boards Message-Id: <20240704-cn9130-som-v7-3-eea606ba5faa@solid-run.com> References: <20240704-cn9130-som-v7-0-eea606ba5faa@solid-run.com> In-Reply-To: <20240704-cn9130-som-v7-0-eea606ba5faa@solid-run.com> To: Andrew Lunn , Gregory Clement , Sebastian Hesselbarth , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Richard Cochran Cc: Yazan Shhady , linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, Josua Mayer X-Mailer: b4 0.12.4 X-ClientProxiedBy: FR0P281CA0081.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1e::7) To AM9PR04MB7586.eurprd04.prod.outlook.com (2603:10a6:20b:2d5::17) Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM9PR04MB7586:EE_|VI2PR04MB10714:EE_ X-MS-Office365-Filtering-Correlation-Id: 6f0eee58-e0a8-432e-8c3e-08dc9c3a80ad X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|52116014|1800799024|366016|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?jyCz3kVQp2SZWopaZAUPvmbclU4kwnF?= =?utf-8?q?Bq70H4g9+x65qszMSq+6GpKOjPtmIukXpRodZC3G3LHXSoli71x9w3Z3aFfW9Tkyv?= =?utf-8?q?TDyTPlpQv6gBVdI7BuTpbbvjT6oM6KKRVfUb5pjRLKL/TNMBWE48sPWx5fKffnoXX?= =?utf-8?q?Tb44mz35chaME6x5tmo+psut/sHfXVIO+Xq584XYCCEIxMEHR4yZZMxjw5oL49lkL?= =?utf-8?q?msJWFs1RGaWWfp9btIDY5M63WMWqu7nF6E/rQYqwjatkzQ9CkoAwj5HbyPhnTqQ/A?= =?utf-8?q?GzrfRIMRjIu6E50aPtQ0nFdiWnEqv6pWROCdR7IVX27g/XD1uTjCiujp5gJVAorcq?= =?utf-8?q?piRB3UNWKg3jqsNDRL37yOp/hx+BorwEN6fLt3nA7fpSXIr7d9/xMX6VxRkXpm3vd?= =?utf-8?q?gyJIvHtWxmT4RVNQWw8IhM2B3ujcfhccxGnQEWSk3FBtyUF0s1jUG1/hKJY8kIPyw?= =?utf-8?q?WYjZ3eunGonq2mADwcxXFxxUNNLtYeBi9zpMh8Bb1lFdVn3mJz/I95jb6qpLacRRG?= =?utf-8?q?lVC0A6ijYwk0m1S9xeLHcUdzqEHAKVWJCWPexCOQZWZ0L6Hu+2I+yRvxcauBOeTpC?= =?utf-8?q?lSlbCrJM2MjBy+iIDxJQ7M2fQAKGTZDJB/YOfGxXujIHH8E/NKiE9nRDrIpMuQSM7?= =?utf-8?q?Bp5HavVytPIOuT2kb5gsZtp0qTC3yea/l0/tkqPumklbjRpGnjEj+Z3isF9hXZ8xd?= =?utf-8?q?gojHoxS3R+1aF0b5TLhHjgRgTZch5mapSFGzWhCXGr++g32gQp9Hde1jj4UKrikHi?= =?utf-8?q?Bo1/7kU6L5m1owMvkBFfnMLnWiOW16Rsligo7gSd90Q1u1Jp+hyjvrYpngidC6EuE?= =?utf-8?q?0t3KIDJM4wru5HXUnikGRb7L+OMLZgSavwVh+s8hhXg81lRv9MflELM+MgOylo5up?= =?utf-8?q?P8YG+/io9srAm+QWResWBEnvtDVy6ZLjiOec6GdzR7WObVhodxLXfSLUNrjFgF4sT?= =?utf-8?q?RR/eZRamKlwnuf1+FBSQgLTBMzoKWZB+rBKmWzjDH3nldSfN/ZijX5izaNSKUDX1u?= =?utf-8?q?cqYio0J++EfhNJwUUNih0q6wTk/4KucvxpJSKAig20sNjWRrxxzhy1ZRpuf67BsZc?= =?utf-8?q?yNb7QQXX7Ad8T1DZvNYEWRDv0OC0Ha2DNlxOq6RoHt0CoDXFTqdxTyvBIymwogPSy?= =?utf-8?q?ARj2TMmeb07eDtlhAAR14fZC6yLVOhUCRlvGSMN6HbDgjrRiCsxHM7qPv/twpNxNH?= =?utf-8?q?bPIVG0rqjEVYYB2fQOLp88F0IWN9jY0GFlmzShSlc7ENZHi5xs4sb0cYaq/tOb5ty?= =?utf-8?q?nza7QDE0g52ptEkFAm4EwuLOgl92osgIJj1sjngmr6GmK+ualUklP47QufmcJQSkV?= =?utf-8?q?foLRdr0Rf9taDZiFEwool9Rlj5Qz1j7sLQ=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM9PR04MB7586.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(7416014)(52116014)(1800799024)(366016)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?vcDzQy31tlBoCJS6lheOG6NMsMdh?= =?utf-8?q?0OIg0CMQaOMDBol0giDZpkIoGaFu3bTTxI5KaZhuDG/sAnzd2LtZU6wZDPNtqoPlp?= =?utf-8?q?mlQG+pbECeu9pEYHkbACscjmDPnZakh8DFo2THALqFEooH7YmAqsaDQ8YP42mQ6ti?= =?utf-8?q?HIbllTnBUYBfh6x/JO91Gnft+BecMx9HMc4bMO2iFLXGLrb/a8gLAYDK8Xa5i2WkN?= =?utf-8?q?2ZOyaTtBrLXyWgE/JzWFOnFJ9VVgSvktfHbKyoTDDDf/JAsPc6yE0yeYE4vPZDng1?= =?utf-8?q?prSkq870T/Rzh0WTDgeonjiVpG0PFHrc5iP0i/X2+9qyaTX3UoToUCRdl/anpLFLh?= =?utf-8?q?J3jb9SyZP9RU0/U3YwjRy5FWMe89CQCgKWoVQfxBnmkVMP8rHZD1XLVw3gn/v6fQr?= =?utf-8?q?P+otDtamqErO2185pF4dPvnBjkMtjtc8/akBF+n6LO9loBr0HGJQ8v13vEFCcZ3h3?= =?utf-8?q?GlIyivPARaJkG/6w51NHHyC1CiJAdYV21/abalm1AtN485gaCuB5H8lStFCxaCqia?= =?utf-8?q?7bcX1dWAxTlcxSAoCrz9JnXwQl6nD7aeCYRqwbNZNc7QuDfl9zEd2vcLqTUzwhYvk?= =?utf-8?q?OPv+IBrPRewYs4L1hUZonUFaCJ3TTWd7u7gsMy+X/x4UfE4K5vaFuvWIlOPMF2SH8?= =?utf-8?q?oDHdoImJSe6TanMi4CE/yi00bf4lXbR5kQV7jZ3rCcbjSKsNoa86jrqhUhUUyI1hn?= =?utf-8?q?3vhW10WE/Wyd6pyeuPryCwZzd+bbOkV7PetXDYXL76okqhHn1j+4/mZV6eFY2w8gZ?= =?utf-8?q?VxSGqNOcviPAmWKsCy4QjyeT3wASi0XAS9E6QhWlZ26vZNFDTFm26Ab8K1DXh1ouX?= =?utf-8?q?6XdbzTLLwnxptqVjEZF+6ahvzLc+yg4KxwgAKt5R5Cq/666DwGDwcEno/Nl2gUQA4?= =?utf-8?q?EcUWzuWSX3Ciq0Xlmyw6t//lRXO6dI3pjXnni8M4i4nNoZ6l21xUh1dmcTRUBLfV7?= =?utf-8?q?2pwkFBQARndnI5cZdMxUATnkX8Pird9N/sK5ji/ufMcoPK/G/IzLgn2yXmLezmoGb?= =?utf-8?q?yKw+5k/UdPqPb/KcS39jhMfdHl2yBYyMHiJKShKwg8NgkR5kxX/WCl4NyjEcuQIar?= =?utf-8?q?CEVoCWTgO4AnKi7wWma9VXJw0BoKwz2frVLOdQuf/0VL0Je0c16GXYchQzA7YvtNI?= =?utf-8?q?xcBGAtKgPI2j3Q1Rn0zjxdiKiMFqvRWlIzKkQEak6709S06hAJMWAwOWEnqk9vEY2?= =?utf-8?q?H+UuLupGubOWRDwaEgfOskSQDuQ1KmpB0E0VU+wvRzk9PJkbW4th8+jxYKL1WWhId?= =?utf-8?q?inuSKzs+jpWiPT3Ku2mM1leKTMQx/F487iAjjDCQ1Tjozg6DWyhmfyzhUAIo1dxnU?= =?utf-8?q?M6YIc94N9RPN9pcbXSgALT+K38RrHl2FFGWXiuuUO2ywaqu9rNL6PavV1Zfvw+IKA?= =?utf-8?q?Q6KA+gsSPhgxFJrZ6X7YWc+dMgFaLuyfgbT114h9o+/CNgMpANnIFCmD/MUDPWcsW?= =?utf-8?q?2u3u+I269EU+3ICpp3wg+9qTlD2OG9xrXIBKKfkD3aGBSFkEic5QcPaY8LHc7/xg7?= =?utf-8?q?wnvoz1wa+moW?= X-OriginatorOrg: solid-run.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6f0eee58-e0a8-432e-8c3e-08dc9c3a80ad X-MS-Exchange-CrossTenant-AuthSource: AM9PR04MB7586.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jul 2024 15:03:46.1536 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a4a8aaf3-fd27-4e27-add2-604707ce5b82 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: IeSO10Ded9JTOYmDZrOUSbPVePrD6AdJKkwBYy3ZeQlpZ3zn4EQCu2XphqV/2HWpLVyTzF/AW1TtdSgMHh9X6A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI2PR04MB10714 Add description for the SolidRun CN9130 SoM, and Clearfog Base / Pro reference boards. The SoM has been designed as a pin-compatible replacement for the older Armada 388 based SoM. Therefore it supports the same boards and a similar feature set. Most notable upgrades: - 4x Cortex-A72 - 10Gbps SFP - Both eMMC and SD supported at the same time The developer first supporting this product at SolidRun decided to use different filenames for the DTBs: Armada 388 uses the full "clearfog" string while cn9130 uses the abbreviation "cf". This name is already hard-coded in pre-installed vendor u-boot and can not be changed easily. NOTICE IN CASE ANYBODY WANTS TO SELF-UPGRADE: CN9130 SoM has a different footprint from Armada 388 SoM. Components on the carrier board below the SoM may collide causing damage, such as on Clearfog Base. Signed-off-by: Josua Mayer Reviewed-by: Andrew Lunn --- arch/arm64/boot/dts/marvell/Makefile | 2 + arch/arm64/boot/dts/marvell/cn9130-cf-base.dts | 178 ++++++++++++ arch/arm64/boot/dts/marvell/cn9130-cf-pro.dts | 375 +++++++++++++++++++++++++ arch/arm64/boot/dts/marvell/cn9130-cf.dtsi | 197 +++++++++++++ arch/arm64/boot/dts/marvell/cn9130-sr-som.dtsi | 160 +++++++++++ 5 files changed, 912 insertions(+) diff --git a/arch/arm64/boot/dts/marvell/Makefile b/arch/arm64/boot/dts/marvell/Makefile index 99b8cb3c49e1..019f2251d696 100644 --- a/arch/arm64/boot/dts/marvell/Makefile +++ b/arch/arm64/boot/dts/marvell/Makefile @@ -28,3 +28,5 @@ dtb-$(CONFIG_ARCH_MVEBU) += cn9130-crb-A.dtb dtb-$(CONFIG_ARCH_MVEBU) += cn9130-crb-B.dtb dtb-$(CONFIG_ARCH_MVEBU) += ac5x-rd-carrier-cn9131.dtb dtb-$(CONFIG_ARCH_MVEBU) += ac5-98dx35xx-rd.dtb +dtb-$(CONFIG_ARCH_MVEBU) += cn9130-cf-base.dtb +dtb-$(CONFIG_ARCH_MVEBU) += cn9130-cf-pro.dtb diff --git a/arch/arm64/boot/dts/marvell/cn9130-cf-base.dts b/arch/arm64/boot/dts/marvell/cn9130-cf-base.dts new file mode 100644 index 000000000000..788a5c302b17 --- /dev/null +++ b/arch/arm64/boot/dts/marvell/cn9130-cf-base.dts @@ -0,0 +1,178 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (C) 2024 Josua Mayer + * + * DTS for SolidRun CN9130 Clearfog Base. + * + */ + +/dts-v1/; + +#include +#include + +#include "cn9130.dtsi" +#include "cn9130-sr-som.dtsi" +#include "cn9130-cf.dtsi" + +/ { + model = "SolidRun CN9130 Clearfog Base"; + compatible = "solidrun,cn9130-clearfog-base", + "solidrun,cn9130-sr-som", "marvell,cn9130"; + + gpio-keys { + compatible = "gpio-keys"; + pinctrl-0 = <&rear_button_pins>; + pinctrl-names = "default"; + + button-0 { + /* The rear SW3 button */ + label = "Rear Button"; + gpios = <&cp0_gpio1 31 GPIO_ACTIVE_LOW>; + linux,can-disable; + linux,code = ; + }; + }; + + rfkill-m2-gnss { + compatible = "rfkill-gpio"; + label = "m.2 GNSS"; + radio-type = "gps"; + /* rfkill-gpio inverts internally */ + shutdown-gpios = <&expander0 9 GPIO_ACTIVE_HIGH>; + }; + + /* M.2 is B-keyed, so w-disable is for WWAN */ + rfkill-m2-wwan { + compatible = "rfkill-gpio"; + label = "m.2 WWAN"; + radio-type = "wwan"; + /* rfkill-gpio inverts internally */ + shutdown-gpios = <&expander0 8 GPIO_ACTIVE_HIGH>; + }; +}; + +/* SRDS #3 - SGMII 1GE */ +&cp0_eth1 { + phy = <&phy1>; + phys = <&cp0_comphy3 1>; + phy-mode = "sgmii"; + status = "okay"; +}; + +&cp0_eth2_phy { + /* + * Configure LEDs default behaviour: + * - LED[0]: link/activity: On/blink (green) + * - LED[1]: link is 100/1000Mbps: On (yellow) + * - LED[2]: high impedance (floating) + */ + marvell,reg-init = <3 16 0xf000 0x0a61>; + + leds { + #address-cells = <1>; + #size-cells = <0>; + + led@0 { + reg = <0>; + color = ; + function = LED_FUNCTION_WAN; + default-state = "keep"; + }; + + led@1 { + reg = <1>; + color = ; + function = LED_FUNCTION_WAN; + default-state = "keep"; + }; + }; +}; + +&cp0_gpio1 { + sim-select-hog { + gpio-hog; + gpios = <27 GPIO_ACTIVE_HIGH>; + output-high; + line-name = "sim-select"; + }; +}; + +&cp0_mdio { + phy1: ethernet-phy@1 { + reg = <1>; + /* + * Configure LEDs default behaviour: + * - LED[0]: link/activity: On/blink (green) + * - LED[1]: link is 100/1000Mbps: On (yellow) + * - LED[2]: high impedance (floating) + * + * Configure LEDs electrical polarity + * - on-state: low + * - off-state: high (not hi-z, to avoid residual glow) + */ + marvell,reg-init = <3 16 0xf000 0x0a61>, + <3 17 0x003f 0x000a>; + + leds { + #address-cells = <1>; + #size-cells = <0>; + + led@0 { + reg = <0>; + color = ; + function = LED_FUNCTION_LAN; + default-state = "keep"; + }; + + led@1 { + reg = <1>; + color = ; + function = LED_FUNCTION_LAN; + default-state = "keep"; + }; + }; + }; +}; + +&cp0_pinctrl { + pinctrl-0 = <&sim_select_pins>; + pintrl-names = "default"; + + rear_button_pins: cp0-rear-button-pins { + marvell,pins = "mpp31"; + marvell,function = "gpio"; + }; + + sim_select_pins: cp0-sim-select-pins { + marvell,pins = "mpp27"; + marvell,function = "gpio"; + }; +}; + +/* + * SRDS #4 - USB 3.0 host on M.2 connector + * USB-2.0 Host on Type-A connector + */ +&cp0_usb3_1 { + phys = <&cp0_comphy4 1>, <&cp0_utmi1>; + phy-names = "comphy", "utmi"; + dr_mode = "host"; + status = "okay"; +}; + +&expander0 { + m2-full-card-power-off-hog { + gpio-hog; + gpios = <2 GPIO_ACTIVE_LOW>; + output-low; + line-name = "m2-full-card-power-off"; + }; + + m2-reset-hog { + gpio-hog; + gpios = <10 GPIO_ACTIVE_LOW>; + output-low; + line-name = "m2-reset"; + }; +}; diff --git a/arch/arm64/boot/dts/marvell/cn9130-cf-pro.dts b/arch/arm64/boot/dts/marvell/cn9130-cf-pro.dts new file mode 100644 index 000000000000..a27fe0042867 --- /dev/null +++ b/arch/arm64/boot/dts/marvell/cn9130-cf-pro.dts @@ -0,0 +1,375 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (C) 2024 Josua Mayer + * + * DTS for SolidRun CN9130 Clearfog Pro. + * + */ + +/dts-v1/; + +#include +#include + +#include "cn9130.dtsi" +#include "cn9130-sr-som.dtsi" +#include "cn9130-cf.dtsi" + +/ { + model = "SolidRun CN9130 Clearfog Pro"; + compatible = "solidrun,cn9130-clearfog-pro", + "solidrun,cn9130-sr-som", "marvell,cn9130"; + + gpio-keys { + compatible = "gpio-keys"; + pinctrl-0 = <&rear_button_pins>; + pinctrl-names = "default"; + + button-0 { + /* The rear SW3 button */ + label = "Rear Button"; + gpios = <&cp0_gpio2 0 GPIO_ACTIVE_LOW>; + linux,can-disable; + linux,code = ; + }; + }; +}; + +/* SRDS #3 - SGMII 1GE to L2 switch */ +&cp0_eth1 { + phys = <&cp0_comphy3 1>; + phy-mode = "sgmii"; + status = "okay"; + + fixed-link { + speed = <1000>; + full-duplex; + }; +}; + +&cp0_eth2_phy { + /* + * Configure LEDs default behaviour similar to switch ports: + * - LED[0]: link/activity: On/blink (green) + * - LED[1]: link is 100/1000Mbps: On (red) + * - LED[2]: high impedance (floating) + * + * Switch port defaults: + * - LED0: link/activity: On/blink (green) + * - LED1: link is 1000Mbps: On (red) + * + * Identical configuration is impossible with hardware offload. + */ + marvell,reg-init = <3 16 0xf000 0x0a61>; + + leds { + #address-cells = <1>; + #size-cells = <0>; + + led@0 { + reg = <0>; + color = ; + function = LED_FUNCTION_WAN; + label = "LED2"; + default-state = "keep"; + }; + + led@1 { + reg = <1>; + color = ; + function = LED_FUNCTION_WAN; + label = "LED1"; + default-state = "keep"; + }; + }; +}; + +&cp0_mdio { + ethernet-switch@4 { + compatible = "marvell,mv88e6085"; + reg = <4>; + pinctrl-0 = <&dsa_clk_pins &dsa_pins>; + pinctrl-names = "default"; + reset-gpios = <&cp0_gpio1 27 GPIO_ACTIVE_LOW>; + interrupt-parent = <&cp0_gpio1>; + interrupts = <29 IRQ_TYPE_EDGE_FALLING>; + + ethernet-ports { + #address-cells = <1>; + #size-cells = <0>; + + ethernet-port@0 { + reg = <0>; + label = "lan5"; + phy = <&switch0phy0>; + + leds { + #address-cells = <1>; + #size-cells = <0>; + + led@0 { + reg = <0>; + color = ; + function = LED_FUNCTION_LAN; + label = "LED12"; + default-state = "keep"; + }; + + led@1 { + reg = <1>; + color = ; + function = LED_FUNCTION_LAN; + label = "LED11"; + default-state = "keep"; + }; + }; + }; + + ethernet-port@1 { + reg = <1>; + label = "lan4"; + phy = <&switch0phy1>; + + leds { + #address-cells = <1>; + #size-cells = <0>; + + led@0 { + reg = <0>; + color = ; + function = LED_FUNCTION_LAN; + label = "LED10"; + default-state = "keep"; + }; + + led@1 { + reg = <1>; + color = ; + function = LED_FUNCTION_LAN; + label = "LED9"; + default-state = "keep"; + }; + }; + }; + + ethernet-port@2 { + reg = <2>; + label = "lan3"; + phy = <&switch0phy2>; + + leds { + #address-cells = <1>; + #size-cells = <0>; + + led@0 { + reg = <0>; + color = ; + function = LED_FUNCTION_LAN; + label = "LED8"; + default-state = "keep"; + }; + + led@1 { + reg = <1>; + color = ; + function = LED_FUNCTION_LAN; + label = "LED7"; + default-state = "keep"; + }; + }; + }; + + ethernet-port@3 { + reg = <3>; + label = "lan2"; + phy = <&switch0phy3>; + + leds { + #address-cells = <1>; + #size-cells = <0>; + + led@0 { + reg = <0>; + color = ; + function = LED_FUNCTION_LAN; + label = "LED6"; + default-state = "keep"; + }; + + led@1 { + reg = <1>; + color = ; + function = LED_FUNCTION_LAN; + label = "LED5"; + default-state = "keep"; + }; + }; + }; + + ethernet-port@4 { + reg = <4>; + label = "lan1"; + phy = <&switch0phy4>; + + leds { + #address-cells = <1>; + #size-cells = <0>; + + led@0 { + reg = <0>; + color = ; + function = LED_FUNCTION_LAN; + label = "LED4"; + default-state = "keep"; + }; + + led@1 { + reg = <1>; + color = ; + function = LED_FUNCTION_LAN; + label = "LED3"; + default-state = "keep"; + }; + }; + }; + + ethernet-port@5 { + reg = <5>; + label = "cpu"; + ethernet = <&cp0_eth1>; + phy-mode = "sgmii"; + + fixed-link { + speed = <1000>; + full-duplex; + }; + }; + + ethernet-port@6 { + reg = <6>; + label = "lan6"; + phy-mode = "rgmii"; + + /* + * Because of mdio address conflict the + * external phy is not readable. + * Force a fixed link instead. + */ + fixed-link { + speed = <1000>; + full-duplex; + }; + }; + }; + + mdio { + #address-cells = <1>; + #size-cells = <0>; + + switch0phy0: ethernet-phy@0 { + reg = <0x0>; + }; + + switch0phy1: ethernet-phy@1 { + reg = <0x1>; + /* + * Indirectly configure default behaviour + * for port lan6 leds behind external phy. + * Internal PHYs are not using page 3, + * therefore writing to it is safe. + */ + marvell,reg-init = <3 16 0xf000 0x0a61>; + }; + + switch0phy2: ethernet-phy@2 { + reg = <0x2>; + }; + + switch0phy3: ethernet-phy@3 { + reg = <0x3>; + }; + + switch0phy4: ethernet-phy@4 { + reg = <0x4>; + }; + }; + + /* + * There is an external phy on the switch mdio bus. + * Because its mdio address collides with internal phys, + * it is not readable. + * + * mdio-external { + * compatible = "marvell,mv88e6xxx-mdio-external"; + * #address-cells = <1>; + * #size-cells = <0>; + * + * ethernet-phy@1 { + * reg = <0x1>; + * }; + * }; + */ + }; +}; + +/* SRDS #4 - miniPCIe (CON2) */ +&cp0_pcie1 { + num-lanes = <1>; + phys = <&cp0_comphy4 1>; + /* dw-pcie inverts internally */ + reset-gpios = <&expander0 2 GPIO_ACTIVE_HIGH>; + status = "okay"; +}; + +&cp0_pinctrl { + dsa_clk_pins: cp0-dsa-clk-pins { + marvell,pins = "mpp40"; + marvell,function = "synce1"; + }; + + dsa_pins: cp0-dsa-pins { + marvell,pins = "mpp27", "mpp29"; + marvell,function = "gpio"; + }; + + rear_button_pins: cp0-rear-button-pins { + marvell,pins = "mpp32"; + marvell,function = "gpio"; + }; + + cp0_spi1_cs1_pins: cp0-spi1-cs1-pins { + marvell,pins = "mpp12"; + marvell,function = "spi1"; + }; +}; + +&cp0_spi1 { + /* add pin for chip-select 1 on mikrobus */ + pinctrl-0 = <&cp0_spi1_pins &cp0_spi1_cs1_pins>; +}; + +/* USB-2.0 Host on Type-A connector */ +&cp0_usb3_1 { + phys = <&cp0_utmi1>; + phy-names = "utmi"; + dr_mode = "host"; + status = "okay"; +}; + +&expander0 { + /* CON2 */ + pcie1-0-clkreq-hog { + gpio-hog; + gpios = <4 GPIO_ACTIVE_LOW>; + input; + line-name = "pcie1.0-clkreq"; + }; + + /* CON2 */ + pcie1-0-w-disable-hog { + gpio-hog; + gpios = <7 GPIO_ACTIVE_LOW>; + output-low; + line-name = "pcie1.0-w-disable"; + }; +}; diff --git a/arch/arm64/boot/dts/marvell/cn9130-cf.dtsi b/arch/arm64/boot/dts/marvell/cn9130-cf.dtsi new file mode 100644 index 000000000000..ad0ab34b6602 --- /dev/null +++ b/arch/arm64/boot/dts/marvell/cn9130-cf.dtsi @@ -0,0 +1,197 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (C) 2024 Josua Mayer + * + * DTS for common base of SolidRun CN9130 Clearfog Base and Pro. + * + */ + +/ { + aliases { + /* label nics same order as armada 388 clearfog */ + ethernet0 = &cp0_eth2; + ethernet1 = &cp0_eth1; + ethernet2 = &cp0_eth0; + i2c1 = &cp0_i2c1; + mmc1 = &cp0_sdhci0; + }; + + reg_usb3_vbus0: regulator-usb3-vbus0 { + compatible = "regulator-fixed"; + regulator-name = "vbus0"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + gpios = <&expander0 6 GPIO_ACTIVE_LOW>; + }; + + sfp: sfp { + compatible = "sff,sfp"; + i2c-bus = <&cp0_i2c1>; + los-gpios = <&expander0 12 GPIO_ACTIVE_HIGH>; + mod-def0-gpios = <&expander0 15 GPIO_ACTIVE_LOW>; + tx-disable-gpios = <&expander0 14 GPIO_ACTIVE_HIGH>; + tx-fault-gpios = <&expander0 13 GPIO_ACTIVE_HIGH>; + maximum-power-milliwatt = <2000>; + }; +}; + +/* SRDS #2 - SFP+ 10GE */ +&cp0_eth0 { + managed = "in-band-status"; + phys = <&cp0_comphy2 0>; + phy-mode = "10gbase-r"; + sfp = <&sfp>; + status = "okay"; +}; + +&cp0_i2c0 { + expander0: gpio-expander@20 { + compatible = "nxp,pca9555"; + reg = <0x20>; + gpio-controller; + #gpio-cells = <2>; + pinctrl-0 = <&expander0_pins>; + pinctrl-names = "default"; + interrupt-parent = <&cp0_gpio1>; + interrupts = <4 IRQ_TYPE_LEVEL_LOW>; + + /* CON3 */ + pcie2-0-clkreq-hog { + gpio-hog; + gpios = <0 GPIO_ACTIVE_LOW>; + input; + line-name = "pcie2.0-clkreq"; + }; + + /* CON3 */ + pcie2-0-w-disable-hog { + gpio-hog; + gpios = <3 GPIO_ACTIVE_LOW>; + output-low; + line-name = "pcie2.0-w-disable"; + }; + + usb3-ilimit-hog { + gpio-hog; + gpios = <5 GPIO_ACTIVE_LOW>; + input; + line-name = "usb3-current-limit"; + }; + + m2-devslp-hog { + gpio-hog; + gpios = <11 GPIO_ACTIVE_HIGH>; + output-low; + line-name = "m.2 devslp"; + }; + }; + + /* The MCP3021 supports standard and fast modes */ + adc@4c { + compatible = "microchip,mcp3021"; + reg = <0x4c>; + }; + + carrier_eeprom: eeprom@52 { + compatible = "atmel,24c02"; + reg = <0x52>; + pagesize = <8>; + }; +}; + +&cp0_i2c1 { + /* + * Routed to SFP, M.2, mikrobus, and miniPCIe + * SFP limits this to 100kHz, and requires an AT24C01A/02/04 with + * address pins tied low, which takes addresses 0x50 and 0x51. + * Mikrobus doesn't specify beyond an I2C bus being present. + * PCIe uses ARP to assign addresses, or 0x63-0x64. + */ + clock-frequency = <100000>; + pinctrl-0 = <&cp0_i2c1_pins>; + pinctrl-names = "default"; + status = "okay"; +}; + +/* SRDS #5 - miniPCIe (CON3) */ +&cp0_pcie2 { + num-lanes = <1>; + phys = <&cp0_comphy5 2>; + /* dw-pcie inverts internally */ + reset-gpios = <&expander0 1 GPIO_ACTIVE_HIGH>; + status = "okay"; +}; + +&cp0_pinctrl { + cp0_i2c1_pins: cp0-i2c1-pins { + marvell,pins = "mpp35", "mpp36"; + marvell,function = "i2c1"; + }; + + cp0_mmc0_pins: cp0-mmc0-pins { + marvell,pins = "mpp43", "mpp56", "mpp57", "mpp58", + "mpp59", "mpp60", "mpp61"; + marvell,function = "sdio"; + }; + + mikro_spi_pins: cp0-spi1-cs1-pins { + marvell,pins = "mpp12"; + marvell,function = "spi1"; + }; + + mikro_uart_pins: cp0-uart-pins { + marvell,pins = "mpp2", "mpp3"; + marvell,function = "uart1"; + }; + + expander0_pins: cp0-expander0-pins { + marvell,pins = "mpp4"; + marvell,function = "gpio"; + }; +}; + +/* SRDS #0 - SATA on M.2 connector */ +&cp0_sata0 { + phys = <&cp0_comphy0 1>; + status = "okay"; + + /* only port 1 is available */ + /delete-node/ sata-port@0; +}; + +/* microSD */ +&cp0_sdhci0 { + pinctrl-0 = <&cp0_mmc0_pins>; + pinctrl-names = "default"; + bus-width = <4>; + no-1-8-v; + status = "okay"; +}; + +&cp0_spi1 { + /* CS1 for mikrobus */ + pinctrl-0 = <&cp0_spi1_pins &mikro_spi_pins>; +}; + +/* + * SRDS #1 - USB-3.0 Host on Type-A connector + * USB-2.0 Host on mPCI-e connector (CON3) + */ +&cp0_usb3_0 { + phys = <&cp0_comphy1 0>, <&cp0_utmi0>; + phy-names = "comphy", "utmi"; + vbus-supply = <®_usb3_vbus0>; + dr_mode = "host"; + status = "okay"; +}; + +&cp0_utmi { + status = "okay"; +}; + +/* mikrobus uart */ +&cp0_uart0 { + pinctrl-0 = <&mikro_uart_pins>; + pinctrl-names = "default"; + status = "okay"; +}; diff --git a/arch/arm64/boot/dts/marvell/cn9130-sr-som.dtsi b/arch/arm64/boot/dts/marvell/cn9130-sr-som.dtsi new file mode 100644 index 000000000000..4676e3488f54 --- /dev/null +++ b/arch/arm64/boot/dts/marvell/cn9130-sr-som.dtsi @@ -0,0 +1,160 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright (C) 2024 Josua Mayer + * + */ + +#include + +/ { + model = "SolidRun CN9130 SoM"; + compatible = "solidrun,cn9130-sr-som", "marvell,cn9130"; + + aliases { + ethernet0 = &cp0_eth0; + ethernet1 = &cp0_eth1; + ethernet2 = &cp0_eth2; + i2c0 = &cp0_i2c0; + mmc0 = &ap_sdhci0; + rtc0 = &cp0_rtc; + }; + + chosen { + stdout-path = "serial0:115200n8"; + }; + + v_1_8: regulator-1-8 { + compatible = "regulator-fixed"; + regulator-name = "1v8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + + /* requires assembly of R9307 */ + vhv: regulator-vhv-1-8 { + compatible = "regulator-fixed"; + regulator-name = "vhv-1v8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + pinctrl-0 = <&cp0_reg_vhv_pins>; + pinctrl-names = "default"; + gpios = <&cp0_gpio2 9 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; +}; + +&ap_pinctrl { + ap_mmc0_pins: ap-mmc0-pins { + marvell,pins = "mpp0", "mpp1", "mpp2", "mpp3", "mpp4", "mpp5", + "mpp6", "mpp7", "mpp8", "mpp9", "mpp10", "mpp12"; + marvell,function = "sdio"; + /* + * mpp12 is emmc reset, function should be sdio (hw_rst), + * but pinctrl-mvebu does not support this. + * + * From pinctrl-mvebu.h: + * "The name will be used to switch to this setting in DT description, e.g. + * marvell,function = "uart2". subname is only for debugging purposes." + */ + }; +}; + +&ap_sdhci0 { + bus-width = <8>; + pinctrl-0 = <&ap_mmc0_pins>; + pinctrl-names = "default"; + vqmmc-supply = <&v_1_8>; + status = "okay"; +}; + +&cp0_ethernet { + status = "okay"; +}; + +/* for assembly with phy */ +&cp0_eth2 { + pinctrl-names = "default"; + pinctrl-0 = <&cp0_eth2_pins>; + phy-mode = "rgmii-id"; + phy = <&cp0_eth2_phy>; + status = "okay"; +}; + +&cp0_i2c0 { + pinctrl-names = "default"; + pinctrl-0 = <&cp0_i2c0_pins>; + clock-frequency = <100000>; + status = "okay"; + + som_eeprom: eeprom@53 { + compatible = "atmel,24c02"; + reg = <0x53>; + pagesize = <8>; + }; +}; + +&cp0_mdio { + pinctrl-0 = <&cp0_mdio_pins>; + status = "okay"; + + /* assembly option */ + cp0_eth2_phy: ethernet-phy@0 { + reg = <0>; + }; +}; + +&cp0_spi1 { + status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&cp0_spi1_pins>; + /* max speed limited by a mux */ + spi-max-frequency = <1800000000>; + + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + /* read command supports max. 50MHz */ + spi-max-frequency = <50000000>; + }; +}; + +&cp0_syscon0 { + cp0_pinctrl: pinctrl { + compatible = "marvell,cp115-standalone-pinctrl"; + + cp0_eth2_pins: cp0-ge2-rgmii-pins { + marvell,pins = "mpp44", "mpp45", "mpp46", "mpp47", + "mpp48", "mpp49", "mpp50", "mpp51", + "mpp52", "mpp53", "mpp54", "mpp55"; + /* docs call it "ge2", but cp110-pinctrl "ge1" */ + marvell,function = "ge1"; + }; + + cp0_i2c0_pins: cp0-i2c0-pins { + marvell,pins = "mpp37", "mpp38"; + marvell,function = "i2c0"; + }; + + cp0_mdio_pins: cp0-mdio-pins { + marvell,pins = "mpp40", "mpp41"; + marvell,function = "ge"; + }; + + cp0_spi1_pins: cp0-spi1-pins { + marvell,pins = "mpp13", "mpp14", "mpp15", "mpp16"; + marvell,function = "spi1"; + }; + + cp0_reg_vhv_pins: cp0-reg-vhv-pins { + marvell,pins = "mpp41"; + marvell,function = "gpio"; + }; + }; +}; + +/* AP default console */ +&uart0 { + pinctrl-0 = <&uart0_pins>; + pinctrl-names = "default"; + status = "okay"; +}; From patchwork Thu Jul 4 15:03:22 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Josua Mayer X-Patchwork-Id: 13723868 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2102.outbound.protection.outlook.com [40.107.20.102]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 86AA71B11E9; Thu, 4 Jul 2024 15:03:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.20.102 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1720105434; cv=fail; b=Ru3ZGlqsEFJ07henbp2yhHTbbRKw0XTGddm7csiu5AoH68jyBOixEF2fdVGBYtXL/tttWOWr7MbEly6deqoyQrf6zP2rBB8p35YmRlDdbxdcgmJnwWHn1rW81imSNCb0YBC+h4ZIuDTzdITXEtQOMQ40eZcSJBhEF8q4sHxhf+0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1720105434; c=relaxed/simple; bh=TjqY5poStO6rZ9XUcYuW1uk2taLdDumd2hFUIavQPV4=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=Duy0yeITvdRbXCfsn9LUSOIFrxc8Ve3aInm7ej2QRQ0zd7Ffj5JnT7G+WH+Qs4G1adssrp8yY+l+aYZwpqWqlgq8UD+zV7snsuJZ4DfJyCGjPEPUQ5K2a6tC8LfMEolTiOpOXm3JgJNNFAlnQEsqVufozEa31Hjdgg4YzlFHDpM= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=solid-run.com; spf=pass smtp.mailfrom=solid-run.com; dkim=pass (1024-bit key) header.d=solidrn.onmicrosoft.com header.i=@solidrn.onmicrosoft.com header.b=k0kQeAjR; arc=fail smtp.client-ip=40.107.20.102 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=solid-run.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=solid-run.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=solidrn.onmicrosoft.com header.i=@solidrn.onmicrosoft.com header.b="k0kQeAjR" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=A3LH7LX+B4A/OCLklLHGtvH1LZTpZdBJSqGQ+Hoo1vgfHPvVKsPtvk5ffct8og8pvUS4saPI/Tp9AhzUaWv7hUlGoRFUybl+AJH46antARywQkIAjrnhFM0MkGG9ZDnB9IU7ZBMjrPDX+as7bmfYO5/QXX7i/V7VVqYkEEOnQwIurbcdSZreLrrfutJDgT1MFt0JzRjYSQSJ/cXLoUIpn0unfS1WM4tTtnv7LnT+8oPWt2DC6pmBlM+KVv4rKFAPfeYR7T6gFdxgtBA8QxgWzaSyGsjJDj2gtqVBwD1P2cv9udwpNjABROcrWtGxCGevhAt9fPStzIcr3xMXjASADQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=e5UHay0sun3GYifzFmxig3whsD1MbfqU+nn+/IfF07g=; b=A1Tu2FQMN0RUHFIR6hcnFzGWz2q5aVLLVTAhSaM+3XwZ2AIoVe4nBpTg+awS3bKT7NaSys9hjF5ADmQCkZisuRtpZDtCJZru+Y8ehRq/rTVDU03WDG15uOcoIkZuJ8xXFxeCegszVZt0fHDcp5uesvKo8F/XjCSffnZ2xWHz/VfZH+0D5/rVACkGUw3qMZiiDa+R2W/zwzZEbF5yS1l0XOvH74eKRPPINaQwJavqaOB1tNln8DZU58+PW1KKMMWBTwsxatNB1W2b/gDZJnc1NHNfIOBvWtWXESx2b7337PxYq1VfHqDYsxGHJiMca6Cjkbh8f8bRGF+/MDZqAlpBmw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=solid-run.com; dmarc=pass action=none header.from=solid-run.com; dkim=pass header.d=solid-run.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=solidrn.onmicrosoft.com; s=selector1-solidrn-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=e5UHay0sun3GYifzFmxig3whsD1MbfqU+nn+/IfF07g=; b=k0kQeAjRxaC2LgXWTN8B2vNTLJ0uZ+cpOosF824SzFMUXbSMO7DEgjzKklcG/PawopGtJ8Sa4tOJwkW2nc8AuG+aqfXkK1jc36CAR1EwreXinik0fUKFDnJbieBa/tiM8TJCdDoLnZI14FZzzgGxIo28xZBAoOgoDzL9QPh42DY= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=solid-run.com; Received: from AM9PR04MB7586.eurprd04.prod.outlook.com (2603:10a6:20b:2d5::17) by VI2PR04MB10714.eurprd04.prod.outlook.com (2603:10a6:800:26d::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.29; Thu, 4 Jul 2024 15:03:46 +0000 Received: from AM9PR04MB7586.eurprd04.prod.outlook.com ([fe80::c04e:8a97:516c:5529]) by AM9PR04MB7586.eurprd04.prod.outlook.com ([fe80::c04e:8a97:516c:5529%5]) with mapi id 15.20.7741.017; Thu, 4 Jul 2024 15:03:46 +0000 From: Josua Mayer Date: Thu, 04 Jul 2024 17:03:22 +0200 Subject: [PATCH v7 4/5] arm64: dts: add description for solidrun cn9131 solidwan board Message-Id: <20240704-cn9130-som-v7-4-eea606ba5faa@solid-run.com> References: <20240704-cn9130-som-v7-0-eea606ba5faa@solid-run.com> In-Reply-To: <20240704-cn9130-som-v7-0-eea606ba5faa@solid-run.com> To: Andrew Lunn , Gregory Clement , Sebastian Hesselbarth , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Richard Cochran Cc: Yazan Shhady , linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, Josua Mayer X-Mailer: b4 0.12.4 X-ClientProxiedBy: FR0P281CA0081.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1e::7) To AM9PR04MB7586.eurprd04.prod.outlook.com (2603:10a6:20b:2d5::17) Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM9PR04MB7586:EE_|VI2PR04MB10714:EE_ X-MS-Office365-Filtering-Correlation-Id: d3255fc3-4af0-45ca-1ebc-08dc9c3a80f6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|52116014|1800799024|366016|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?Qs6i6ayUT0abb76XtpMcSWd/dVBNzDW?= =?utf-8?q?cBJHEF8UN75100MGEBiICOzGZSM9fiM4cSLSKEIqLzjjDk+viKyYqO0lDv9EyDkGP?= =?utf-8?q?6g/502CLFd4D6oTSOfzeLVgTK87MdrYKm8nNsktcnja1il0yyWBeZ7TZtgs79fwsX?= =?utf-8?q?kGOShVkGfef/cfBXFFIr1pHh4zOrxOUYQCJWRR60XIqEr5wZZlSkJFHI1R+phHtiq?= =?utf-8?q?G1kLlv3d00aaQoABY2gZMC6JqK5/tAw6KOifBBIu1jr0hQk9oatD/BqhYbbYSkehp?= =?utf-8?q?mGQzLKNNykzTOyUMduoKUO88C3PwiT4Bn1/s0f+fKjkQfmMr6UHKKeGgxeSljzLmD?= =?utf-8?q?E2NNcKbfr0Ne1vbxzjeAHQShgpIWKgbG1ML8oaKD+fJGWIqB2maN/QX3R7VGR7ieS?= =?utf-8?q?/EMzRaDEXzp6rWhoJyWWDg8nsuc5wQWPxHIB2FuHsREc4q6JVIj/rtLSrBnDJh9Dt?= =?utf-8?q?iGTsIXud9Z6a2iKVPfOmnkxaOTlITMsIs6Dg+9FQ07uYrz9SL7xT9PjnWBMGtYi8c?= =?utf-8?q?Q7n6mBK43gpMPNMvpH6s0kNBTpKJeJ3EXuxwuOePM5Ig+KfLfCuwx9vtbYYtlF7ao?= =?utf-8?q?A4+WD5pXyLxdzCWnOpsfjRRzld0rOl0/AtnnMWvmJg6GKb3+PY1oaR6BxErN+DouX?= =?utf-8?q?neLhTrl2734Lg26XdEy0q9jiR2NqWkPJGTkmT0pXZsBCEXXiS6h5Ox/HTKijtewfy?= =?utf-8?q?m6lrxhUyenbyg+7s/K2WoIlWyv0m1YQxdlH6F/ga+2FLoo1J2mV0H0UNAY/kdVMuW?= =?utf-8?q?bwHsN8cT/coF3uBW4kgdMEo5LsYeSZVgqfZf2BYWQZbhMmwBZ8nIjcocMGCzrUHKM?= =?utf-8?q?0z97tG4v4pzTtwUZtbBOPEJQbv1ElPbgXMwKsnEjgssgQ9mfk6iVnI3k9klKZLLgM?= =?utf-8?q?zYqa5rSuXkj0tShYN+NSwY3LKNZf+2PecMt9ElfXEOCP49ogE5y75Fy1HdZmF/3CF?= =?utf-8?q?z8tv0pdr04GU2sV/WO/73tRyHNxZT6eghx8tjqy+uPGUkPS/3aF0ekGkVkOCWjB7F?= =?utf-8?q?xwsTMv9/9hdRccbK1FcLTkl7HKTHdpJcfGLIbalLf5Tyzrq4YiJEkovgcoKFLWevA?= =?utf-8?q?+zsHMOQNxatpI1qssCK+ok2c/99+pj69BlMlWvwtruJ2a3pWuOcJhYz5BBCe5mkEO?= =?utf-8?q?/wICr+eh4r7M7UriRM2LEcQVHkvGo35cKNvChhpdeI/LKf+fd9eqdMWKGO8zgH5X1?= =?utf-8?q?CGzotAWydkRikaRXyfIEAgazSioY4w94/pqdUu4S7VC8XjetFwIDxPHi60HrUK31s?= =?utf-8?q?K+S+/zulVsgSZpixkg8toN19nzGtDcXXjtbUrsmauC0JAJizyWkSKAM2ONG+iX71O?= =?utf-8?q?jhzvI+imyuAQ7d7U3S9le2B08zKrpJ73iA=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM9PR04MB7586.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(7416014)(52116014)(1800799024)(366016)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?EeUYWb96sl0eYKfnYmq8cv08eYJE?= =?utf-8?q?7jP/lDWg+GPilzTh+XB0zpy7BDzCgD6sglsnr7+LG6faH6PimX4nP2sJ8B4UuoopE?= =?utf-8?q?Ld7zLyiZdC33TB3Ygn9wM8q5HmXM4vlCHFYu6uzEE3zJtiVcqnI3XC0aIXlVhvLe7?= =?utf-8?q?btgvN77dO62QS7qLBd5zOIIajaSsJUphrAHolGXMaf2kufmGe10ZBiRkvuTgCfupn?= =?utf-8?q?5/7hP/nvUE9Mal1Z6gcrXvH+0ciYDBjCNv8UcPovsrVcVNFBfRQbIvNLy5U3H4LtI?= =?utf-8?q?Kulh4bIYXaDaTeaT0xBi+i2p2PbH+qOX2wk685p+s+dD/P/XrHLsPNzHULMPX38C7?= =?utf-8?q?OIXdw+4CqsgW0o9+yLBxujuKpPk05ovXk7BNPnUMQuOoJp26LxnyeqPxWBt63yGqP?= =?utf-8?q?oIc87vzPJkZB2oQzvNQBq2El9dwxRNJ3Wc01Ej5sJmO4RhqS8BjZpi9fWEpoUrgjc?= =?utf-8?q?FM6LV35TAycOobu/s6q3aoSW6jQfKdlGy6KDXKm29fr2EQI5/lD+6U8Bg1XK6BfJz?= =?utf-8?q?hj0anW+d8LBX4VkGS4HnhJFL/t4x6aQKK3OrmsmPkA+lMdF/qJ/kPoVWj1VHJka8D?= =?utf-8?q?mvsyQ1ZxvqMRLoiNv6fNPq5GFW/qk/E84uJVCWApAxPnt4qYmKX92B0v2Dask+5Od?= =?utf-8?q?ypemdQdDO0BT+SHSeog/gfiIK+XLm7jhQCWyvAqGR6nyDu/JJMizd49FqtS7j75TK?= =?utf-8?q?3XiPuMEdmnx4zcyY9yc1DlIGRkuUHA1LvspKwzzVTES/jzf0AHMNOxzahmFmrYbfN?= =?utf-8?q?NlNla1h9kHmwrvmYZOfh87BjCIFhue3j7VUn6ZZ6lVMkRBNMdQJDml9ZpN3DOXcmV?= =?utf-8?q?cQkqW71+5Yiu9g86ZHTrnUPRKBUlA2V0+cS9xN4lkNQUA3+vMMhDN1za6MHhZqEU0?= =?utf-8?q?JnoGmRjf65caoSJgBcU2ONQSkoW8wlt2EpiENcW5Y/0zpoS/HcL0tBDkw/dp3Z2sD?= =?utf-8?q?RA3LZzN4syq+INHYnPTgv50rIIx3s3jc4Og09OedNiHS2/WsgNNJ+JohvV5YR3SM+?= =?utf-8?q?8qp4jf/bzWaK8WGciC0hlnbMZI+InJLSTURKVg/e9pP3er1LbWJatc8RoImVgUrlT?= =?utf-8?q?37qKX6HNsPvAeATXzycDhZD8uaaCKqDE35nLUoHk38g3okaoHVUDdr3Dyy7cJxGv+?= =?utf-8?q?qlo9CQb38CmVDrEviD1LdaUoMikW+/orYjvUk6RFSDhlKPfTHSUJycHmWYIe8PY2V?= =?utf-8?q?9adDlCCUkdRahquPUPy+ry4/GY1Lm9aHgk/l6c888REuV9MDnzqPFwPc/CFKeBGLs?= =?utf-8?q?wtuRbRYV2jb6hCW6M5pGIsvhbTyQ4sorcCzkRvoG9Y/GAMilMVb8zgmiCtqOJPOar?= =?utf-8?q?Bj7zumRZEtM5KCtmC0DNf/vZIHR3tjpge4HNYp5pqd47XXcx6UJ3S4tC42Nv7lNTE?= =?utf-8?q?o/rt+GBBVBLtjIPaX4uVjU987WNMt2gJEJ8p85soNTiBV0NRgwQNM7nLMLuIgVBc9?= =?utf-8?q?D97XGRv5iVKfbmt0mSrRP/MLj/krWopy4p6iiZQzMe0/dddgf7eggRdtAH3f//kly?= =?utf-8?q?HT2+JCL+XYSK?= X-OriginatorOrg: solid-run.com X-MS-Exchange-CrossTenant-Network-Message-Id: d3255fc3-4af0-45ca-1ebc-08dc9c3a80f6 X-MS-Exchange-CrossTenant-AuthSource: AM9PR04MB7586.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jul 2024 15:03:46.6523 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a4a8aaf3-fd27-4e27-add2-604707ce5b82 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Zr60tEqYvHw9WOH5V0sobKblhKHgTDE89pR9snXR6PAMB2NDnWdOhZUNSMDHd10pvNjgWaIfBMXVJQcHY+khcQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI2PR04MB10714 Add description for the SolidRun CN9131 SolidWAN, based on CN9130 SoM with an extra communication processor on the carrier board. This board differentiates itself from CN9130 Clearfog by providing additional SoC native network interfaces and pci buses: 2x 10Gbps SFP+ 4x 1Gbps RJ45 1x miniPCI-E 1x m.2 b-key with sata, usb-2.0 and usb-3.0 1x m.2 m-key with pcie and usb-2.0 1x m.2 b-key with pcie, usb-2.0, usb-3.0 and 2x sim slots 1x mpcie with pcie only 2x type-a usb-2.0/3.0 Signed-off-by: Josua Mayer --- arch/arm64/boot/dts/marvell/Makefile | 1 + arch/arm64/boot/dts/marvell/cn9131-cf-solidwan.dts | 637 +++++++++++++++++++++ 2 files changed, 638 insertions(+) diff --git a/arch/arm64/boot/dts/marvell/Makefile b/arch/arm64/boot/dts/marvell/Makefile index 019f2251d696..16f9d7156d9f 100644 --- a/arch/arm64/boot/dts/marvell/Makefile +++ b/arch/arm64/boot/dts/marvell/Makefile @@ -30,3 +30,4 @@ dtb-$(CONFIG_ARCH_MVEBU) += ac5x-rd-carrier-cn9131.dtb dtb-$(CONFIG_ARCH_MVEBU) += ac5-98dx35xx-rd.dtb dtb-$(CONFIG_ARCH_MVEBU) += cn9130-cf-base.dtb dtb-$(CONFIG_ARCH_MVEBU) += cn9130-cf-pro.dtb +dtb-$(CONFIG_ARCH_MVEBU) += cn9131-cf-solidwan.dtb diff --git a/arch/arm64/boot/dts/marvell/cn9131-cf-solidwan.dts b/arch/arm64/boot/dts/marvell/cn9131-cf-solidwan.dts new file mode 100644 index 000000000000..b1ea7dcaed17 --- /dev/null +++ b/arch/arm64/boot/dts/marvell/cn9131-cf-solidwan.dts @@ -0,0 +1,637 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (C) 2024 Josua Mayer + * + * DTS for SolidRun CN9130 Clearfog Base. + * + */ + +/dts-v1/; + +#include +#include + +#include "cn9130.dtsi" +#include "cn9130-sr-som.dtsi" + +/* + * Instantiate the external CP115 + */ + +#define CP11X_NAME cp1 +#define CP11X_BASE f4000000 +#define CP11X_PCIEx_MEM_BASE(iface) (0xe2000000 + (iface * 0x1000000)) +#define CP11X_PCIEx_MEM_SIZE(iface) 0xf00000 +#define CP11X_PCIE0_BASE f4600000 +#define CP11X_PCIE1_BASE f4620000 +#define CP11X_PCIE2_BASE f4640000 + +#include "armada-cp115.dtsi" + +#undef CP11X_NAME +#undef CP11X_BASE +#undef CP11X_PCIEx_MEM_BASE +#undef CP11X_PCIEx_MEM_SIZE +#undef CP11X_PCIE0_BASE +#undef CP11X_PCIE1_BASE +#undef CP11X_PCIE2_BASE + +/ { + model = "SolidRun CN9131 SolidWAN"; + compatible = "solidrun,cn9131-solidwan", + "solidrun,cn9130-sr-som", "marvell,cn9130"; + + aliases { + ethernet0 = &cp1_eth1; + ethernet1 = &cp1_eth2; + ethernet2 = &cp0_eth1; + ethernet3 = &cp0_eth2; + ethernet4 = &cp0_eth0; + ethernet5 = &cp1_eth0; + gpio0 = &ap_gpio; + gpio1 = &cp0_gpio1; + gpio2 = &cp0_gpio2; + gpio3 = &cp1_gpio1; + gpio4 = &cp1_gpio2; + gpio5 = &expander0; + i2c0 = &cp0_i2c0; + i2c1 = &cp0_i2c1; + i2c2 = &cp1_i2c1; + mmc0 = &ap_sdhci0; + mmc1 = &cp0_sdhci0; + rtc0 = &cp0_rtc; + rtc1 = &carrier_rtc; + }; + + leds { + compatible = "gpio-leds"; + pinctrl-names = "default"; + pinctrl-0 = <&cp0_led_pins &cp1_led_pins>; + + /* for sfp-1 (J42) */ + led-sfp1-activity { + label = "sfp1:green"; + gpios = <&cp0_gpio1 7 GPIO_ACTIVE_HIGH>; + }; + + /* for sfp-1 (J42) */ + led-sfp1-link { + label = "sfp1:yellow"; + gpios = <&cp0_gpio1 4 GPIO_ACTIVE_HIGH>; + }; + + /* (J28) */ + led-sfp0-activity { + label = "sfp0:green"; + gpios = <&cp1_gpio2 22 GPIO_ACTIVE_HIGH>; + }; + + /* (J28) */ + led-sfp0-link { + label = "sfp0:yellow"; + gpios = <&cp1_gpio2 23 GPIO_ACTIVE_HIGH>; + }; + }; + + /* Type-A port on J53 */ + reg_usb_a_vbus0: regulator-usb-a-vbus0 { + compatible = "regulator-fixed"; + pinctrl-0 = <&cp0_reg_usb_a_vbus0_pins>; + pinctrl-names = "default"; + regulator-name = "vbus0"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + gpios = <&cp0_gpio1 27 GPIO_ACTIVE_HIGH>; + enable-active-high; + regulator-always-on; + }; + + reg_usb_a_vbus1: regulator-usb-a-vbus1 { + compatible = "regulator-fixed"; + pinctrl-0 = <&cp0_reg_usb_a_vbus1_pins>; + pinctrl-names = "default"; + regulator-name = "vbus1"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + gpios = <&cp0_gpio1 28 GPIO_ACTIVE_HIGH>; + enable-active-high; + regulator-always-on; + }; + + sfp0: sfp-0 { + compatible = "sff,sfp"; + pinctrl-0 = <&cp0_sfp0_pins>; + pinctrl-names = "default"; + i2c-bus = <&cp0_i2c1>; + los-gpios = <&cp0_gpio2 2 GPIO_ACTIVE_HIGH>; + mod-def0-gpios = <&cp0_gpio2 0 GPIO_ACTIVE_LOW>; + tx-disable-gpios = <&cp0_gpio2 1 GPIO_ACTIVE_HIGH>; + tx-fault-gpios = <&cp0_gpio1 31 GPIO_ACTIVE_HIGH>; + maximum-power-milliwatt = <2000>; + }; + + sfp1: sfp-1 { + compatible = "sff,sfp"; + pinctrl-0 = <&cp1_sfp1_pins>; + pinctrl-names = "default"; + i2c-bus = <&cp1_i2c1>; + los-gpios = <&cp1_gpio2 2 GPIO_ACTIVE_HIGH>; + mod-def0-gpios = <&cp1_gpio2 18 GPIO_ACTIVE_LOW>; + tx-disable-gpios = <&cp1_gpio2 1 GPIO_ACTIVE_HIGH>; + tx-fault-gpios = <&cp1_gpio2 17 GPIO_ACTIVE_HIGH>; + maximum-power-milliwatt = <2000>; + }; +}; + +&cp0_ethernet { + status = "okay"; +}; + +/* SRDS #2 - SFP+ 10GE */ +&cp0_eth0 { + managed = "in-band-status"; + phy-mode = "10gbase-r"; + phys = <&cp0_comphy2 0>; + sfp = <&sfp0>; + status = "okay"; +}; + +/* SRDS #3 - SGMII 1GE */ +&cp0_eth1 { + managed = "in-band-status"; + phy-mode = "sgmii"; + /* Without mdio phy access rely on sgmii auto-negotiation. */ + phys = <&cp0_comphy3 1>; + status = "okay"; +}; + +/* SRDS #1 - SGMII */ +&cp0_eth2 { + /delete-property/ pinctrl-0; + /delete-property/ pinctrl-names; + managed = "in-band-status"; + phy-mode = "sgmii"; + phy = <&cp0_phy1>; + phys = <&cp0_comphy1 2>; +}; + +&cp0_gpio1 { + pcie0-0-w-disable-hog { + gpio-hog; + gpios = <6 GPIO_ACTIVE_LOW>; + output-low; + line-name = "pcie0.0-w-disable"; + }; + + /* J34 */ + m2-full-card-power-off-hog { + gpio-hog; + gpios = <8 GPIO_ACTIVE_LOW>; + output-low; + line-name = "m2-full-card-power-off"; + }; +}; + +&cp0_i2c0 { + /* assembly option */ + fan-controller@18 { + compatible = "ti,amc6821"; + reg = <0x18>; + }; + + expander0: gpio@41 { + compatible = "nxp,pca9536"; + reg = <0x41>; + + usb-a-vbus0-ilimit-hog { + gpio-hog; + gpios = <0 GPIO_ACTIVE_LOW>; + input; + line-name = "vbus0-ilimit"; + }; + + /* duplicate connection, controlled by soc gpio */ + usb-vbus0-enable-hog { + gpio-hog; + gpios = <1 GPIO_ACTIVE_HIGH>; + input; + line-name = "vbus0-enable"; + }; + + usb-a-vbus1-ilimit-hog { + gpio-hog; + gpios = <2 GPIO_ACTIVE_LOW>; + input; + line-name = "vbus1-ilimit"; + }; + + /* duplicate connection, controlled by soc gpio */ + usb-vbus1-enable-hog { + gpio-hog; + gpios = <3 GPIO_ACTIVE_HIGH>; + input; + line-name = "vbus1-enable"; + }; + }; + + carrier_eeprom: eeprom@52 { + compatible = "atmel,24c02"; + reg = <0x52>; + pagesize = <8>; + }; + + /* usb-hub@60 */ + + /* assembly option */ + carrier_rtc: rtc@68 { + compatible = "st,m41t83"; + reg = <0x68>; + pinctrl-0 = <&cp1_rtc_pins>; + pinctrl-names = "default"; + interrupt-parent = <&cp1_gpio1>; + interrupts = <12 IRQ_TYPE_EDGE_FALLING>; + reset-gpios = <&cp1_gpio1 13 GPIO_ACTIVE_LOW>; + }; +}; + +&cp0_i2c1 { + /* + * Routed to SFP. + * Limit to 100kHz for compatibility with SFP modules, + * featuring AT24C01A/02/04 at addresses 0x50/0x51. + */ + clock-frequency = <100000>; + pinctrl-0 = <&cp0_i2c1_pins>; + pinctrl-names = "default"; + status = "okay"; +}; + +&cp0_mdio { + /* + * SoM + Carrier each have a PHY at address 0. + * Remove the SoM phy node, and skip adding the carrier node. + * SGMII Auto-Negotation is enabled by bootloader for + * autonomous operation without mdio control. + */ + /delete-node/ ethernet-phy@0; + + /* U17016 */ + cp0_phy1: ethernet-phy@1 { + reg = <1>; + /* + * Configure LEDs default behaviour: + * - LED[0]: link is 1000Mbps: On (yellow) + * - LED[1]: link/activity: On/blink (green) + * - LED[2]: high impedance (floating) + */ + marvell,reg-init = <3 16 0xf000 0x0a17>; + + leds { + #address-cells = <1>; + #size-cells = <0>; + + led@0 { + reg = <0>; + color = ; + function = LED_FUNCTION_LAN; + default-state = "keep"; + }; + + led@1 { + reg = <1>; + color = ; + function = LED_FUNCTION_LAN; + default-state = "keep"; + }; + }; + }; +}; + +/* SRDS #0 - miniPCIe */ +&cp0_pcie0 { + num-lanes = <1>; + phys = <&cp0_comphy0 0>; + status = "okay"; +}; + +/* SRDS #5 - M.2 B-Key (J34) */ +&cp0_pcie2 { + num-lanes = <1>; + phys = <&cp0_comphy5 2>; + status = "okay"; +}; + +&cp0_pinctrl { + pinctrl-0 = <&cp0_m2_0_shutdown_pins &cp0_mpcie_rfkill_pins>; + pinctrl-names = "default"; + + cp0_i2c1_pins: cp0-i2c1-pins { + marvell,pins = "mpp35", "mpp36"; + marvell,function = "i2c1"; + }; + + cp0_led_pins: cp0-led-pins { + marvell,pins = "mpp4", "mpp7"; + marvell,function = "gpio"; + }; + + cp0_m2_0_shutdown_pins: cp0-m2-0-shutdown-pins { + marvell,pins = "mpp8"; + marvell,function = "gpio"; + }; + + cp0_mmc0_pins: cp0-mmc0-pins { + marvell,pins = "mpp43", "mpp56", "mpp57", "mpp58", + "mpp59", "mpp60", "mpp61"; + marvell,function = "sdio"; + }; + + cp0_mpcie_rfkill_pins: cp0-mpcie-rfkill-pins { + marvell,pins = "mpp6"; + marvell,function = "gpio"; + }; + + cp0_reg_usb_a_vbus0_pins: cp0-reg-usb-a-vbus0-pins { + marvell,pins = "mpp27"; + marvell,function = "gpio"; + }; + + cp0_reg_usb_a_vbus1_pins: cp0-reg-usb-a-vbus1-pins { + marvell,pins = "mpp28"; + marvell,function = "gpio"; + }; + + cp0_sfp0_pins: cp0-sfp0-pins { + marvell,pins = "mpp31", "mpp32", "mpp33", "mpp34"; + marvell,function = "gpio"; + }; + + cp0_spi1_cs1_pins: cp0-spi1-cs1-pins { + marvell,pins = "mpp12"; + marvell,function = "spi1"; + }; +}; + +/* microSD */ +&cp0_sdhci0 { + pinctrl-0 = <&cp0_mmc0_pins>; + pinctrl-names = "default"; + bus-width = <4>; + no-1-8-v; + status = "okay"; +}; + +&cp0_spi1 { + /* add pin for chip-select 1 */ + pinctrl-0 = <&cp0_spi1_pins &cp0_spi1_cs1_pins>; + + flash@1 { + compatible = "jedec,spi-nor"; + reg = <1>; + /* read command supports max. 50MHz */ + spi-max-frequency = <50000000>; + }; +}; + +/* USB-2.0 Host to USB-Hub */ +&cp0_usb3_0 { + phys = <&cp0_utmi0>; + phy-names = "utmi"; + dr_mode = "host"; + status = "okay"; +}; + +/* SRDS #4 - USB-3.0 Host to USB-Hub */ +&cp0_usb3_1 { + phys = <&cp0_comphy4 1>, <&cp0_utmi1>; + phy-names = "comphy", "utmi"; + dr_mode = "host"; + status = "okay"; +}; + +&cp0_utmi { + status = "okay"; +}; + +&cp0_utmi1 { + status = "disabled"; +}; + +&cp1_ethernet { + status = "okay"; +}; + +/* SRDS #4 - SFP+ 10GE */ +&cp1_eth0 { + managed = "in-band-status"; + phy-mode = "10gbase-r"; + phys = <&cp1_comphy4 0>; + sfp = <&sfp1>; + status = "okay"; +}; + +/* SRDS #3 - SGMII 1GE */ +&cp1_eth1 { + managed = "in-band-status"; + phy-mode = "sgmii"; + phy = <&cp1_phy0>; + phys = <&cp0_comphy3 1>; + status = "okay"; +}; + +/* SRDS #5 - SGMII 1GE */ +&cp1_eth2 { + managed = "in-band-status"; + phy-mode = "sgmii"; + phy = <&cp1_phy1>; + phys = <&cp0_comphy5 2>; + status = "okay"; +}; + +&cp1_gpio1 { + status = "okay"; + + /* J30 */ + m2-full-card-power-off-hog-0 { + gpio-hog; + gpios = <29 GPIO_ACTIVE_LOW>; + output-low; + line-name = "m2-full-card-power-off"; + }; + + /* J44 */ + m2-full-card-power-off-hog-1 { + gpio-hog; + gpios = <30 GPIO_ACTIVE_LOW>; + output-low; + line-name = "m2-full-card-power-off"; + }; +}; + +&cp1_gpio2 { + status = "okay"; +}; + +&cp1_i2c1 { + /* + * Routed to SFP. + * Limit to 100kHz for compatibility with SFP modules, + * featuring AT24C01A/02/04 at addresses 0x50/0x51. + */ + clock-frequency = <100000>; + pinctrl-0 = <&cp1_i2c1_pins>; + pinctrl-names = "default"; + status = "okay"; +}; + +&cp1_mdio { + pinctrl-0 = <&cp1_mdio_pins>; + pinctrl-names = "default"; + status = "okay"; + + cp1_phy0: ethernet-phy@0 { + reg = <0>; + /* + * Configure LEDs default behaviour: + * - LED[0]: link is 1000Mbps: On (yellow) + * - LED[1]: link/activity: On/blink (green) + * - LED[2]: high impedance (floating) + */ + marvell,reg-init = <3 16 0xf000 0x0a17>; + + leds { + #address-cells = <1>; + #size-cells = <0>; + + led@0 { + reg = <0>; + color = ; + function = LED_FUNCTION_LAN; + default-state = "keep"; + }; + + led@1 { + reg = <1>; + color = ; + function = LED_FUNCTION_LAN; + default-state = "keep"; + }; + }; + }; + + cp1_phy1: ethernet-phy@1 { + reg = <1>; + /* + * Configure LEDs default behaviour: + * - LED[0]: link is 1000Mbps: On (yellow) + * - LED[1]: link/activity: On/blink (green) + * - LED[2]: high impedance (floating) + */ + marvell,reg-init = <3 16 0xf000 0x0a17>; + + leds { + #address-cells = <1>; + #size-cells = <0>; + + led@0 { + reg = <0>; + color = ; + function = LED_FUNCTION_LAN; + default-state = "keep"; + }; + + led@1 { + reg = <1>; + color = ; + function = LED_FUNCTION_LAN; + default-state = "keep"; + }; + }; + }; +}; + +/* SRDS #0 - M.2 (J30) */ +&cp1_pcie0 { + num-lanes = <1>; + phys = <&cp1_comphy0 0>; + status = "okay"; +}; + +&cp1_rtc { + status = "disabled"; +}; + +/* SRDS #1 - SATA on M.2 (J44) */ +&cp1_sata0 { + phys = <&cp1_comphy1 0>; + status = "okay"; + + /* only port 0 is available */ + /delete-node/ sata-port@1; +}; + +&cp1_syscon0 { + cp1_pinctrl: pinctrl { + compatible = "marvell,cp115-standalone-pinctrl"; + pinctrl-0 = <&cp1_m2_1_shutdown_pins &cp1_m2_2_shutdown_pins>; + pinctrl-names = "default"; + + cp1_i2c1_pins: cp0-i2c1-pins { + marvell,pins = "mpp35", "mpp36"; + marvell,function = "i2c1"; + }; + + cp1_led_pins: cp1-led-pins { + marvell,pins = "mpp54", "mpp55"; + marvell,function = "gpio"; + }; + + cp1_m2_1_shutdown_pins: cp1-m2-1-shutdown-pins { + marvell,pins = "mpp29"; + marvell,function = "gpio"; + }; + + cp1_m2_2_shutdown_pins: cp1-m2-2-shutdown-pins { + marvell,pins = "mpp30"; + marvell,function = "gpio"; + }; + + cp1_mdio_pins: cp1-mdio-pins { + marvell,pins = "mpp37", "mpp38"; + marvell,function = "ge"; + }; + + cp1_rtc_pins: cp1-rtc-pins { + marvell,pins = "mpp12", "mpp13"; + marvell,function = "gpio"; + }; + + cp1_sfp1_pins: cp1-sfp1-pins { + marvell,pins = "mpp33", "mpp34", "mpp49", "mpp50"; + marvell,function = "gpio"; + }; + }; +}; + +/* + * SRDS #2 - USB-3.0 Host to M.2 (J44) + * USB-2.0 Host to M.2 (J30) + */ +&cp1_usb3_0 { + phys = <&cp1_comphy2 0>, <&cp1_utmi0>; + phy-names = "comphy", "utmi"; + dr_mode = "host"; + status = "okay"; +}; + +/* USB-2.0 Host to M.2 (J44) */ +&cp1_usb3_1 { + phys = <&cp1_utmi1>; + phy-names = "utmi"; + dr_mode = "host"; + status = "okay"; +}; + +&cp1_utmi { + status = "okay"; +}; From patchwork Thu Jul 4 15:03:23 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Josua Mayer X-Patchwork-Id: 13723871 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2102.outbound.protection.outlook.com [40.107.20.102]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0AEF51B29AE; Thu, 4 Jul 2024 15:03:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.20.102 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1720105440; cv=fail; b=EKvj1gOsq/14kN4FqmTuHlJWLypLJcUCP438jDU5Pq97BppMg7ZdlWCoy4DFUNm2JdW05w5waBkw0x03JzW1ai042h7gPAXtr/QRHsRgAmvYB/URk3yTSPhQ6LZk9rGK5CGMqpI9iunPWm1IE8yD/2oyx4SIPU6sGI2BI33XKiA= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1720105440; c=relaxed/simple; bh=97GeDKeK+xEHoScDnbbTVgW8llwgFM39N/QRBVPmqq4=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=XtZx84BqdPBoL0f+Sd5eMzlKtIpRwE1NvgEstRtCxceYKErSEX4aSm3Rtq0M7s0HCRSe9OehzFO8MfIIvREfLoLX3cx0xuv/m9s/vbaZLFb1ffrKx5UGNhO/JU3ykf/W0Omxzqecb28fJBC2mwyTQdv/IJE6Dg021RtrC6yvMhs= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=solid-run.com; spf=pass smtp.mailfrom=solid-run.com; dkim=pass (1024-bit key) header.d=solidrn.onmicrosoft.com header.i=@solidrn.onmicrosoft.com header.b=aQ/LGZYZ; arc=fail smtp.client-ip=40.107.20.102 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=solid-run.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=solid-run.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=solidrn.onmicrosoft.com header.i=@solidrn.onmicrosoft.com header.b="aQ/LGZYZ" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XCHmIaSQwt6yWYrWDXet7W8qUNKzmxNLJ70TmtGJdpDkWo6h0D9tQAaC/dw7QaAilopcY8DMHUAyUMfTYrASYWbGqSpHeWMeX8N5cVkDgey5xVw9VYMcfMroTCTCsbtmtc20093UQ86N16pVeZizcYYNHJqITvOOhDJy6e3iRI3I0fLVNU1JO8ugBxbNlYaKghHaN+78OVVJWSH4O67StClkWKTRrbPCoaiq3CdrlCaaVu30VVASu+RD9iK4TOplFkvtWUuMa0g/KO1ccTXrUBIzn9gnlhhZK59y+wqHh7VBmIN0oYRdDmlzkAosI7Vzk49ZRjBOFknkAdvzB7Of3w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=TVfG+wQyRamdJoCgBA74E+TfSzjOFox9bjlnskKXf0I=; b=hh6OOU0ExvH5zYi66d0UFLdgY/DzUVInpNgluGS+a4uov6SPeYLm7Mq/TCpslppCToup0zRaiY8NbTq1XbaKl1wxsbKQfAZxpFqe/BvNzRkggk88YPgS0gNEhYe81lan+ua8UBKr1iuFuGEXgS/TqQQaJG1gM4ze+1lOcWPAT3BS3s2c8dLqIK2TixrjQqn564HZsQ6rIMCf7oKIPG7EUkMqu9vvCCUmdVF6Mf6kZJ2oGjUSzsf5xRhb2S1JcxtsGSM4zSg632/vefisf2ziXPbcKkw0+GAfC2OlohB/gg4iv3RZWyG84LhaJgQ38n0x+ZVU3G2n/pKfHscM1fhxEQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=solid-run.com; dmarc=pass action=none header.from=solid-run.com; dkim=pass header.d=solid-run.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=solidrn.onmicrosoft.com; s=selector1-solidrn-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=TVfG+wQyRamdJoCgBA74E+TfSzjOFox9bjlnskKXf0I=; b=aQ/LGZYZKgw+homNgmAEyzfbACZwEWt2DES6kzBadiEyJVcl+gWPfVAqt5qFyYtxzWtD2SP4wPpMdt2+HIMZdvQq7W8R1dQNOjZdR85vkCNanrj4SkcTWIBfBuXMxN5OdtuZIGW8WjfwDHs/RKLM+d8Jc7RJyG5mudqOyzH8dGw= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=solid-run.com; Received: from AM9PR04MB7586.eurprd04.prod.outlook.com (2603:10a6:20b:2d5::17) by VI2PR04MB10714.eurprd04.prod.outlook.com (2603:10a6:800:26d::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.29; Thu, 4 Jul 2024 15:03:47 +0000 Received: from AM9PR04MB7586.eurprd04.prod.outlook.com ([fe80::c04e:8a97:516c:5529]) by AM9PR04MB7586.eurprd04.prod.outlook.com ([fe80::c04e:8a97:516c:5529%5]) with mapi id 15.20.7741.017; Thu, 4 Jul 2024 15:03:47 +0000 From: Josua Mayer Date: Thu, 04 Jul 2024 17:03:23 +0200 Subject: [PATCH v7 5/5] arm64: dts: add description for solidrun cn9132 cex7 module and clearfog board Message-Id: <20240704-cn9130-som-v7-5-eea606ba5faa@solid-run.com> References: <20240704-cn9130-som-v7-0-eea606ba5faa@solid-run.com> In-Reply-To: <20240704-cn9130-som-v7-0-eea606ba5faa@solid-run.com> To: Andrew Lunn , Gregory Clement , Sebastian Hesselbarth , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Richard Cochran Cc: Yazan Shhady , linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, Josua Mayer X-Mailer: b4 0.12.4 X-ClientProxiedBy: FR0P281CA0081.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1e::7) To AM9PR04MB7586.eurprd04.prod.outlook.com (2603:10a6:20b:2d5::17) Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM9PR04MB7586:EE_|VI2PR04MB10714:EE_ X-MS-Office365-Filtering-Correlation-Id: ddad2cd7-e4eb-4787-a58d-08dc9c3a8143 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|52116014|1800799024|366016|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?kb8AhHZ/M972p44Dfuo54BExvEPGpDL?= =?utf-8?q?rdTgJxApwXxSH8W/qK3gwhiDMRAVfUdLQNc0bToU+QAIIOsMxWUpy93F8JNdHG7fs?= =?utf-8?q?7tSDFHyvAGPVrBLN2Dsij3OCdKUYAOxya1nsSyPpVCaxRx8gNegsTfGrVM8SNakjI?= =?utf-8?q?NC5mouftvxeIogZs0xqdx9PMfYJIeuUMoEChlYQTLaBWdu3trr4NSWevrHkijUX6F?= =?utf-8?q?EaECW8hSSVFjkCo7IvilPaOa8nIq6CHN93DShPFeSNxbR6tHwqwi13fTcMnm8WUK/?= =?utf-8?q?QbH/3RVJ1om2yzJG4YFkJ44pk9uGUuu7oRQgRy4/sqea0NH2T/dlYoZbBQxDOFgDu?= =?utf-8?q?Qprw0pDlQunYM5wlwHcSuHVtwnt0ILWHuE/W9bCHNPIigHAN/yCR5gBToz7Axz36q?= =?utf-8?q?Z93C0vHh+eVwALebcdF3iOkGxGsFSfXtkljg6dqydqM7b+1nH3O5WXxO5hbFsHITW?= =?utf-8?q?z6o7jyKGJVoan0m/hqjrm+fE6CE/5r53X4RpiInGDRGmhpgzgOHGdRtZAicUP5l2t?= =?utf-8?q?+WG5FWAKLgTeXY4A8zgu5YAYrczKeyoCp9Xnekfx6zPBGAPShOWZEwS9Pzo2nRSJx?= =?utf-8?q?ULRbXhDE+sthnY8AOdo4Ckgo0e3wb5y9H+ELntpp8Ukm4AcNGZ4psAlDq8xMfpIRC?= =?utf-8?q?/bHPGlyb/0WcFE+VD1tF52uUS9mqbxcUyrZAurARjUUcmDRYXpaFvtp+WKz4Mb79e?= =?utf-8?q?OtjyIHQs4ENAjhugdDbtHvCCJ5Mv9YtmetWT934FiWHOp1l8ZJR6MI7rbhJUoQ5BO?= =?utf-8?q?RHpHvSACEbNM5XBcn3x1WFAv5DvgrwZrSZqABwxXKpw5gXXg0Y4h4f6Fsc7o7O6lx?= =?utf-8?q?Sqd1WFqW4Th5zoXtTz3c8xd/X9PH1HYlZOAIHvboPMYcTjhtgPbtgFmseMS35pC41?= =?utf-8?q?tpJzPxYfXbwU6WOntjCF2f3QPO7MpofzPu5+ryoKOI3CWpHKdnafJ/PU31oy9SJBM?= =?utf-8?q?7NeiEiMgqXfgpkkN7Q9JdrOq9lb1bBCBfUl6wU6An2MIA4dTSxPjhzMf/NG7F+dlV?= =?utf-8?q?Zf/naw7Eq0en93pYGmRW3QrIOowW/e53hLMqeTO5jsS/Z0Gwf7W20fg3vZbBmBB5m?= =?utf-8?q?J2rF/ZSkdjx43aoLPtVBDtgHtL65iy1MJkMHYO59giw4PqMsC9JW8w8rr76d3N5yo?= =?utf-8?q?dk2iG3D3rhMujMilM0Oq3cRbV8RF2pmFT0Pp9EHfeoZk58hFhWNQdNInb4ux0bbc6?= =?utf-8?q?M945GrGCsegYNxVKweJlBC264pnhcIjLR9bOXRpJqE+0uGqof0cscx7yJV9rk6gpP?= =?utf-8?q?lsHUcQ2y8w7drMaMobi0zYxwLsRTV5GrkJsfg91R1rXYvmwqvsbLlCp/EDWgKYv8r?= =?utf-8?q?TN2LwUUolnh/0ff2NwU153xjM3sUuYakNA=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM9PR04MB7586.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(7416014)(52116014)(1800799024)(366016)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?B7LXZNQIl6FubS2E0lnCfOWmYfw8?= =?utf-8?q?lTv7gxkGTfUAcv6K42/yTRrZ/EEYJedIeD8mCMz+nLp2PuqncXnAmw6ZHhodUcUEg?= =?utf-8?q?XJJ4MK1AefIUIy0BWfGxEhum0JQ7hhX76dXxSpFdyyTtW6KXa9HoGKApVWdcpYAqG?= =?utf-8?q?gXZ604CXrtlsi8t8iyf0ElfSIXIh+V9lz/f3wN4C4dKCozzMga8xS+S6EOHCpNgkH?= =?utf-8?q?Ich55a4NSEC6bfJLZ9AYK/0pKwiSiJkMtRkXhJmndPvVevqOYtlgivMLKdqSPDpNO?= =?utf-8?q?g0kRoS0aiuQg1/R7Kt74gvIsI1pL8Z5PGE6CHNb4zIWRBh0/92/z2wkZ8JZ0Xslw4?= =?utf-8?q?RFLW2BT8Yl4A4c4k40bW6izvih2YXbjgTC7DvM3shREKddHzy+vY7eU0LQzgpED8B?= =?utf-8?q?A1l39iy9YaUa+7c0OjO18zX/nuPW+4L79w+CoS0om8cx96V6LByLK528+c5EeZ4iv?= =?utf-8?q?qVPWJU8ZPmh7NBEKfqgnTaGzqqP+4nJmoZHgoa5Eh6sE/dZPJxTZARnb6kYsCRslu?= =?utf-8?q?jfSIX+P0fNjebz9UmQ/JSUZx6rwKc95HDymJvhBqZP58qp+7aJBwk30gMOzXsAviD?= =?utf-8?q?BQyyIr86uV/g3/CD9Xxk8nJGEBCRFdExPza2fBZPZDdeJ0fmm/ksOVcYke1trK+O/?= =?utf-8?q?F8gO0tKatSRYwQnmJO5d5ubxC8Buh/MdBL9yGg9WAVoPtsoeiCQzHdiufy/rKil8f?= =?utf-8?q?fdWcp2gkl/ZhpQD4lVDMuE92fwKGH+7KK9GPM+/mCA2dS9lzCtL7Go3uUCfzVt2DG?= =?utf-8?q?jSyGAzDqIumVOaGSCwJoAA9Yu1RK+UF9T67LSuLLEmvwcvITR1SXLuZAqjYMvuUnD?= =?utf-8?q?pbPm+H8Gg4m6608WgAyS/BLCuNo/l+z+L5ZBm0pRIFKbygGoj5Iaic3UdiipgTotB?= =?utf-8?q?10x0+1AjvIEWvDA6GAYvxq6/HPCvAj3qh4dnAyjvL87pYFGU9sLX86GZcOEhdZbHX?= =?utf-8?q?vtaJ/TdZutAnQaZaO9DadCc5tUi/5pM1OgicODpMPLeyMQDQm0EpF1lb4KZRyUHmt?= =?utf-8?q?oCAELlVlswU1A5XG4Xnx0/NXBQfNLZNUdvrfvCI13OdlU2J1cRysCwXyaHFO1pWHM?= =?utf-8?q?a6ZdlwveuIjDiJX2jTN0hiBwSrEfQ+jBtd3Ulx8HT7KoMaxhDPSF8fZ6evL16qvg+?= =?utf-8?q?uHenFpUcfcnOaimuF61LLg989+CDG0Mja2OoOeAqk4Pte8euIDyKehmfwIi852sV/?= =?utf-8?q?EPNC7RHu9gdZrg5l4+bte5JfQ2feA0YQ4VpaufzovRXzsxwaRdCHgss8g9l7c+8l4?= =?utf-8?q?KYAKxazssINqSPiOUfGOip8S2ryaO5G2RxdV3bEy2GbIATao0F2C1TZDfyuBvLDVS?= =?utf-8?q?crA52vJeRpjaO5znfZswBjjLhRDq6/n1tZURsSR3JIKZLKbXhjbcmJ67FZk8td+t9?= =?utf-8?q?cVPJ/BvPr6XwNO6cULji2kwIickkdbdIAjcmS1xRG6D3F8E4wc3WNkbAj7qL+kKgP?= =?utf-8?q?fW8HgsXjsiMllMqug9og1CZ3FCHw2FXYeNGqn3NFjroK6AU1NtyigbiOU/oh3w5vh?= =?utf-8?q?j/9nimKPIACu?= X-OriginatorOrg: solid-run.com X-MS-Exchange-CrossTenant-Network-Message-Id: ddad2cd7-e4eb-4787-a58d-08dc9c3a8143 X-MS-Exchange-CrossTenant-AuthSource: AM9PR04MB7586.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jul 2024 15:03:47.1319 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a4a8aaf3-fd27-4e27-add2-604707ce5b82 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Rp+JBM8dMdiZNf7AU2aNJexgjoc+/pD/y41eDe+hn4k2oVzlbb5UDdl22FkratUK8z4pQrNhdZ6u3ODEF6N2WQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI2PR04MB10714 Add description for the SolidRun CN9132 COM-Express Type 7 module, and the Clearfog evaluation board. The COM-Express module includes: - CN9130 SoC - 2x 88F8215 Southbridges - eMMC - SPI Flash - DDR-4 SODIMM connector - 1GBase-T Ethernet PHY The Clearfog Evaluation board provides: - 1x 10Gbps SFP+ - 2x 5GBase-T RJ45 - 4x 1GBase-T RJ45 on DSA switch with 2.5Gbps cpu link - 1x full-size PCI-E x4 - 2x M.2 with PCI-E x1 - 1x M.2 with PCI-E x2 - 2x M.2 with PCI-E x1 and USB-2.0 - 1x M.2 with USB-2.0, USB-3.0 and 2x SIM slots - 1x mini-PCI-E x1 - 2x SATA (Laptop-Style connector with data and power) - 3x USB-3.0 Type-A - microSD slot Signed-off-by: Josua Mayer --- arch/arm64/boot/dts/marvell/Makefile | 1 + arch/arm64/boot/dts/marvell/cn9132-clearfog.dts | 673 ++++++++++++++++++++++ arch/arm64/boot/dts/marvell/cn9132-sr-cex7.dtsi | 712 ++++++++++++++++++++++++ 3 files changed, 1386 insertions(+) diff --git a/arch/arm64/boot/dts/marvell/Makefile b/arch/arm64/boot/dts/marvell/Makefile index 16f9d7156d9f..ce751b5028e2 100644 --- a/arch/arm64/boot/dts/marvell/Makefile +++ b/arch/arm64/boot/dts/marvell/Makefile @@ -31,3 +31,4 @@ dtb-$(CONFIG_ARCH_MVEBU) += ac5-98dx35xx-rd.dtb dtb-$(CONFIG_ARCH_MVEBU) += cn9130-cf-base.dtb dtb-$(CONFIG_ARCH_MVEBU) += cn9130-cf-pro.dtb dtb-$(CONFIG_ARCH_MVEBU) += cn9131-cf-solidwan.dtb +dtb-$(CONFIG_ARCH_MVEBU) += cn9132-clearfog.dtb diff --git a/arch/arm64/boot/dts/marvell/cn9132-clearfog.dts b/arch/arm64/boot/dts/marvell/cn9132-clearfog.dts new file mode 100644 index 000000000000..0f53745a6fa0 --- /dev/null +++ b/arch/arm64/boot/dts/marvell/cn9132-clearfog.dts @@ -0,0 +1,673 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright (C) 2024 Josua Mayer + * + * DTS for SolidRun CN9132 Clearfog. + * + */ + +/dts-v1/; + +#include +#include + +#include "cn9130.dtsi" +#include "cn9132-sr-cex7.dtsi" + +/ { + model = "SolidRun CN9132 Clearfog"; + compatible = "solidrun,cn9132-clearfog", + "solidrun,cn9132-sr-cex7", "marvell,cn9130"; + + aliases { + ethernet1 = &cp0_eth2; + ethernet2 = &cp0_eth0; + ethernet3 = &cp2_eth0; + ethernet4 = &cp1_eth0; + i2c7 = &carrier_mpcie_i2c; + i2c8 = &carrier_ptp_i2c; + mmc1 = &cp0_sdhci0; + }; + + gpio-keys { + compatible = "gpio-keys"; + pinctrl-names = "default"; + pinctrl-0 = <&cp1_wake0_pins>; + + button-0 { + label = "SW2"; + gpios = <&cp1_gpio2 8 GPIO_ACTIVE_LOW>; + linux,can-disable; + linux,code = ; + }; + }; + + leds { + compatible = "gpio-leds"; + pinctrl-names = "default"; + pinctrl-0 = <&cp1_batlow_pins &cp2_rsvd4_pins>; + + /* LED11 */ + led-io-0 { + color = ; + function = LED_FUNCTION_DISK; + function-enumerator = <0>; + default-state = "off"; + gpios = <&cp1_gpio1 11 GPIO_ACTIVE_HIGH>; + }; + + /* LED12 */ + led-io-1 { + color = ; + function = LED_FUNCTION_DISK; + function-enumerator = <1>; + default-state = "off"; + gpios = <&cp2_gpio1 4 GPIO_ACTIVE_HIGH>; + }; + }; + + /* CON4 W_DISABLE1/W_DISABLE2 */ + rfkill-m2-wlan { + compatible = "rfkill-gpio"; + label = "m.2 wlan (CON4)"; + radio-type = "wlan"; + pinctrl-names = "default"; + pinctrl-0 = <&cp1_10g_phy_rst_01_pins>; + /* rfkill-gpio inverts internally */ + shutdown-gpios = <&cp1_gpio2 11 GPIO_ACTIVE_HIGH>; + }; + + /* CON5 W_DISABLE1/W_DISABLE2 */ + rfkill-m2-wlan { + compatible = "rfkill-gpio"; + label = "m.2 wlan (CON5)"; + radio-type = "wlan"; + pinctrl-names = "default"; + pinctrl-0 = <&cp1_10g_phy_rst_23_pins>; + /* rfkill-gpio inverts internally */ + shutdown-gpios = <&cp1_gpio2 10 GPIO_ACTIVE_HIGH>; + }; + + /* J21 W_DISABLE1 */ + rfkill-m2-wwan { + compatible = "rfkill-gpio"; + label = "m.2 wwan (J21)"; + radio-type = "wwan"; + pinctrl-names = "default"; + pinctrl-0 = <&cp2_rsvd3_pins>; + /* rfkill-gpio inverts internally */ + shutdown-gpios = <&cp2_gpio1 3 GPIO_ACTIVE_HIGH>; + }; + + /* J21 W_DISABLE1 */ + rfkill-m2-gnss { + compatible = "rfkill-gpio"; + label = "m.2 gnss (J21)"; + radio-type = "gps"; + pinctrl-names = "default"; + pinctrl-0 = <&cp2_rsvd8_pins>; + /* rfkill-gpio inverts internally */ + shutdown-gpios = <&cp2_gpio1 8 GPIO_ACTIVE_HIGH>; + }; + + /* J14 W_DISABLE */ + rfkill-mpcie-wlan { + compatible = "rfkill-gpio"; + label = "mpcie wlan (J14)"; + radio-type = "wlan"; + pinctrl-names = "default"; + pinctrl-0 = <&cp2_rsvd2_pins>; + /* rfkill-gpio inverts internally */ + shutdown-gpios = <&cp2_gpio1 2 GPIO_ACTIVE_HIGH>; + }; + + sfp: sfp { + compatible = "sff,sfp"; + i2c-bus = <&com_10g_sfp_i2c0>; + pinctrl-names = "default"; + pinctrl-0 = <&com_10g_int0_pins>; + mod-def0-gpios = <&cp0_gpio1 24 GPIO_ACTIVE_LOW>; + maximum-power-milliwatt = <2000>; + }; +}; + +&com_smbus { + /* This bus is also routed to STM32 BMC Microcontroller (U2) */ + + power-sensor@40 { + compatible = "ti,ina220"; + reg = <0x40>; + #io-channel-cells = <1>; + label = "vdd_12v0"; + shunt-resistor = <2000>; + }; + + adc@48 { + compatible = "ti,tla2021"; + reg = <0x48>; + #address-cells = <1>; + #size-cells = <0>; + + /* supplied by chaoskey hardware noise generator circuit */ + channel@0 { + reg = <0>; + }; + }; +}; + +&cp0_eth_phy0 { + /* + * Configure LEDs default behaviour: + * - LED[0]: link is 1000Mbps: On (yellow): 0111 + * - LED[1]: link/activity: On/Blink (green): 0001 + * - LED[2]: Off (green): 1000 + */ + marvell,reg-init = <3 16 0xf000 0x0817>; + + leds { + #address-cells = <1>; + #size-cells = <0>; + + led@0 { + /* link */ + reg = <0>; + color = ; + function = LED_FUNCTION_LAN; + default-state = "keep"; + }; + + led@1 { + /* act */ + reg = <1>; + color = ; + function = LED_FUNCTION_LAN; + default-state = "keep"; + }; + + led@2 { + /* 1000 */ + reg = <2>; + color = ; + function = LED_FUNCTION_LAN; + default-state = "keep"; + }; + }; +}; + +/* SRDS #4 - 10GE */ +&cp0_eth0 { + phys = <&cp0_comphy4 0>; + phy-mode = "10gbase-r"; + managed = "in-band-status"; + sfp = <&sfp>; + status = "okay"; +}; + +&cp0_eth2 { + phy-mode = "2500base-x"; + phys = <&cp0_comphy5 2>; + status = "okay"; + + fixed-link { + speed = <2500>; + full-duplex; + pause; + }; +}; + +&cp0_i2c1 { + /* + * Both COM and Carrier Board have a PCA9547 i2c mux at 0x77. + * Describe them as a single device merging each child bus. + */ + + i2c-mux@77 { + i2c@0 { + /* Routed to Full PCIe (J4) */ + }; + + i2c@1 { + /* Routed to USB Hub (U29) */ + }; + + i2c@2 { + /* Routed to M.2 (CON4) */ + }; + + i2c@3 { + /* Routed to M.2 (CON5) */ + }; + + i2c@4 { + /* Routed to M.2 (J21) */ + }; + + carrier_mpcie_i2c: i2c@5 { + #address-cells = <1>; + #size-cells = <0>; + reg = <5>; + + /* Routed to mini-PCIe (J14) */ + }; + + carrier_ptp_i2c: i2c@6 { + #address-cells = <1>; + #size-cells = <0>; + reg = <6>; + + /* Routed to various optional PTP related components */ + }; + }; +}; + +&cp0_mdio { + ethernet-switch@4 { + compatible = "marvell,mv88e6085"; + reg = <4>; + + mdio { + #address-cells = <1>; + #size-cells = <0>; + + sw_phy1: ethernet-phy@1 { + reg = <0x11>; + }; + + sw_phy2: ethernet-phy@2 { + reg = <0x12>; + }; + + sw_phy3: ethernet-phy@3 { + reg = <0x13>; + }; + + sw_phy4: ethernet-phy@4 { + reg = <0x14>; + }; + }; + + ethernet-ports { + #address-cells = <1>; + #size-cells = <0>; + + ethernet-port@1 { + reg = <1>; + label = "lan1"; + phy-handle = <&sw_phy1>; + phy-mode = "internal"; + + leds { + #address-cells = <1>; + #size-cells = <0>; + + led@0 { + reg = <0>; + color = ; + function = LED_FUNCTION_LAN; + default-state = "keep"; + }; + + led@1 { + reg = <1>; + color = ; + function = LED_FUNCTION_LAN; + default-state = "keep"; + }; + }; + }; + + ethernet-port@2 { + reg = <2>; + label = "lan2"; + phy-handle = <&sw_phy2>; + phy-mode = "internal"; + + leds { + #address-cells = <1>; + #size-cells = <0>; + + led@0 { + reg = <0>; + color = ; + function = LED_FUNCTION_LAN; + default-state = "keep"; + }; + + led@1 { + reg = <1>; + color = ; + function = LED_FUNCTION_LAN; + default-state = "keep"; + }; + }; + }; + + ethernet-port@3 { + reg = <3>; + label = "lan3"; + phy-handle = <&sw_phy3>; + phy-mode = "internal"; + + leds { + #address-cells = <1>; + #size-cells = <0>; + + led@0 { + reg = <0>; + color = ; + function = LED_FUNCTION_LAN; + default-state = "keep"; + }; + + led@1 { + reg = <1>; + color = ; + function = LED_FUNCTION_LAN; + default-state = "keep"; + }; + }; + }; + + ethernet-port@4 { + reg = <4>; + label = "lan4"; + phy-handle = <&sw_phy4>; + phy-mode = "internal"; + + leds { + #address-cells = <1>; + #size-cells = <0>; + + led@0 { + reg = <0>; + color = ; + function = LED_FUNCTION_LAN; + default-state = "keep"; + }; + + led@1 { + reg = <1>; + color = ; + function = LED_FUNCTION_LAN; + default-state = "keep"; + }; + }; + }; + + ethernet-port@5 { + reg = <5>; + label = "cpu"; + ethernet = <&cp0_eth2>; + phy-mode = "2500base-x"; + + fixed-link { + speed = <2500>; + full-duplex; + pause; + }; + }; + }; + }; +}; + +/* SRDS #0,#1,#2,#3 - PCIe */ +&cp0_pcie0 { + num-lanes = <4>; + phys = <&cp0_comphy0 0>, <&cp0_comphy1 0>, <&cp0_comphy2 0>, <&cp0_comphy3 0>; + status = "okay"; +}; + +&cp0_pinctrl { + /* + * configure unused gpios exposed via pin headers: + * - J7-10: PWRBTN + */ + pinctrl-names = "default"; + pinctrl-0 = <&cp0_pwrbtn_pins>; +}; + +/* microSD */ +&cp0_sdhci0 { + pinctrl-0 = <&cp0_mmc0_pins>, <&cp0_mmc0_cd_pins>; + pinctrl-names = "default"; + bus-width = <4>; + no-1-8-v; + status = "okay"; +}; + +&cp0_spi1 { + /* add CS1 */ + pinctrl-0 = <&cp0_spi1_pins>, <&cp0_spi1_cs1_pins>; + + flash@1 { + compatible = "jedec,spi-nor"; + reg = <1>; + /* read command supports max. 50MHz */ + spi-max-frequency = <50000000>; + }; +}; + +/* J38 */ +&cp0_uart2 { + pinctrl-names = "default"; + pinctrl-0 = <&cp0_uart2_pins>; + status = "okay"; +}; + +&cp0_utmi { + /* M.2 "CON5" swaps D+/D- */ + swap-dx-lanes = <1>; +}; + +&cp1_ethernet { + status = "okay"; +}; + +/* SRDS #2 - 5GE */ +&cp1_eth0 { + phys = <&cp1_comphy2 0>; + phy-mode = "5gbase-r"; + phy = <&cp1_eth_phy0>; + managed = "in-band-status"; + status = "okay"; +}; + +/* SRDS #0,#1 - PCIe */ +&cp1_pcie0 { + num-lanes = <2>; + phys = <&cp1_comphy0 0>, <&cp1_comphy1 0>; + status = "okay"; +}; + +/* SRDS #4 - PCIe */ +&cp1_pcie1 { + num-lanes = <1>; + phys = <&cp1_comphy4 1>; + status = "okay"; +}; + +/* SRDS #5 - PCIe */ +&cp1_pcie2 { + num-lanes = <1>; + phys = <&cp1_comphy5 2>; + status = "okay"; +}; + +&cp1_pinctrl { + /* + * configure unused gpios exposed via pin headers: + * - J7-8: RSVD16 + * - J7-10: THRM + * - J10-1: WAKE1 + * - J10-2: SATA_ACT + * - J10-8: THERMTRIP + */ + pinctrl-names = "default"; + pinctrl-0 = <&cp1_rsvd16_pins &cp1_sata_act_pins &cp1_thrm_irq_pins>, + <&cp1_thrm_trip_pins &cp1_wake1_pins>; +}; + +/* SRDS #3 - SATA */ +&cp1_sata0 { + status = "okay"; + + /* only port 1 is available */ + /delete-node/ sata-port@0; + + sata-port@1 { + phys = <&cp1_comphy3 1>; + }; +}; + +&cp1_utmi { + /* M.2 "CON4" swaps D+/D- */ + swap-dx-lanes = <0>; +}; + +&cp1_xmdio { + pinctrl-names = "default"; + pinctrl-0 = <&cp1_xmdio_pins>; + status = "okay"; + + cp1_eth_phy0: ethernet-phy@8 { + compatible = "ethernet-phy-ieee802.3-c45"; + reg = <8>; + pinctrl-names = "default"; + pinctrl-0 = <&com_10g_int1_pins>; + interrupt-parent = <&cp1_gpio2>; + interrupts = <18 IRQ_TYPE_EDGE_FALLING>; + + leds { + #address-cells = <1>; + #size-cells = <0>; + + led@1 { + reg = <1>; + color = ; + function = LED_FUNCTION_LAN; + default-state = "keep"; + }; + + led@2 { + reg = <2>; + color = ; + function = LED_FUNCTION_LAN; + default-state = "keep"; + }; + }; + }; +}; + +&cp2_ethernet { + status = "okay"; +}; + +/* SRDS #2 - 5GE */ +&cp2_eth0 { + phys = <&cp2_comphy2 0>; + phy-mode = "5gbase-r"; + phy = <&cp2_eth_phy0>; + managed = "in-band-status"; + status = "okay"; +}; + +&cp2_gpio1 { + pinctrl-names= "default"; + pinctrl-0 = <&cp2_rsvd9_pins>; + + /* J21 */ + m2-wwan-reset-hog { + gpio-hog; + gpios = <9 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>; + output-low; + line-name = "m2-wwan-reset"; + }; +}; + +/* SRDS #0 - PCIe */ +&cp2_pcie0 { + num-lanes = <1>; + phys = <&cp2_comphy0 0>; + status = "okay"; +}; + +/* SRDS #4 - PCIe */ +&cp2_pcie1 { + num-lanes = <1>; + phys = <&cp2_comphy4 1>; + status = "okay"; +}; + +/* SRDS #5 - PCIe */ +&cp2_pcie2 { + num-lanes = <1>; + phys = <&cp2_comphy5 2>; + status = "okay"; +}; + +&cp2_pinctrl { + /* + * configure unused gpios exposed via pin headers: + * - J7-1: RSVD10 + * - J7-3: RSVD11 + * - J7-5: RSVD56 + * - J7-6: RSVD7 + * - J7-7: RSVD27 + * - J10-3: RSVD31 + * - J10-5: RSVD5 + * - J10-6: RSVD32 + * - J10-7: RSVD0 + * - J10-9: RSVD1 + */ + pinctrl-names = "default"; + pinctrl-0 = <&cp2_rsvd0_pins &cp2_rsvd1_pins &cp2_rsvd5_pins>, + <&cp2_rsvd7_pins &cp2_rsvd10_pins &cp2_rsvd11_pins>, + <&cp2_rsvd27_pins &cp2_rsvd31_pins &cp2_rsvd32_pins>, + <&cp2_rsvd56_pins>; +}; + +/* SRDS #3 - SATA */ +&cp2_sata0 { + status = "okay"; + + /* only port 1 is available */ + /delete-node/ sata-port@0; + + sata-port@1 { + phys = <&cp2_comphy3 1>; + }; +}; + +&cp2_xmdio { + pinctrl-names = "default"; + pinctrl-0 = <&cp2_xmdio_pins>; + status = "okay"; + + cp2_eth_phy0: ethernet-phy@8 { + compatible = "ethernet-phy-ieee802.3-c45"; + reg = <8>; + pinctrl-names = "default"; + pinctrl-0 = <&com_10g_int2_pins>; + interrupt-parent = <&cp2_gpio2>; + interrupts = <18 IRQ_TYPE_EDGE_FALLING>; + + leds { + #address-cells = <1>; + #size-cells = <0>; + + led@1 { + reg = <1>; + color = ; + function = LED_FUNCTION_LAN; + default-state = "keep"; + }; + + led@2 { + reg = <2>; + color = ; + function = LED_FUNCTION_LAN; + default-state = "keep"; + }; + }; + }; +}; diff --git a/arch/arm64/boot/dts/marvell/cn9132-sr-cex7.dtsi b/arch/arm64/boot/dts/marvell/cn9132-sr-cex7.dtsi new file mode 100644 index 000000000000..afc041c1c448 --- /dev/null +++ b/arch/arm64/boot/dts/marvell/cn9132-sr-cex7.dtsi @@ -0,0 +1,712 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright (C) 2024 Josua Mayer + * + */ + +#include + +/* + * Instantiate the first external CP115 + */ + +#define CP11X_NAME cp1 +#define CP11X_BASE f4000000 +#define CP11X_PCIEx_MEM_BASE(iface) (0xe2000000 + (iface * 0x1000000)) +#define CP11X_PCIEx_MEM_SIZE(iface) 0xf00000 +#define CP11X_PCIE0_BASE f4600000 +#define CP11X_PCIE1_BASE f4620000 +#define CP11X_PCIE2_BASE f4640000 + +#include "armada-cp115.dtsi" + +#undef CP11X_NAME +#undef CP11X_BASE +#undef CP11X_PCIEx_MEM_BASE +#undef CP11X_PCIEx_MEM_SIZE +#undef CP11X_PCIE0_BASE +#undef CP11X_PCIE1_BASE +#undef CP11X_PCIE2_BASE + +/* + * Instantiate the second external CP115 + */ + +#define CP11X_NAME cp2 +#define CP11X_BASE f6000000 +#define CP11X_PCIEx_MEM_BASE(iface) (0xe5000000 + (iface * 0x1000000)) +#define CP11X_PCIEx_MEM_SIZE(iface) 0xf00000 +#define CP11X_PCIE0_BASE f6600000 +#define CP11X_PCIE1_BASE f6620000 +#define CP11X_PCIE2_BASE f6640000 + +#include "armada-cp115.dtsi" + +#undef CP11X_NAME +#undef CP11X_BASE +#undef CP11X_PCIEx_MEM_BASE +#undef CP11X_PCIEx_MEM_SIZE +#undef CP11X_PCIE0_BASE +#undef CP11X_PCIE1_BASE +#undef CP11X_PCIE2_BASE + +/ { + model = "SolidRun CN9132 COM Express Type 7 Module"; + compatible = "solidrun,cn9132-sr-cex7", "marvell,cn9130"; + + aliases { + ethernet0 = &cp0_eth1; + gpio3 = &cp1_gpio1; + gpio4 = &cp1_gpio2; + gpio5 = &cp2_gpio1; + gpio6 = &cp2_gpio2; + i2c0 = &cp0_i2c0; + i2c1 = &cp0_i2c1; + i2c2 = &com_clkgen_i2c; + i2c3 = &com_10g_led_i2c; + i2c4 = &com_10g_sfp_i2c0; + i2c5 = &com_smbus; + i2c6 = &com_fanctrl_i2c; + mmc0 = &ap_sdhci0; + rtc0 = &cp0_rtc; + }; + + chosen { + stdout-path = "serial0:115200n8"; + }; + + fan: pwm-fan { + compatible = "pwm-fan"; + cooling-levels = <0 51 102 153 204 255>; + #cooling-cells = <2>; + pinctrl-names = "default"; + pinctrl-0 = <&cp0_fan_pwm_pins &cp0_fan_tacho_pins>; + pwms = <&cp0_gpio2 7 40000>; + interrupt-parent = <&cp0_gpio1>; + interrupts = <26 IRQ_TYPE_EDGE_FALLING>; + }; + + v_1_8: regulator-1-8 { + compatible = "regulator-fixed"; + regulator-name = "1v8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + + ap_vhv: regulator-ap-vhv-1-8 { + compatible = "regulator-fixed"; + regulator-name = "ap-vhv-1v8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + pinctrl-0 = <&cp0_reg_ap_vhv_pins>; + pinctrl-names = "default"; + gpios = <&cp0_gpio2 21 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + cp_vhv: regulator-cp-vhv-1-8 { + compatible = "regulator-fixed"; + regulator-name = "cp-vhv-1v8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + pinctrl-0 = <&cp0_reg_cp_vhv_pins>; + pinctrl-names = "default"; + gpios = <&cp0_gpio2 17 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; +}; + +&ap_pinctrl { + ap_mmc0_pins: ap-mmc0-pins { + marvell,pins = "mpp0", "mpp1", "mpp2", "mpp3", "mpp4", "mpp5", + "mpp6", "mpp7", "mpp8", "mpp9", "mpp10", "mpp12"; + marvell,function = "sdio"; + /* + * mpp12 is emmc reset, function should be sdio (hw_rst), + * but pinctrl-mvebu does not support this. + * + * From pinctrl-mvebu.h: + * "The name will be used to switch to this setting in DT description, e.g. + * marvell,function = "uart2". subname is only for debugging purposes." + */ + }; +}; + +&ap_sdhci0 { + bus-width = <8>; + pinctrl-0 = <&ap_mmc0_pins>; + pinctrl-names = "default"; + vqmmc-supply = <&v_1_8>; + status = "okay"; +}; + +&ap_thermal_ic { + polling-delay = <1000>; + + trips { + ap_active: trip-active { + temperature = <40000>; + hysteresis = <4000>; + type = "active"; + }; + }; + + cooling-maps { + map0 { + trip = <&ap_active>; + cooling-device = <&fan THERMAL_NO_LIMIT 4>; + }; + + map1 { + trip = <&ap_crit>; + cooling-device = <&fan 4 5>; + }; + }; +}; + +&cp0_ethernet { + status = "okay"; +}; + +&cp0_eth1 { + pinctrl-names = "default"; + pinctrl-0 = <&cp0_eth1_pins>; + phy-mode = "rgmii-id"; + phy = <&cp0_eth_phy0>; + status = "okay"; +}; + +&cp0_gpio1 { + status = "okay"; + + /* + * Tacho signal used as interrupt source by pwm-fan driver. + * Hog IO as input to ensure mvebu-gpio irq driver`s + * irq_set_type can succeed. + */ + pwm-tacho-irq-hog { + gpio-hog; + gpios = <26 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>; + input; + line-name = "fan-tacho"; + }; +}; + +&cp0_gpio2 { + status = "okay"; +}; + +&cp0_i2c0 { + pinctrl-names = "default"; + pinctrl-0 = <&cp0_i2c0_pins>; + clock-frequency = <100000>; + status = "okay"; + + com_eeprom: eeprom@50 { + compatible = "atmel,24c02"; + reg = <0x50>; + pagesize = <8>; + }; + + eeprom@53 { + compatible = "atmel,spd"; + reg = <0x53>; + }; +}; + +&cp0_i2c1 { + pinctrl-names = "default"; + pinctrl-0 = <&cp0_i2c1_pins>; + clock-frequency = <100000>; + status = "okay"; + + i2c-mux@77 { + compatible = "nxp,pca9547"; + reg = <0x77>; + i2c-mux-idle-disconnect; + #address-cells = <1>; + #size-cells = <0>; + + com_clkgen_i2c: i2c@0 { + #address-cells = <1>; + #size-cells = <0>; + reg = <0>; + + /* clock-controller@6b */ + }; + + com_10g_led_i2c: i2c@1 { + #address-cells = <1>; + #size-cells = <0>; + reg = <1>; + + /* Routed to B2B Connector as I2C_10G_LED_SCL/SDA */ + }; + + com_10g_sfp_i2c0: i2c@2 { + #address-cells = <1>; + #size-cells = <0>; + reg = <2>; + + /* Routed to B2B Connector as I2C_SFP0_CP0_SCL/SDA */ + }; + + com_smbus: i2c@3 { + #address-cells = <1>; + #size-cells = <0>; + reg = <3>; + + /* Routed to B2B Connector as SBM_CLK/DAT */ + }; + + com_fanctrl_i2c: i2c@4 { + #address-cells = <1>; + #size-cells = <0>; + reg = <4>; + + /* fan-controller@2f (assembly option) */ + }; + }; +}; + +&cp0_mdio { + pinctrl-names = "default"; + pinctrl-0 = <&cp0_mdio_pins>; + status = "okay"; + + cp0_eth_phy0: ethernet-phy@0 { + reg = <0>; + }; +}; + +&cp0_spi1 { + pinctrl-names = "default"; + pinctrl-0 = <&cp0_spi1_pins>; + status = "okay"; + + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + /* read command supports max. 50MHz */ + spi-max-frequency = <50000000>; + }; +}; + +&cp0_syscon0 { + cp0_pinctrl: pinctrl { + compatible = "marvell,cp115-standalone-pinctrl"; + + com_10g_int0_pins: cp0-10g-int-pins { + marvell,pins = "mpp24"; + marvell,function = "gpio"; + }; + + cp0_eth1_pins: cp0-eth1-pins { + marvell,pins = "mpp0", "mpp1", "mpp2", "mpp3", + "mpp4", "mpp5", "mpp6", "mpp7", + "mpp8", "mpp9", "mpp10", "mpp11"; + /* docs call it "ge1", but cp110-pinctrl "ge0" */ + marvell,function = "ge0"; + }; + + cp0_fan_pwm_pins: cp0-fan-pwm-pins { + marvell,pins = "mpp39"; + marvell,function = "gpio"; + }; + + cp0_fan_tacho_pins: cp0-fan-tacho-pins { + marvell,pins = "mpp26"; + marvell,function = "gpio"; + }; + + cp0_i2c0_pins: cp0-i2c0-pins { + marvell,pins = "mpp37", "mpp38"; + marvell,function = "i2c0"; + }; + + cp0_i2c1_pins: cp0-i2c1-pins { + marvell,pins = "mpp35", "mpp36"; + marvell,function = "i2c1"; + }; + + cp0_mdio_pins: cp0-mdio-pins { + marvell,pins = "mpp40", "mpp41"; + marvell,function = "ge"; + }; + + cp0_mmc0_pins: cp0-mmc0-pins { + marvell,pins = "mpp56", "mpp57", "mpp58", "mpp59", + "mpp60", "mpp61"; + marvell,function = "sdio"; + }; + + cp0_mmc0_cd_pins: cp0-mmc0-cd-pins { + marvell,pins = "mpp55"; + marvell,function = "sdio_cd"; + }; + + cp0_pwrbtn_pins: cp0-pwrbtn-pins { + marvell,pins = "mpp31"; + marvell,function = "gpio"; + }; + + cp0_reg_ap_vhv_pins: cp0-reg-ap-vhv-pins { + marvell,pins = "mpp53"; + marvell,function = "gpio"; + }; + + cp0_reg_cp_vhv_pins: cp0-reg-cp-vhv-pins { + marvell,pins = "mpp49"; + marvell,function = "gpio"; + }; + + cp0_spi1_pins: cp0-spi1-pins { + marvell,pins = "mpp13", "mpp14", "mpp15", "mpp16"; + marvell,function = "spi1"; + }; + + cp0_spi1_cs1_pins: cp0-spi1-cs1-pins { + marvell,pins = "mpp12"; + marvell,function = "spi1"; + }; + + cp0_uart2_pins: cp0-uart2-pins { + marvell,pins = "mpp50", "mpp51"; + marvell,function = "uart2"; + }; + }; +}; + +&cp0_thermal_ic { + polling-delay = <1000>; + + trips { + cp0_active: trip-active { + temperature = <40000>; + hysteresis = <4000>; + type = "active"; + }; + }; + + cooling-maps { + map0 { + trip = <&cp0_active>; + cooling-device = <&fan THERMAL_NO_LIMIT 4>; + }; + + map1 { + trip = <&cp0_crit>; + cooling-device = <&fan 4 5>; + }; + }; +}; + +/* USB-2.0 Host */ +&cp0_usb3_0 { + phys = <&cp0_utmi0>; + phy-names = "utmi"; + dr_mode = "host"; + status = "okay"; +}; + +/* USB-2.0 Host */ +&cp0_usb3_1 { + phys = <&cp0_utmi1>; + phy-names = "utmi"; + dr_mode = "host"; + status = "okay"; +}; + +&cp0_utmi { + status = "okay"; +}; + +&cp1_gpio1 { + status = "okay"; +}; + +&cp1_gpio2 { + status = "okay"; +}; + +&cp1_rtc { + status = "disabled"; +}; + +&cp1_spi1 { + pinctrl-names = "default"; + pinctrl-0 = <&cp1_spi1_pins>; + status = "okay"; + + tpm@0 { + reg = <0>; + compatible = "infineon,slb9670", "tcg,tpm_tis-spi"; + spi-max-frequency = <10000000>; + pinctrl-names = "default"; + pinctrl-0 = <&cp1_tpm_irq_pins>; + interrupt-parent = <&cp1_gpio1>; + interrupts = <17 IRQ_TYPE_LEVEL_LOW>; + }; +}; + +&cp1_syscon0 { + cp1_pinctrl: pinctrl { + compatible = "marvell,cp115-standalone-pinctrl"; + + com_10g_int1_pins: cp1-10g-int-pins { + marvell,pins = "mpp50"; + marvell,function = "gpio"; + }; + + cp1_10g_phy_rst_01_pins: cp1-10g-phy-rst-01-pins { + marvell,pins = "mpp43"; + marvell,function = "gpio"; + }; + + cp1_10g_phy_rst_23_pins: cp1-10g-phy-rst-23-pins { + marvell,pins = "mpp42"; + marvell,function = "gpio"; + }; + + cp1_batlow_pins: cp1-batlow-pins { + marvell,pins = "mpp11"; + marvell,function = "gpio"; + }; + + cp1_rsvd16_pins: cp1-rsvd16-pins { + marvell,pins = "mpp29"; + marvell,function = "gpio"; + }; + + cp1_sata_act_pins: cp1-sata-act-pins { + marvell,pins = "mpp39"; + marvell,function = "gpio"; + }; + + cp1_spi1_pins: cp1-spi1-pins { + marvell,pins = "mpp13", "mpp14", "mpp15", "mpp16"; + marvell,function = "spi1"; + }; + + cp1_thrm_irq_pins: cp1-thrm-irq-pins { + marvell,pins = "mpp34"; + marvell,function = "gpio"; + }; + + cp1_thrm_trip_pins: cp1-thrm-trip-pins { + marvell,pins = "mpp33"; + marvell,function = "gpio"; + }; + + cp1_tpm_irq_pins: cp1-tpm-irq-pins { + marvell,pins = "mpp17"; + marvell,function = "gpio"; + }; + + cp1_wake0_pins: cp1-wake0-pins { + marvell,pins = "mpp40"; + marvell,function = "gpio"; + }; + + cp1_wake1_pins: cp1-wake1-pins { + marvell,pins = "mpp51"; + marvell,function = "gpio"; + }; + + cp1_xmdio_pins: cp1-xmdio-pins { + marvell,pins = "mpp37", "mpp38"; + marvell,function = "xg"; + }; + }; +}; + +&cp1_thermal_ic { + polling-delay = <1000>; + + trips { + cp1_active: trip-active { + temperature = <40000>; + hysteresis = <4000>; + type = "active"; + }; + }; + + cooling-maps { + map0 { + trip = <&cp1_active>; + cooling-device = <&fan THERMAL_NO_LIMIT 4>; + }; + + map1 { + trip = <&cp1_crit>; + cooling-device = <&fan 4 5>; + }; + }; +}; + +/* USB-2.0 Host */ +&cp1_usb3_0 { + phys = <&cp1_utmi0>; + phy-names = "utmi"; + dr_mode = "host"; + status = "okay"; +}; + +&cp1_utmi { + status = "okay"; +}; + +&cp2_ethernet { + status = "okay"; +}; + +&cp2_gpio1 { + status = "okay"; +}; + +&cp2_gpio2 { + status = "okay"; +}; + +&cp2_rtc { + status = "disabled"; +}; + +&cp2_syscon0 { + cp2_pinctrl: pinctrl { + compatible = "marvell,cp115-standalone-pinctrl"; + + com_10g_int2_pins: cp2-10g-int-pins { + marvell,pins = "mpp50"; + marvell,function = "gpio"; + }; + + cp2_rsvd0_pins: cp2-rsvd0-pins { + marvell,pins = "mpp0"; + marvell,function = "gpio"; + }; + + cp2_rsvd1_pins: cp2-rsvd1-pins { + marvell,pins = "mpp1"; + marvell,function = "gpio"; + }; + + cp2_rsvd2_pins: cp2-rsvd2-pins { + marvell,pins = "mpp2"; + marvell,function = "gpio"; + }; + + cp2_rsvd3_pins: cp2-rsvd3-pins { + marvell,pins = "mpp3"; + marvell,function = "gpio"; + }; + + cp2_rsvd4_pins: cp2-rsvd4-pins { + marvell,pins = "mpp4"; + marvell,function = "gpio"; + }; + + cp2_rsvd5_pins: cp2-rsvd5-pins { + marvell,pins = "mpp54"; + marvell,function = "gpio"; + }; + + cp2_rsvd7_pins: cp2-rsvd7-pins { + marvell,pins = "mpp7"; + marvell,function = "gpio"; + }; + + cp2_rsvd8_pins: cp2-rsvd8-pins { + marvell,pins = "mpp8"; + marvell,function = "gpio"; + }; + + cp2_rsvd9_pins: cp2-rsvd9-pins { + marvell,pins = "mpp9"; + marvell,function = "gpio"; + }; + + cp2_rsvd10_pins: cp2-rsvd10-pins { + marvell,pins = "mpp10"; + marvell,function = "gpio"; + }; + + cp2_rsvd11_pins: cp2-rsvd11-pins { + marvell,pins = "mpp11"; + marvell,function = "gpio"; + }; + + cp2_rsvd27_pins: cp2-rsvd27-pins { + marvell,pins = "mpp11"; + marvell,function = "gpio"; + }; + + cp2_rsvd31_pins: cp2-rsvd31-pins { + marvell,pins = "mpp31"; + marvell,function = "gpio"; + }; + + cp2_rsvd32_pins: cp2-rsvd32-pins { + marvell,pins = "mpp32"; + marvell,function = "gpio"; + }; + + cp2_rsvd55_pins: cp2-rsvd55-pins { + marvell,pins = "mpp55"; + marvell,function = "gpio"; + }; + + cp2_rsvd56_pins: cp2-rsvd56-pins { + marvell,pins = "mpp56"; + marvell,function = "gpio"; + }; + + cp2_xmdio_pins: cp2-xmdio-pins { + marvell,pins = "mpp37", "mpp38"; + marvell,function = "xg"; + }; + }; +}; + +&cp2_thermal_ic { + polling-delay = <1000>; + + trips { + cp2_active: trip-active { + temperature = <40000>; + hysteresis = <4000>; + type = "active"; + }; + }; + + cooling-maps { + map0 { + trip = <&cp2_active>; + cooling-device = <&fan THERMAL_NO_LIMIT 4>; + }; + + map1 { + trip = <&cp2_crit>; + cooling-device = <&fan 4 5>; + }; + }; +}; + +/* USB-2.0/3.0 Host */ +&cp2_usb3_0 { + phys = <&cp2_utmi0>, <&cp2_comphy1 0>; + phy-names = "utmi", "comphy"; + dr_mode = "host"; + status = "okay"; +}; + +&cp2_utmi { + status = "okay"; +}; + +/* AP default console */ +&uart0 { + pinctrl-0 = <&uart0_pins>; + pinctrl-names = "default"; + status = "okay"; +};