From nobody Thu Apr 2 23:55:37 2026 Received: from MRWPR03CU001.outbound.protection.outlook.com (mail-francesouthazon11021108.outbound.protection.outlook.com [40.107.130.108]) (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 B5E2C2E62C0; Fri, 13 Mar 2026 12:31:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.130.108 ARC-Seal: i=3; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773405094; cv=fail; b=i89QuzYQxE3E9NyTznp2PwCxODUx9PdDIpAaAwKcivSN+S5sQt3KEoBHJEms8Mra4h/63tvRKOcPqzR7XtKpk5wVkVfqksZwsop9qv7a1Yl/umya05cOC01OEqX3XxC8vYB7fs5Ld+imT5bi8gsr7QYmBYhMdeyp9Qj1oppKB6Y= ARC-Message-Signature: i=3; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773405094; c=relaxed/simple; bh=z9toXKTqiRGqfDpBxi4xrIlqlqrcpyDhuufx+NXPKHo=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=XXkkGPkOCsPwqzqbAFTZrso/zMPauiFObtzVZY2+VboX8d5bTg8+nHm6TgMR+l0fUrIdit1wX3TLiuL3gfPXEtf7c6zgVpq6Axe1AG/lgsxhAhEET4DFCgobioWkBaxnRKpXvHRYor5Nto4cdzmiSomS3zv/KJEK00CvyBn0Asc= ARC-Authentication-Results: i=3; 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=nkAMrnOn; dkim=pass (1024-bit key) header.d=solidrn.onmicrosoft.com header.i=@solidrn.onmicrosoft.com header.b=nkAMrnOn; arc=fail smtp.client-ip=40.107.130.108 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="nkAMrnOn"; dkim=pass (1024-bit key) header.d=solidrn.onmicrosoft.com header.i=@solidrn.onmicrosoft.com header.b="nkAMrnOn" ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=vLGJXeikVlIlzykw7NpPMH7dVUr70A7QU4Vjl+BwWy1+C4IAJPPUak3bueH9PVbFbEFuXRnHZ7yAX4dqbov8h8z1PSYLVsUmYs0YvBgrbjk4Xxms08zdo3WtZgrOZm5B3F2m3VJxISmLikl6vhDcCfAK0HEnrIycLUrPqX01NE4rZXUAzRUcgig5c3QEMbqR/laToQ6YBbckDCYFeQnB+5NTUROZ0HilE/bnVJyRs2+amNcGLEqqgyDkGo59MhQz8Dq7ogsRNVdWzNeQtTe1KZ1QBgOX8uFy88kg/OIWWxXQcFpELQZ6Eja49wwjlPXPgZQ3/Aurd6E0dVhioyos0w== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=iAuWCs7DpktJvfuLKYqsaoe8W42oDolszzGwfZz0ZZQ=; b=ZAqzr41xeEGVhjS+DNYaTLpLjbUG4TF/60RVKNmNIC78/4tk+vkisEWOaWszLERKaFkQ9BezaJ55Iz5B6wfqP6kjx80kTLmamTKsWf4KduGRYLwQHGsOaTYz7BlN4bpg5TGzIxnVVIX3NtuDD0Kuph2rIRzVMJE5yugHJRf+W4rQFr5TkRGqLwoucKtnu8EaHncnC75YL5oYnI+YJCEmNpQVcKOQOSJq0jhdBFeoUtaSLUofdWZbobQdeRgq1OIs7XCZKSCcoSFCUJUDsOkNH5onNDp9qrxawfF7aB6qyacp7ce2JC13InjomTUcZH3+gtt41HOxX9vn4CH3srMozw== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=softfail (sender ip is 52.17.62.50) smtp.rcpttodomain=gmail.com smtp.mailfrom=solid-run.com; dmarc=fail (p=none sp=none pct=100) action=none header.from=solid-run.com; dkim=pass (signature was verified) header.d=solidrn.onmicrosoft.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=solid-run.com] dkim=[1,1,header.d=solid-run.com] dmarc=[1,1,header.from=solid-run.com]) 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=iAuWCs7DpktJvfuLKYqsaoe8W42oDolszzGwfZz0ZZQ=; b=nkAMrnOnL/cqj4OQyWJk/BhP+TaFqnpe5V+mJGSSkpTGkYv3CCFzJr9VouLb80/haScaL0UakGbbPkCWtgdt7NxGWVDqvnX5ELgdMO+vRefnoNZpoOgRjgSzMHKo5XtANyqRXR6EFbDn8IU5xRrf/Gjjq72TZA2FXSc6Is+iA/I= Received: from AS4P195CA0016.EURP195.PROD.OUTLOOK.COM (2603:10a6:20b:5d6::18) by PA1PR04MB10443.eurprd04.prod.outlook.com (2603:10a6:102:450::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9700.16; Fri, 13 Mar 2026 12:31:18 +0000 Received: from AM4PEPF00025F98.EURPRD83.prod.outlook.com (2603:10a6:20b:5d6:cafe::2e) by AS4P195CA0016.outlook.office365.com (2603:10a6:20b:5d6::18) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9678.29 via Frontend Transport; Fri, 13 Mar 2026 12:31:25 +0000 X-MS-Exchange-Authentication-Results: spf=softfail (sender IP is 52.17.62.50) smtp.mailfrom=solid-run.com; dkim=pass (signature was verified) header.d=solidrn.onmicrosoft.com;dmarc=fail action=none header.from=solid-run.com; Received-SPF: SoftFail (protection.outlook.com: domain of transitioning solid-run.com discourages use of 52.17.62.50 as permitted sender) Received: from eu-dlp.cloud-sec-av.com (52.17.62.50) by AM4PEPF00025F98.mail.protection.outlook.com (10.167.16.7) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9723.1 via Frontend Transport; Fri, 13 Mar 2026 12:31:27 +0000 Received: from emails-6245764-12-mt-prod-cp-eu-2.checkpointcloudsec.com (ip-10-20-6-17.eu-west-1.compute.internal [10.20.6.17]) by mta-outgoing-dlp-862-mt-prod-cp-eu-2.checkpointcloudsec.com (Postfix) with ESMTPS id 655FD80C05; Fri, 13 Mar 2026 12:31:27 +0000 (UTC) X-Mailbox-Line: From b'josua@solid-run.com' Fri Mar 13 12:31:20 2026 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=QFeh1ucwSQ0TivjTvi2Lz8im2eOmQ/xlz69gYgraEORnW0Ib0dVvjWseAAtMbdNnINKeeWu4ae+86dhMjaV952hdAUAsnuWwn8Gv2h+IZDSrmdCJdgDBo+zaS/EtBXO5PpSOq0+7UhK2mXyP8AjlJ1OzWneO30ej8fBgP64ajNrLSnD0qvN7QDv5GrOFTsKchPkSE5k0TMuc2mrkyxLvXqQnSDPx4g/fl+iSRPWDfnOoBEhro/uzkznfpxOAP3F6b2ZWGs/75ESVWAXrxSuyhVdwOnUdVZP8nbgXYD8a410SWUc+TUD/VCa1/fk7/c0R9KLQBu4RDgZko/xDFc4jaQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=iAuWCs7DpktJvfuLKYqsaoe8W42oDolszzGwfZz0ZZQ=; b=dcSfTKfQHHrgLb1X2LRUe3R54p216FfYBpeOyn2PXWfgTgv79i1NjRAksEK5A+4FXQcdZQrwtejIx9Je6JQAUrhJZsJ17tuDZMIjUnftwQjYb+h/5tm4E5OOw3CxZkoRQ+G/NLadnubZkqI6V4sUdaLwNcY0CUTtrNZfhdRCWyBcOSHrKTa+7A9td2euTzhe0xxxi7ppzK9NrJhVKtCni0tNA9SSgB0Qd7K9Y84TZJDbsxbFTS5aisw/KrS9FV8bqJlR/xxefN+jTsXK8B37kVdMdX2gx6GWgrU7Om1efdoGsV9MfDv3nZp6aGfmUe37ZlHSN8XArDPZjFHYpXLryQ== 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=iAuWCs7DpktJvfuLKYqsaoe8W42oDolszzGwfZz0ZZQ=; b=nkAMrnOnL/cqj4OQyWJk/BhP+TaFqnpe5V+mJGSSkpTGkYv3CCFzJr9VouLb80/haScaL0UakGbbPkCWtgdt7NxGWVDqvnX5ELgdMO+vRefnoNZpoOgRjgSzMHKo5XtANyqRXR6EFbDn8IU5xRrf/Gjjq72TZA2FXSc6Is+iA/I= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=solid-run.com; Received: from PAXPR04MB8749.eurprd04.prod.outlook.com (2603:10a6:102:21f::22) by PR3PR04MB7467.eurprd04.prod.outlook.com (2603:10a6:102:80::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9700.16; Fri, 13 Mar 2026 12:31:10 +0000 Received: from PAXPR04MB8749.eurprd04.prod.outlook.com ([fe80::d782:fbb2:be9a:43f1]) by PAXPR04MB8749.eurprd04.prod.outlook.com ([fe80::d782:fbb2:be9a:43f1%3]) with mapi id 15.20.9700.015; Fri, 13 Mar 2026 12:31:02 +0000 From: Josua Mayer Date: Fri, 13 Mar 2026 14:30:57 +0200 Subject: [PATCH v10 1/4] arm64: dts: add description for SolidRun i.MX8MP HummingBoard IIoT Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260313-imx8mp-hb-iiot-v10-1-52b3084f2426@solid-run.com> References: <20260313-imx8mp-hb-iiot-v10-0-52b3084f2426@solid-run.com> In-Reply-To: <20260313-imx8mp-hb-iiot-v10-0-52b3084f2426@solid-run.com> To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Frank Li Cc: Mikhail Anikin , Yazan Shhady , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, Josua Mayer X-Mailer: b4 0.14.3 X-ClientProxiedBy: TL2P290CA0007.ISRP290.PROD.OUTLOOK.COM (2603:1096:950:2::9) To PAXPR04MB8749.eurprd04.prod.outlook.com (2603:10a6:102:21f::22) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: PAXPR04MB8749:EE_|PR3PR04MB7467:EE_|AM4PEPF00025F98:EE_|PA1PR04MB10443:EE_ X-MS-Office365-Filtering-Correlation-Id: da2f950d-84f9-4d67-a824-08de80fc72d2 X-CLOUD-SEC-AV-Info: solidrun,office365_emails,sent,inline X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0;ARA:13230040|7416014|376014|52116014|1800799024|366016|38350700014|56012099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info-Original: aaibO9GUZMZChN7KYZUJyLF93Vf5dxt0qpF1YV2O/raVhgXl9Ap3wskzYLtdx9fHBzgFgvC+hk4cuqzYiU6LJGhtN8s3HbXg/9r1eW6EoXYfc9bBso+wWpeW7G0MbHpVm/5kmRQHbtTmweH/Bogm6yLv2DiKpa0iut5DOpw8byKcm+nDXB4m3NdvFP4XoZGN+kK/IQgJYuHPX6wvQg9WM7rC0oHCkoypWarYTxWqgQODD0h41xnmC+At+pXkSxybG5X2MxvL/VctQ0sZYswEUr+O3YHa7CDLDzc/DRis2hHwv6iVoZOA/bY2RMRD6ihiMt+ISUWq7oNx/ak/48bV6fkBVsEVLDT+YodT5kY+iPmxpyr4cpdEPrXLAYRwV8OjLsfdTboEdTUKhS4Qj0QsDotF3CbMY5tOW9BzMarArSOOM3V2PMvdsa+p62OddIz2tWaJZhN5X+KZnynJR2ik8MyvQC/0S51rbBOKvjj7gPhwtrNPmbWoSAjOZPT+F+87oRSINBShFyf0SYFfW376NmQW0ahzEh1GC2Rg7s/G883tWkNKroajSS3kMNGI05hcVk2w7e049Ca/bHmyjtxGw4yHoOSMwGjwLvyajphlGah6mNPZGEpwUj7yheKlDMxaJQO6Z1MrzcNRH+OmZW+Df/I69iqz51GCuw9vKzfA9LFNp4J5nd5tNqYvuMlAQyTYpwnczi7vA1xzuWAGccrjfWcHrsM+WzOw5ylQaqTxdUuZJ9RUbGcy12koR9EoNzeYZDLcum2RedCXPL/1VrgCVXunNw+xVk5kUQtrDaMTqyU= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB8749.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(376014)(52116014)(1800799024)(366016)(38350700014)(56012099003)(18002099003)(22082099003);DIR:OUT;SFP:1102; X-Exchange-RoutingPolicyChecked: SUrrSwafT3GfLs73QPHLbHosCz+NFOVhGmB6Pt1GopQuwG6x2h3blVj53wRF+rzXxpz8Dxqmu+QJcYmXo500PWBqsFazt1PUcqgyOBXhSg/YQaNpQsYVCFDTRqYLtx7YqBmUROEanDeFoAe3ihMAvSN6iZsbYN5RdV3rlEIvzEsykRPqzVxbvzzRkf9rJ1eKqVzbQa4aRjCSV8cJz3scHGpfbEVo9x4Jr0bU6gsBp76VwJPZ5IDPdcaDhKa3YTP2jvsEyr2nq1zaCAtcAn4X5ngQTkIHHUszZsudi+7vSg8ullWNscBFUOb2cs6PE1j1rKWHl9HWTYyPHzsWKsk8HA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR04MB7467 X-CLOUD-SEC-AV-INT-Relay: sent X-CLOUD-SEC-AV-UUID: e57492f379cc4ee0ad61acb362bf7c45:solidrun,office365_emails,sent,inline:9289b2abfe3e9fc97e4b402e7c3b6b90 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM4PEPF00025F98.EURPRD83.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: be53f8c0-0825-4cab-7188-08de80fc636a X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|82310400026|1800799024|36860700016|35042699022|14060799003|22082099003|56012099003|18002099003; X-Microsoft-Antispam-Message-Info: LRk8L2hnTriuqnAl40LQVdvDBGZ0HgFhEVbCscqyI2Ozc/iRAnRpwKOb+c5c+UAqkqtkRiBuFDQoKN13KsXZQfWM7GqciJ1qO/1p1TDgqXiAEDM9c7WRsl9AwVwS9h92Jkq+bhqTPeWmr1zIrKNu1z9OTF0m2j5n053MAVnAuU/D+2XCKi7MlOMSYy0YESJ5VFGzLbBslxdW5NNk9CYWrFbkqODGyAbN0WwiQ8AFJIbD1n8jNb8tnpdD0alBuE/vmefRxn1REw7CwTAHCCRtAQ1iHX2tK5AgzU/2+QSJmnQ1UdH1SwqHwRvyGbQhBspxiL6S+D4OFCvaTa6Nmhjy3TevaOnClfk8u5mcXVGjwFNrZ41UbqUseBxUK2RxjA/UBBqbMuwNfHjzExWrU97cP74GETatE0Y5ehUVqwm3gEh4uee4h2k2AwJxwN7roTTnRKGWDASeozEEcLjJeUSv8oQmDdqwv7u1hNhQZVGUvJqVwiMneXri8nBW8hZS62csVcpUmwDhOMZdEuimrnwb8XBgcj68BpYbnmjPuczSW0UeobN9kE4z5/DXWLMd+VWekU/TCQThzWJpdooeXhk2UGsC3cjOGJ/WpnKO42D39MYZNi7Ry5IkDqSCK8ZqKD4VLxqSoXtWHUIP8aSNUrgR5scwm5DVYwlk4kQBpaPsveOXteY9rkb+AFVWo7CAdt6XRuKeCSeEyNjKcDF/Lb6hKjUYMpuYmmPckzJpt23OyL3Pl8lXleQlTTwTWFyEfJpdqZF4Zive9j/2Qf3mub5B3w== X-Forefront-Antispam-Report: CIP:52.17.62.50;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:eu-dlp.cloud-sec-av.com;PTR:eu-dlp.cloud-sec-av.com;CAT:NONE;SFS:(13230040)(376014)(7416014)(82310400026)(1800799024)(36860700016)(35042699022)(14060799003)(22082099003)(56012099003)(18002099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: vw5lFwbO932gN42xm4FaFUpWW81Cv09GO16EaclsIcWvaS9zWEl+bxga+gfetwOqPtBHkVsrLK0/5e65TnBHoecHy4hFaAmZac8h7+kZj2u+0xAPAqyQvShizLzugyIDyWPx23jSfLx0TwtWAd6E+EADsaSo68dbTMtCYDTE7rU4nuWVm0XNEV2LXBrnx8kO92vv3br4G8TMtY7txmbpiOF8R/KszrjkTBEwvEc1Cc8TMmeUQv83kpcqmXaGN35dFa+HU64CrJFzdmIqvFLrfbera11hdxs2DijL3vPZdjdaW6e+3fsRZKo5/j5ZcyO9VDRUiUnySMbEgkTWfc/b/XAjwT1VHz6fRQ3K9zMWWteHcE+M3v7ABY+Rlk7uwsGc15zh3EwxdAtambGOOsILGOjBrWWtCWGRSGydDDtXsf7JPElugjgBgVqMZ8K7ashs X-OriginatorOrg: solid-run.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2026 12:31:27.8902 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: da2f950d-84f9-4d67-a824-08de80fc72d2 X-MS-Exchange-CrossTenant-Id: a4a8aaf3-fd27-4e27-add2-604707ce5b82 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=a4a8aaf3-fd27-4e27-add2-604707ce5b82;Ip=[52.17.62.50];Helo=[eu-dlp.cloud-sec-av.com] X-MS-Exchange-CrossTenant-AuthSource: AM4PEPF00025F98.EURPRD83.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA1PR04MB10443 Introduce support for the SolidRun i.MX8MP HummingBoard IIoT platform. This board is a new design based on the i.MX8MP System on Module and does not share much hardware with previous HummingBoard variants. It comes with some common features: - 3x USB-3.0 Type A connector - 2x 1Gbps RJ45 Ethernet - USB Type-C Console Port - microSD connector - RTC with backup battery - RGB Status LED - 1x M.2 M-Key connector with PCI-E Gen. 3 x1 - 1x M.2 B-Key connector with USB-2.0/3.0 + SIM card holder - 1x LVDS Display Connector - 1x DSI Display Connector - GPIO header - 2x RS232/RS485 ports (configurable) - 2x CAN In addition there is a board-to-board expansion connector to support custom daughter boards with access to SPI, a range of GPIOs and - notably - CAN and UART. Both 2x CAN and 2x UART can be muxed either to this b2b connector, or a terminal block connector on the base board. The routing choice for UART and CAN is expressed through gpio mux-controllers in DT and can be changed by applying dtb overlays. Signed-off-by: Josua Mayer --- arch/arm64/boot/dts/freescale/Makefile | 2 + .../dts/freescale/imx8mp-hummingboard-iiot.dts | 716 +++++++++++++++++= ++++ 2 files changed, 718 insertions(+) diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/f= reescale/Makefile index a6fe56bb93aa..e974bc952bcc 100644 --- a/arch/arm64/boot/dts/freescale/Makefile +++ b/arch/arm64/boot/dts/freescale/Makefile @@ -238,6 +238,8 @@ dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-dhcom-picoitx.dtb dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-edm-g-wb.dtb dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-evk.dtb dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-frdm.dtb +DTC_FLAGS_imx8mp-hummingboard-iiot :=3D -@ +dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-hummingboard-iiot.dtb DTC_FLAGS_imx8mp-hummingboard-mate :=3D -@ dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-hummingboard-mate.dtb DTC_FLAGS_imx8mp-hummingboard-pro :=3D -@ diff --git a/arch/arm64/boot/dts/freescale/imx8mp-hummingboard-iiot.dts b/a= rch/arm64/boot/dts/freescale/imx8mp-hummingboard-iiot.dts new file mode 100644 index 000000000000..7c5b77c928d3 --- /dev/null +++ b/arch/arm64/boot/dts/freescale/imx8mp-hummingboard-iiot.dts @@ -0,0 +1,716 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright 2024 Yazan Shhady + * Copyright 2025 Josua Mayer + */ + +/dts-v1/; + +#include +#include + +#include "imx8mp-sr-som.dtsi" + +/ { + compatible =3D "solidrun,imx8mp-hummingboard-iiot", + "solidrun,imx8mp-sr-som", "fsl,imx8mp"; + model =3D "SolidRun i.MX8MP HummingBoard IIoT"; + + /* power for M.2 B-Key connector (J6) */ + regulator-m2-b { + compatible =3D "regulator-fixed"; + regulator-name =3D "m2-b"; + gpios =3D <&tca6416_u20 5 GPIO_ACTIVE_HIGH>; + regulator-always-on; + regulator-max-microvolt =3D <3300000>; + regulator-min-microvolt =3D <3300000>; + enable-active-high; + }; + + /* power for M.2 M-Key connector (J4) */ + regulator-m2-m { + compatible =3D "regulator-fixed"; + regulator-name =3D "m2-m"; + gpios =3D <&tca6416_u20 6 GPIO_ACTIVE_HIGH>; + regulator-always-on; + regulator-max-microvolt =3D <3300000>; + regulator-min-microvolt =3D <3300000>; + enable-active-high; + }; + + /* power for USB-A J27 behind USB Hub Port 3 */ + regulator-vbus-2 { + compatible =3D "regulator-fixed"; + regulator-name =3D "vbus2"; + regulator-always-on; + regulator-max-microvolt =3D <5000000>; + regulator-min-microvolt =3D <5000000>; + gpio =3D <&tca6416_u20 12 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + /* power for USB-A J27 behind USB Hub Port 4 */ + regulator-vbus-3 { + compatible =3D "regulator-fixed"; + regulator-name =3D "vbus3"; + regulator-always-on; + regulator-max-microvolt =3D <5000000>; + regulator-min-microvolt =3D <5000000>; + gpio =3D <&tca6416_u20 13 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + aliases { + /* J10 */ + ethernet0 =3D &eqos; + /* J11 */ + ethernet1 =3D &fec; + gpio5 =3D &tca6408_u48; + gpio6 =3D &tca6408_u37; + gpio7 =3D &tca6416_u20; + gpio8 =3D &tca6416_u21; + i2c6 =3D &i2c_exp; + i2c7 =3D &i2c_csi; + i2c8 =3D &i2c_dsi; + i2c9 =3D &i2c_lvds; + rtc0 =3D &carrier_rtc; + rtc1 =3D &snvs_rtc; + }; + + gpio-keys { + compatible =3D "gpio-keys"; + + wakeup-event { + interrupts-extended =3D <&tca6416_u21 11 IRQ_TYPE_EDGE_FALLING>; + label =3D "m2-m-wakeup"; + wakeup-source; + linux,code =3D ; + }; + }; + + can_mux: mux-controller-0 { + compatible =3D "gpio-mux"; + /* + * Mux routes CAN bus signals between SoM connector pins, + * expansion connector (J22) and on-board transceivers using + * two GPIO: + * - IO3: 0 =3D on-board transceivers, 1 =3D expansion connector + * - IO4: 0 =3D J9-55/57/59/61, 1 =3D J7-12/16 & J9-54/56 + */ + mux-gpios =3D <&tca6416_u20 3 GPIO_ACTIVE_HIGH>, + <&tca6416_u20 4 GPIO_ACTIVE_HIGH>; + /* default J7-12/16 & J9-54/56 to on-board transceivers */ + idle-state =3D <2>; + #mux-control-cells =3D <0>; + }; + + spi_mux: mux-controller-1 { + compatible =3D "gpio-mux"; + /* default on-board */ + idle-state =3D <0>; + /* + * Mux switches spi bus between on-board tpm + * and expansion connector (J22). + */ + mux-gpios =3D <&tca6416_u21 0 GPIO_ACTIVE_HIGH>; + #mux-control-cells =3D <0>; + }; + + uart3_uart4_b2b_mux: mux-controller-2 { + compatible =3D "gpio-mux"; + /* default on-board */ + idle-state =3D <0>; + /* + * Mux switches both uart3 and uart4 tx/rx between expansion + * connector (J22) and on-board rs232/rs485 transceivers + * using one GPIO: 0 =3D on-board, 1 =3D connector. + */ + mux-gpios =3D <&tca6416_u20 0 GPIO_ACTIVE_HIGH>; + #mux-control-cells =3D <0>; + }; + + uart3_rs_232_485_mux: mux-controller-3 { + compatible =3D "gpio-mux"; + /* default rs232 */ + idle-state =3D <0>; + /* + * Mux switches uart3 tx/rx between rs232 and rs485 + * transceivers. using one GPIO: 0 =3D rs232, 1 =3D rs485. + */ + mux-gpios =3D <&tca6416_u20 1 GPIO_ACTIVE_HIGH>; + #mux-control-cells =3D <0>; + }; + + uart4_rs_232_485_mux: mux-controller-4 { + compatible =3D "gpio-mux"; + /* default rs232 */ + idle-state =3D <0>; + /* + * Mux switches uart4 tx/rx between rs232 and rs485 + * transceivers. using one GPIO: 0 =3D rs232, 1 =3D rs485. + */ + mux-gpios =3D <&tca6416_u20 2 GPIO_ACTIVE_HIGH>; + #mux-control-cells =3D <0>; + }; + + v_1_2: regulator-1-2 { + compatible =3D "regulator-fixed"; + regulator-name =3D "1v2"; + regulator-max-microvolt =3D <1800000>; + regulator-min-microvolt =3D <1800000>; + }; + + reg_dsi_panel: regulator-dsi-panel { + compatible =3D "regulator-fixed"; + regulator-name =3D "dsi-panel"; + gpios =3D <&tca6416_u20 15 GPIO_ACTIVE_HIGH>; + regulator-max-microvolt =3D <11200000>; + regulator-min-microvolt =3D <11200000>; + enable-active-high; + }; + + vmmc: regulator-mmc { + compatible =3D "regulator-fixed"; + regulator-name =3D "vmmc"; + pinctrl-0 =3D <&vmmc_pins>; + pinctrl-names =3D "default"; + regulator-max-microvolt =3D <3300000>; + regulator-min-microvolt =3D <3300000>; + startup-delay-us =3D <250>; + gpio =3D <&gpio2 19 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + /* power for USB-A J5003 */ + vbus1: regulator-vbus-1 { + compatible =3D "regulator-fixed"; + regulator-name =3D "vbus1"; + regulator-max-microvolt =3D <5000000>; + regulator-min-microvolt =3D <5000000>; + gpio =3D <&tca6416_u20 14 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + rfkill-m2-b-gnss { + compatible =3D "rfkill-gpio"; + /* rfkill-gpio inverts internally */ + shutdown-gpios =3D <&tca6416_u20 10 GPIO_ACTIVE_HIGH>; + label =3D "m2-b gnss"; + radio-type =3D "gps"; + }; + + rfkill-m2-b-wwan { + compatible =3D "rfkill-gpio"; + /* rfkill-gpio inverts internally */ + shutdown-gpios =3D <&tca6416_u20 9 GPIO_ACTIVE_HIGH>; + label =3D "m2-b radio"; + radio-type =3D "wwan"; + }; +}; + +&ecspi2 { + cs-gpios =3D <&gpio5 13 GPIO_ACTIVE_LOW>; + num-cs =3D <1>; + pinctrl-0 =3D <&ecspi2_pins>; + pinctrl-names =3D "default"; + status =3D "okay"; + + ecspi2_muxed: spi@0 { + compatible =3D "spi-mux"; + reg =3D <0>; + #address-cells =3D <1>; + #size-cells =3D <0>; + mux-controls =3D <&spi_mux>; + /* mux bandwidth is 2GHz, soc max. spi clock is 166MHz */ + spi-max-frequency =3D <166000000>; + + tpm@0 { + compatible =3D "infineon,slb9670", "tcg,tpm_tis-spi"; + reg =3D <0>; + interrupts-extended =3D <&tca6416_u21 9 IRQ_TYPE_LEVEL_LOW>; + reset-gpios =3D <&tca6416_u21 1 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>; + spi-max-frequency =3D <43000000>; + }; + }; +}; + +&flexcan1 { + pinctrl-0 =3D <&can1_pins>; + pinctrl-names =3D "default"; + status =3D "okay"; + + can-transceiver { + max-bitrate =3D <8000000>; + }; +}; + +&flexcan2 { + pinctrl-0 =3D <&can2_pins>; + pinctrl-names =3D "default"; + status =3D "okay"; + + can-transceiver { + max-bitrate =3D <8000000>; + }; +}; + +&i2c2 { + i2c-mux@70 { + compatible =3D "nxp,pca9546"; + reg =3D <0x70>; + #address-cells =3D <1>; + #size-cells =3D <0>; + /* + * This reset is open drain, + * but reset core does not support GPIO_OPEN_DRAIN flag. + */ + reset-gpios =3D <&tca6416_u21 2 GPIO_ACTIVE_LOW>; + + /* channel 0 routed to expansion connector (J22) */ + i2c_exp: i2c@0 { + reg =3D <0>; + #address-cells =3D <1>; + #size-cells =3D <0>; + }; + + /* channel 1 routed to mipi-csi connector (J23) */ + i2c_csi: i2c@1 { + reg =3D <1>; + #address-cells =3D <1>; + #size-cells =3D <0>; + }; + + /* channel 2 routed to mipi-dsi connector (J25) */ + i2c_dsi: i2c@2 { + reg =3D <2>; + #address-cells =3D <1>; + #size-cells =3D <0>; + + tca6408_u48: gpio@21 { + compatible =3D "ti,tca6408"; + reg =3D <0x21>; + #gpio-cells =3D <2>; + gpio-controller; + gpio-line-names =3D "CAM_RST#", "DSI_RESET", + "DSI_STBYB", "DSI_PWM_BL", + "DSI_L/R", "DSI_U/D", + "DSI_CTP_/RST", "CAM_TRIG"; + /* + * reset shared between U37 and U48, to be + * supported once gpio-pca953x switches to + * reset framework. + * + * reset-gpios =3D <&tca6416_u21 4 + * (GPIO_ACTIVE_LOW|GPIO_PULL_UP|GPIO_OPEN_DRAIN)>; + */ + }; + + }; + + /* channel 2 routed to lvds connector (J24) */ + i2c_lvds: i2c@3 { + reg =3D <3>; + #address-cells =3D <1>; + #size-cells =3D <0>; + + tca6408_u37: gpio@20 { + compatible =3D "ti,tca6408"; + reg =3D <0x20>; + #gpio-cells =3D <2>; + gpio-controller; + gpio-line-names =3D "SELB", "LVDS_RESET", + "LVDS_STBYB", "LVDS_PWM_BL", + "LVDS_L/R", "LVDS_U/D", + "LVDS_CTP_/RST", ""; + /* + * reset shared between U37 and U48, to be + * supported once gpio-pca953x switches to + * reset framework. + * + * reset-gpios =3D <&tca6416_u21 4 + * (GPIO_ACTIVE_LOW|GPIO_PULL_UP|GPIO_OPEN_DRAIN)>; + */ + }; + + }; + }; +}; + +&i2c3 { + /* highest i2c clock supported by all peripherals is 400kHz */ + clock-frequency =3D <400000>; + + tca6416_u20: gpio@20 { + reg =3D <0x20>; + #gpio-cells =3D <2>; + gpio-controller; + gpio-line-names =3D "TCA_INT/EXT_UART", "TCA_UARTA_232/485", + "TCA_UARTB_232/485", "TCA_INT/EXT_CAN", + "TCA_NXP/REN", "TCA_M.2B_3V3_EN", + "TCA_M.2M_3V3_EN", "TCA_M.2M_RESET#", + "TCA_M.2B_RESET#", "TCA_M.2B_W_DIS#", + "TCA_M.2B_GPS_EN#", "TCA_USB-HUB_RST#", + "TCA_USB_HUB3_PWR_EN", "TCA_USB_HUB4_PWR_EN", + "TCA_USB1_PWR_EN", "TCA_VIDEO_PWR_EN"; + /* + * This is a TI TCAL6416 using same programming model as + * NXP PCAL6416, not to be confused with TI TCA6416. + */ + compatible =3D "nxp,pcal6416"; + + m2-b-reset-hog { + gpios =3D <8 GPIO_ACTIVE_LOW>; + gpio-hog; + line-name =3D "m2-b-reset"; + output-low; + }; + }; + + tca6416_u21: gpio@21 { + reg =3D <0x21>; + #interrupt-cells =3D <2>; + interrupt-controller; + #gpio-cells =3D <2>; + gpio-controller; + gpio-line-names =3D "TCA_SPI_TPM/EXT", "TCA_TPM_RST#", + "TCA_I2C_RST", "TCA_RS232_SHTD#", + "TCA_LCD_I2C_RST", "TCA_DIG_OUT1", + "TCA_bDIG_IN1", "TCA_SENS_INT", + "TCA_ALERT#", "TCA_TPM_PIRQ#", + "TCA_RTC_INT", "TCA_M.2M_WAKW_ON_LAN", + "TCA_M.2M_CLKREQ#", "TCA_LVDS_INT#", + "", "TCA_POE_AT"; + interrupts-extended =3D <&gpio1 15 IRQ_TYPE_EDGE_FALLING>; + pinctrl-0 =3D <&tca6416_u21_int_pins>; + pinctrl-names =3D "default"; + /* + * This is a TI TCAL6416 using same programming model as + * NXP PCAL6416, not to be confused with TI TCA6416. + */ + compatible =3D "nxp,pcal6416"; + + lcd-i2c-reset-hog { + gpios =3D <4 (GPIO_ACTIVE_LOW|GPIO_PULL_UP|GPIO_OPEN_DRAIN)>; + line-name =3D "lcd-i2c-reset"; + output-low; + /* + * reset shared between U37 and U48, to be + * supported once gpio-pca953x switches to + * reset framework. + */ + gpio-hog; + }; + + m2-m-clkreq-hog { + gpios =3D <12 GPIO_ACTIVE_LOW>; + gpio-hog; + input; + line-name =3D "m2-m-clkreq"; + }; + + rs232_shutdown: rs232-shutdown-hog { + gpios =3D <3 GPIO_ACTIVE_LOW>; + gpio-hog; + line-name =3D "rs232-shutdown"; + output-low; + }; + }; + + led-controller@30 { + compatible =3D "ti,lp5562"; + reg =3D <0x30>; + #address-cells =3D <1>; + #size-cells =3D <0>; + /* use internal clock, could use external generated by rtc */ + clock-mode =3D /bits/ 8 <1>; + + multi-led@0 { + reg =3D <0x0>; + #address-cells =3D <1>; + #size-cells =3D <0>; + color =3D ; + label =3D "D7"; + + led@0 { + reg =3D <0x0>; + color =3D ; + led-cur =3D /bits/ 8 <0x32>; + max-cur =3D /bits/ 8 <0x64>; + }; + + led@1 { + reg =3D <0x1>; + color =3D ; + led-cur =3D /bits/ 8 <0x19>; + max-cur =3D /bits/ 8 <0x32>; + }; + + led@2 { + reg =3D <0x2>; + color =3D ; + led-cur =3D /bits/ 8 <0x19>; + max-cur =3D /bits/ 8 <0x32>; + }; + }; + + led@3 { + reg =3D <0x3>; + chan-name =3D "D8"; + color =3D ; + label =3D "D8"; + led-cur =3D /bits/ 8 <0x19>; + max-cur =3D /bits/ 8 <0x64>; + }; + }; + + light-sensor@44 { + compatible =3D "isil,isl29023"; + reg =3D <0x44>; + /* IRQ shared between accelerometer, light-sensor and Tamper input (J500= 7) */ + interrupts-extended =3D <&tca6416_u21 7 IRQ_TYPE_EDGE_FALLING>; + }; + + accelerometer@53 { + compatible =3D "adi,adxl345"; + reg =3D <0x53>; + /* IRQ shared between accelerometer, light-sensor and Tamper input (J500= 7) */ + interrupts-extended =3D <&tca6416_u21 7 IRQ_TYPE_EDGE_FALLING>; + interrupt-names =3D "INT1"; + }; + + carrier_eeprom: eeprom@57 { + compatible =3D "atmel,24c02"; + reg =3D <0x57>; + pagesize =3D <8>; + }; + + carrier_rtc: rtc@69 { + compatible =3D "abracon,ab1805"; + reg =3D <0x69>; + abracon,tc-diode =3D "schottky"; + abracon,tc-resistor =3D <3>; + /* + * AM1805 RTC used on this board has only nTIRQ pins wired, + * which is for countdown timer irqs only. + * Driver does not support this, disable for now. + * + * interrupts-extended =3D <&tca6416_u21 10 IRQ_TYPE_EDGE_FALLING>; + */ + }; +}; + +&iomuxc { + can1_pins: pinctrl-can1-grp { + fsl,pins =3D < + MX8MP_IOMUXC_SPDIF_RX__CAN1_RX 0x154 + MX8MP_IOMUXC_SPDIF_TX__CAN1_TX 0x154 + >; + }; + + can2_pins: pinctrl-can2-grp { + fsl,pins =3D < + MX8MP_IOMUXC_SAI5_MCLK__CAN2_RX 0x154 + MX8MP_IOMUXC_SAI5_RXD3__CAN2_TX 0x154 + >; + }; + + ecspi2_pins: pinctrl-ecspi2-grp { + fsl,pins =3D < + MX8MP_IOMUXC_ECSPI2_SCLK__ECSPI2_SCLK 0x140 + MX8MP_IOMUXC_ECSPI2_MOSI__ECSPI2_MOSI 0x140 + MX8MP_IOMUXC_ECSPI2_MISO__ECSPI2_MISO 0x140 + MX8MP_IOMUXC_ECSPI2_SS0__GPIO5_IO13 0x140 + >; + }; + + tca6416_u21_int_pins: pinctrl-tca6416-u21-int-grp { + fsl,pins =3D < + MX8MP_IOMUXC_GPIO1_IO15__GPIO1_IO15 0x0 + >; + }; + + /* UARTA */ + uart3_pins: pinctrl-uart3-grp { + fsl,pins =3D < + MX8MP_IOMUXC_ECSPI1_SCLK__UART3_DCE_RX 0x140 + MX8MP_IOMUXC_ECSPI1_MOSI__UART3_DCE_TX 0x140 + MX8MP_IOMUXC_ECSPI1_SS0__GPIO5_IO09 0x140 + >; + }; + + /* UARTB */ + uart4_pins: pinctrl-uart4-grp { + fsl,pins =3D < + MX8MP_IOMUXC_UART4_RXD__UART4_DCE_RX 0x140 + MX8MP_IOMUXC_UART4_TXD__UART4_DCE_TX 0x140 + MX8MP_IOMUXC_ECSPI1_MISO__GPIO5_IO08 0x140 + >; + }; + + usdhc2_100mhz_pins: pinctrl-usdhc2-100mhz-grp { + fsl,pins =3D < + MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x194 + MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d4 + MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d4 + MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d4 + MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d4 + MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d4 + MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0x140 + MX8MP_IOMUXC_SD2_CD_B__USDHC2_CD_B 0x140 + >; + }; + + usdhc2_200mhz_pins: pinctrl-usdhc2-200mhz-grp { + fsl,pins =3D < + MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x196 + MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d6 + MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d6 + MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d6 + MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d6 + MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d6 + MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0x140 + MX8MP_IOMUXC_SD2_CD_B__USDHC2_CD_B 0x140 + >; + }; + + usdhc2_pins: pinctrl-usdhc2-grp { + fsl,pins =3D < + MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x190 + MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d0 + MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d0 + MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d0 + MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d0 + MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d0 + MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0x140 + MX8MP_IOMUXC_SD2_CD_B__USDHC2_CD_B 0x140 + >; + }; + + vmmc_pins: pinctrl-vmmc-grp { + fsl,pins =3D < + MX8MP_IOMUXC_SD2_RESET_B__GPIO2_IO19 0x0 + >; + }; +}; + +&pcie { + reset-gpio =3D <&tca6416_u20 7 GPIO_ACTIVE_LOW>; + status =3D "okay"; +}; + +/* M.2 M-Key (J4) */ +&pcie_phy { + clocks =3D <&hsio_blk_ctrl>; + clock-names =3D "ref"; + fsl,clkreq-unsupported; + fsl,refclk-pad-mode =3D ; + status =3D "okay"; +}; + +&phy0 { + leds { + #address-cells =3D <1>; + #size-cells =3D <0>; + + /* ADIN1300 LED_0 pin */ + led@0 { + reg =3D <0>; + color =3D ; + default-state =3D "keep"; + function =3D LED_FUNCTION_LAN; + }; + }; +}; + +&phy1 { + leds { + #address-cells =3D <1>; + #size-cells =3D <0>; + + /* ADIN1300 LED_0 pin */ + led@0 { + reg =3D <0>; + color =3D ; + default-state =3D "keep"; + function =3D LED_FUNCTION_LAN; + }; + }; +}; + +&uart3 { + assigned-clock-parents =3D <&clk IMX8MP_SYS_PLL1_80M>; + /* select 80MHz parent clock to support maximum baudrate 4Mbps */ + assigned-clocks =3D <&clk IMX8MP_CLK_UART3>; + pinctrl-0 =3D <&uart3_pins>; + pinctrl-names =3D "default"; + rts-gpios =3D <&gpio5 9 GPIO_ACTIVE_HIGH>; + status =3D "okay"; +}; + +&uart4 { + assigned-clock-parents =3D <&clk IMX8MP_SYS_PLL1_80M>; + /* select 80MHz parent clock to support maximum baudrate 4Mbps */ + assigned-clocks =3D <&clk IMX8MP_CLK_UART4>; + pinctrl-0 =3D <&uart4_pins>; + pinctrl-names =3D "default"; + rts-gpios =3D <&gpio5 8 GPIO_ACTIVE_HIGH>; + status =3D "okay"; +}; + +&usb3_0 { + status =3D "okay"; +}; + +&usb3_1 { + status =3D "okay"; +}; + +&usb3_phy0 { + vbus-supply =3D <&vbus1>; + fsl,phy-tx-preemp-amp-tune-microamp =3D <1200>; + status =3D "okay"; +}; + +&usb3_phy1 { + status =3D "okay"; +}; + +&usb_dwc3_0 { + dr_mode =3D "host"; +}; + +&usb_dwc3_1 { + #address-cells =3D <1>; + #size-cells =3D <0>; + dr_mode =3D "host"; + + hub_2_0: hub@1 { + compatible =3D "usb4b4,6502", "usb4b4,6506"; + reg =3D <1>; + peer-hub =3D <&hub_3_0>; + reset-gpios =3D <&tca6416_u20 11 GPIO_ACTIVE_LOW>; + vdd2-supply =3D <&v_3_3>; + vdd-supply =3D <&v_1_2>; + }; + + hub_3_0: hub@2 { + compatible =3D "usb4b4,6500", "usb4b4,6504"; + reg =3D <2>; + peer-hub =3D <&hub_2_0>; + reset-gpios =3D <&tca6416_u20 11 GPIO_ACTIVE_LOW>; + vdd2-supply =3D <&v_3_3>; + vdd-supply =3D <&v_1_2>; + }; +}; + +&usdhc2 { + bus-width =3D <4>; + cap-power-off-card; + full-pwr-cycle; + pinctrl-0 =3D <&usdhc2_pins>; + pinctrl-1 =3D <&usdhc2_100mhz_pins>; + pinctrl-2 =3D <&usdhc2_200mhz_pins>; + pinctrl-names =3D "default", "state_100mhz", "state_200mhz"; + vmmc-supply =3D <&vmmc>; + status =3D "okay"; +}; --=20 2.43.0 From nobody Thu Apr 2 23:55:37 2026 Received: from GVXPR05CU001.outbound.protection.outlook.com (mail-swedencentralazon11023099.outbound.protection.outlook.com [52.101.83.99]) (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 9697D39479A; Fri, 13 Mar 2026 12:31:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.83.99 ARC-Seal: i=3; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773405100; cv=fail; b=iwK4/eJaECgGgAsMFIl3W+h2E+URjIcELBqkzF2flouF49V9VTqx3Crrl4kWonthrffKGf1MnnFeSwSYwCDCygGVz3YQmQKVf8p0pTS/+cVrHxYbwOWrpiozbDT3FycQAS2/ULoEBsgR4f/MAqI84gC+z8wEfSJyvI39UOvkAno= ARC-Message-Signature: i=3; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773405100; c=relaxed/simple; bh=wI3BAa6A/OJlsgG0cZWwnOruACWIBgqU4ZhfWcxKUKA=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=irvd/wKMzs9eUWbAnO25t882K9pmi/95uUNnMpUhwHNy4yRw23qT4Fia99w97dGSQDKAS6WKNBS8qOp4VoQrtGaa+7tAem6ZxMBSbb5YR8tzlVws12y8uWRNro3oU3xkDdUVP56ICpNDLM+Q4D/1TMPV2/CGxUCvC8yegXKYw20= ARC-Authentication-Results: i=3; 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=rOVjJX3R; dkim=pass (1024-bit key) header.d=solidrn.onmicrosoft.com header.i=@solidrn.onmicrosoft.com header.b=rOVjJX3R; arc=fail smtp.client-ip=52.101.83.99 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="rOVjJX3R"; dkim=pass (1024-bit key) header.d=solidrn.onmicrosoft.com header.i=@solidrn.onmicrosoft.com header.b="rOVjJX3R" ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=ez6WkC0ZEFUY7C4HY7kA481JTCKfzponpgL335PvCtbb79bUiJ7OQDA1utuwF9mhrOiOasiYKSVmC1hF97fvxL9odeHHBoXCvgcpVwo7jeUAY2zULtn5g0x+s6QcYLvoYxFU3m+qP97aTM79aWuXG8Mr/GnVn8v4qcqXTyQ+OnxeOwIJmdVO+jLMrP4BdAIv2vc1/nhag5FI6Sxy7GS7DJ/LQJ5M1ZtBvbwCzXAUI8KoPyEpUJ45yR378EECTup+4l64RJezg25yhLmHNUuJ0nuyN8JaEc3yLQqGVp3FxtHeTBNwhKi01BiSB6L58+oMhAh0MXyI/wjU8PWkIwhR0Q== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=A5CbqaCd6ulPdcqoMoCSEVLjL6atwXqK9y0VBBm1Fkw=; b=HbSRQFTzOpx34KPMWEkc0Ivr8eJrVePnjfoF/1bHVES6WeWTBZQeunL+xtwfWBkwXHIE7wPDczjBiST/TbMfgpnbhIx8M6c2NT8zx25xfQhNRokcITqKCl88VgGYXhFb7zotLkcUKbeSpOeXZA+COZstbKt2etuDmOfvRxrkZAZBcecRUACJbk6gduqjhJT0ZR2RjJCUAi/JvVTqdh8Ok0F28GRgRUoQ0crBdCxXp4ez/mx0qB4h1suJKIOW+y96ULA+sLd6FhbX7yLP62oEC2lmqLHQPF0V9KAIITVjDAj3i0HhRHtucxpciwDq+WtvFC7LTY9T6jmHL9SEU6o/mA== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=softfail (sender ip is 52.17.62.50) smtp.rcpttodomain=gmail.com smtp.mailfrom=solid-run.com; dmarc=fail (p=none sp=none pct=100) action=none header.from=solid-run.com; dkim=pass (signature was verified) header.d=solidrn.onmicrosoft.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=solid-run.com] dkim=[1,1,header.d=solid-run.com] dmarc=[1,1,header.from=solid-run.com]) 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=A5CbqaCd6ulPdcqoMoCSEVLjL6atwXqK9y0VBBm1Fkw=; b=rOVjJX3RE0nClGWzXkBx/rgSVsNmgsKL8Dafam2PEKVxEuD1fRuvEIaoPnKw8z48O6SnpswovhKLSjf/QwsHJhMhaw4wzzBMiW1jDSE2FGq/Ygyl8a8lDUTLN4pS9E2Y58861qTkDR0Gcm+RakOE5KbXa1Pn8DhdczTly24GxnY= Received: from DB8PR06CA0038.eurprd06.prod.outlook.com (2603:10a6:10:120::12) by VI0PR04MB10317.eurprd04.prod.outlook.com (2603:10a6:800:216::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9700.12; Fri, 13 Mar 2026 12:31:23 +0000 Received: from DB5PEPF00014B99.eurprd02.prod.outlook.com (2603:10a6:10:120:cafe::68) by DB8PR06CA0038.outlook.office365.com (2603:10a6:10:120::12) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9678.27 via Frontend Transport; Fri, 13 Mar 2026 12:31:30 +0000 X-MS-Exchange-Authentication-Results: spf=softfail (sender IP is 52.17.62.50) smtp.mailfrom=solid-run.com; dkim=pass (signature was verified) header.d=solidrn.onmicrosoft.com;dmarc=fail action=none header.from=solid-run.com; Received-SPF: SoftFail (protection.outlook.com: domain of transitioning solid-run.com discourages use of 52.17.62.50 as permitted sender) Received: from eu-dlp.cloud-sec-av.com (52.17.62.50) by DB5PEPF00014B99.mail.protection.outlook.com (10.167.8.166) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9700.17 via Frontend Transport; Fri, 13 Mar 2026 12:31:30 +0000 Received: from emails-2517817-12-mt-prod-cp-eu-2.checkpointcloudsec.com (ip-10-20-6-17.eu-west-1.compute.internal [10.20.6.17]) by mta-outgoing-dlp-467-mt-prod-cp-eu-2.checkpointcloudsec.com (Postfix) with ESMTPS id 1FC8E80C6B; Fri, 13 Mar 2026 12:31:30 +0000 (UTC) X-Mailbox-Line: From b'josua@solid-run.com' Fri Mar 13 12:31:22 2026 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=jxVmXQnzfJE0YIZxriW/qHeXaIQ7zCiWAKCJxUMwIMkzG/pNlL+um0U1QcP+3FCuJvScHwFpPX5Q3AUh7g3v13466VjxfRaLYsuRNOABHEHP/n7H2CFAoSNJsAlLth8y/KaXDfBmbkeO26KclFjNKp8ix22Co8m0OJFGvW87+HALlh917F3J+osPrzBsuVGCRXtv9TsOfT1dE6W1v+lAMBgDJFYSEmFcDsGuSMEyNKel1N/Joz9I5WngiHBuZ3KOoEhs6SmZt0sStOKttMe/hwWHJgQXi0Sgt9rUu3Em4GcVXQtUno/4gofwUxkuCdvNaB6SaQ8hJr+XWAbp84MdYQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=A5CbqaCd6ulPdcqoMoCSEVLjL6atwXqK9y0VBBm1Fkw=; b=fpmoMJOPesoMt+mOPMhjVIzWei7u3FCZ24GUWPWHpFYc0J9NKqDczgtZApWMLxrFdlY9cOuEpGvPnKoUkwrjieLKrzyAzfYpmfW2xv33QEsXH0DjbQTdXid1rthcCJGrLSaMt2EnsUWuH5pxmbpiICrs2iAWPimREXXNNjDZVJkuxb3S+95bIf45PboURWk47TF6PlKi0gh7lIw0RtrTnZCM8hmtL8asYUrxHcJ3oyQuJjaqE6sJ2zZvXPM1BhWp49ObfNFGwK71zUtaDOluHilzC+9Tjo9YwLuBnwzuOZp9SuEKQ7ZLWMldiVkEkXglnjmKbJ4VXcMVSiEuGDR9CQ== 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=A5CbqaCd6ulPdcqoMoCSEVLjL6atwXqK9y0VBBm1Fkw=; b=rOVjJX3RE0nClGWzXkBx/rgSVsNmgsKL8Dafam2PEKVxEuD1fRuvEIaoPnKw8z48O6SnpswovhKLSjf/QwsHJhMhaw4wzzBMiW1jDSE2FGq/Ygyl8a8lDUTLN4pS9E2Y58861qTkDR0Gcm+RakOE5KbXa1Pn8DhdczTly24GxnY= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=solid-run.com; Received: from PAXPR04MB8749.eurprd04.prod.outlook.com (2603:10a6:102:21f::22) by PR3PR04MB7467.eurprd04.prod.outlook.com (2603:10a6:102:80::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9700.16; Fri, 13 Mar 2026 12:31:12 +0000 Received: from PAXPR04MB8749.eurprd04.prod.outlook.com ([fe80::d782:fbb2:be9a:43f1]) by PAXPR04MB8749.eurprd04.prod.outlook.com ([fe80::d782:fbb2:be9a:43f1%3]) with mapi id 15.20.9700.015; Fri, 13 Mar 2026 12:31:03 +0000 From: Josua Mayer Date: Fri, 13 Mar 2026 14:30:58 +0200 Subject: [PATCH v10 2/4] arm64: dts: imx8mp-hummingboard-iiot: add dt overlays for muxable ports Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260313-imx8mp-hb-iiot-v10-2-52b3084f2426@solid-run.com> References: <20260313-imx8mp-hb-iiot-v10-0-52b3084f2426@solid-run.com> In-Reply-To: <20260313-imx8mp-hb-iiot-v10-0-52b3084f2426@solid-run.com> To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Frank Li Cc: Mikhail Anikin , Yazan Shhady , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, Josua Mayer X-Mailer: b4 0.14.3 X-ClientProxiedBy: TL2P290CA0007.ISRP290.PROD.OUTLOOK.COM (2603:1096:950:2::9) To PAXPR04MB8749.eurprd04.prod.outlook.com (2603:10a6:102:21f::22) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: PAXPR04MB8749:EE_|PR3PR04MB7467:EE_|DB5PEPF00014B99:EE_|VI0PR04MB10317:EE_ X-MS-Office365-Filtering-Correlation-Id: 2da3a57c-56a1-4765-48bb-08de80fc7427 X-CLOUD-SEC-AV-Info: solidrun,office365_emails,sent,inline X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0;ARA:13230040|7416014|376014|52116014|1800799024|366016|38350700014|56012099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info-Original: YUua+k8lomItr8GO77R4f12Vi8QFxVVUoEYXo5JOvxZ9/XfAqDp99fql7HcuH1H195jUGf8qKo9FsOJkPh6CYAGXeK3PGLxkMrbatiiQ2KPhcxHlzOlq4Vcpl6qZwuEpGi6pu0mgLDHN5J151EvQlBvtd9zEftfFYX3ViLX05PKUc1pyqoSnt1z+lrFrpLxocYxFLowYAFhOgKiM5u6KVmb0aId4N71OCpa1ecmgSVx3nXbcrjFF+bEOlfnDUMBeTCXeA38C81GVP/TEWxzcszdsex6i6STZV43cycGPFop+WqaD7bs4wWI1ZzCOjGEwB9AThdftYS6lJ5A/aeIO2xA2y7Jc86tnZK60aEIgPyyumaqhvSCgUXz2jvT4ciY39Cr/MsFmvxVGfffBVyCMkxOytn1mf7FCBRHvO+vh3s9zSwwdcDffXZVMKTljH4ZkFf7qsihlelMgoYBMo1xRNyIKp9+4ypqzQxiNypg8SuQ6Ul5YJCnzeqlg9CvklkjYQrGQhkBVdX8gADHrHxTw9fmeaLnP/l6ewdH1mWuz8WqQitt+qbjgv9Wo0Tngc3jmz9gSiDncWNe+B0smDxqjs2/gzWFjCfLrNgDPbT+MJA0HeesFQznpiBQBa5dW8WNFgCqg86ZVVS0vsCy8n4dUmovIMctD3SPYsX307gJL3YS8cPIXhou7Hg71owEF/15mgQyfntzbJUwX+onsa2JBirTML5PtKhzguC3b9ERQ2Kquq7SPRhrVu3FFVOLmzbiNsQhx3QS+gyNbf7qKG9EqvlKh7SMCFlTs/ra9juqFr+k= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB8749.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(376014)(52116014)(1800799024)(366016)(38350700014)(56012099003)(18002099003)(22082099003);DIR:OUT;SFP:1102; X-Exchange-RoutingPolicyChecked: uRTx6kWnRUuDjZkJ4guvEAotsa19aEprE/szDNRAtX8Nv/4volCJF3jzOYhEqPamWRtohB1hoPmwwXsCXLJd7BD3/2TKibnSB8ee2zRM1G+b6HDzIm0xr3uMdVFz6g2U5T9UNGbIUibkBa4addSu7C++Vbvaf7XeV58BJp4Ga92k7J2jInZwwkp7uvHw2LK9SWs6Ymq9UqLP0hwOWUQYGPZL+2hYtlsRsOyYvZ/eN9taEnVptNP2kBoe5Gl5ODmRTY9eQI0j697nnHuWcGsbhIu+irVXjJfRzw5uD0hbgE3qiZGhmZ0ZhA4jsIyt2Jdj+rfJfItI90bjsjp7EvnV1Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR04MB7467 X-CLOUD-SEC-AV-INT-Relay: sent X-CLOUD-SEC-AV-UUID: fc61aa216ee7444392b0a0f301b97ac8:solidrun,office365_emails,sent,inline:9289b2abfe3e9fc97e4b402e7c3b6b90 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5PEPF00014B99.eurprd02.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 1bc43850-8e1a-4d32-65e8-08de80fc642a X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|35042699022|36860700016|14060799003|7416014|1800799024|376014|22082099003|18002099003|56012099003; X-Microsoft-Antispam-Message-Info: 1xN4dVtV6VkRZz7DgwoByaBQcShAyiBvp593DSnLdNjOo6ZLE81cPiyyxXiK0/lykliBfAoz8MWQB5HAl0Q/GmO7L6D6kLcDyYtjZW78spCl3xsOCoPAwrbUCJ00PFJKEDFkfPmewu5aMD5z5TWvAcKhTn1n8eCF2yZ58NjQ9n2UDU2ScQIpig4fE8P+bkNVaTZajwWPkg1jvHfNJBT6G9k1slDyvGAKUxNaYTfVYrYkZOm5QFZCg5NkLazMNiysnksGui6J0sIwi0lIoUXdCEMy6zS4goLC3vJL5I/cK/tOv93UrgRcwq1qalid2jqdzWVEFvKJHvwdakLX1bCHqvMEcaCUccrNED8cjjfat11ASpFxh2qlUbQahsqNYRK9M/BnFBvnHRAquKXrqUS+MurBNsGk7LLPNZvseaSnIfsx/eL6wcFDrAcuNL22A89ess1y+XCVTH6B9WHirBoE0faA7tyhjdvYuHlMwIqDWsUMLeUgziV5sHTvVQ1r4Op0C0dUK5SobheszwPbbN/HTudBD548teZZ/4V4lVMW1Tq3XwiIxlzobX1lM5SnztlHAzsdFKWcmPN3CHwOW9BjWGuWWMz3aTTQ+F5QFmSdHBboIrjOHLhH/yTSBEmvPkMibCBIrq8kJp7q9XM24OSIiaucytbZvdlCJpEQAiYeFgGTFIN6aAC+Mv/3kwSrBTkEbx5HtjYt30e11yh5U40lw2x5x4/zyeU3mJff6b/0elmke/ioNb9SgQ8S+RgzZ48CR+BqJiJ2b/1htPgpZAykEQ== X-Forefront-Antispam-Report: CIP:52.17.62.50;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:eu-dlp.cloud-sec-av.com;PTR:eu-dlp.cloud-sec-av.com;CAT:NONE;SFS:(13230040)(82310400026)(35042699022)(36860700016)(14060799003)(7416014)(1800799024)(376014)(22082099003)(18002099003)(56012099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: yUihkaW07CJ9U963bgj+2Igr4yTL8KGFQOANOdAWkxp8a5BB6u4OI8AGuALq4Pn2mwmcvBhgXlAsmEmKp0rn1zbyuuIlUZb2hs8WYYQW0kN4QFkY3Lma9JpmFA0/nfZG84OhEtxwYEgVDMmWjgNzQWiI4YBhPqigaYQc07r8l+N0pH+JmQU7W2lq4W3gqiKCmR42EVOOwORiJJRr0IHrQfJP/c+4ZK46oofIUl4zZ2D82eY0RGouXNv8ad7WJDvJpKiCR2L/3RvetG9uAgn27jJ7u8kyRNnLz7tXXaAkVfYdy8Ufmw4V+7n+0o/nuXAV250v2kmSaBuV1CuakhP+y28ZVc9BcMZNxwf7w69dx6z4ElyL/s9u2sPY4fmkuYLCTND9sdyPBSWX90jeqp1++pDv8wRNewMJdYMyzspbiFmWfVQq9UjgQbCyLpg+TXiT X-OriginatorOrg: solid-run.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2026 12:31:30.1627 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 2da3a57c-56a1-4765-48bb-08de80fc7427 X-MS-Exchange-CrossTenant-Id: a4a8aaf3-fd27-4e27-add2-604707ce5b82 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=a4a8aaf3-fd27-4e27-add2-604707ce5b82;Ip=[52.17.62.50];Helo=[eu-dlp.cloud-sec-av.com] X-MS-Exchange-CrossTenant-AuthSource: DB5PEPF00014B99.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0PR04MB10317 The SolidRun i.MX8MP HummingBoard IIoT has a variety of connectors, and configurable ports: - 2x RS232 - 2x RS485 - DSI Panel Connector - LVDS Panel Connector RS232 and RS485 each share a single UART from the SoC via a mux, which are configured from the base dts for RS232 by default. Provide addons for: 1. Reconfigure UART A from RS232 to RS485. 2. Reconfigure UART B from RS232 to RS485. 3. Configure DSI Connector for Winstar WJ70N3TYJHMNG0 Panel. 4. Configure LVDS Connector for Winstar WF70A8SYJHLNGA Panel. A variation of the base dtb is generated for each addon to ensure that make dtbs_check covers the resulting dtb, and applying overlay is tested during build. It is however expected that bootloader should apply any combination of addons based on runtime configuration. Signed-off-by: Josua Mayer --- arch/arm64/boot/dts/freescale/Makefile | 12 +++ ...hummingboard-iiot-panel-dsi-WJ70N3TYJHMNG0.dtso | 67 +++++++++++++++ ...ummingboard-iiot-panel-lvds-WF70A8SYJHLNGA.dtso | 97 ++++++++++++++++++= ++++ .../imx8mp-hummingboard-iiot-rs485-a.dtso | 18 ++++ .../imx8mp-hummingboard-iiot-rs485-b.dtso | 18 ++++ 5 files changed, 212 insertions(+) diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/f= reescale/Makefile index e974bc952bcc..74756c680403 100644 --- a/arch/arm64/boot/dts/freescale/Makefile +++ b/arch/arm64/boot/dts/freescale/Makefile @@ -240,6 +240,18 @@ dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-evk.dtb dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-frdm.dtb DTC_FLAGS_imx8mp-hummingboard-iiot :=3D -@ dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-hummingboard-iiot.dtb +dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-hummingboard-iiot-panel-dsi-WJ70N3TYJHM= NG0.dtbo +imx8mp-hummingboard-iiot-panel-dsi-WJ70N3TYJHMNG0-dtbs +=3D imx8mp-humming= board-iiot.dtb imx8mp-hummingboard-iiot-panel-dsi-WJ70N3TYJHMNG0.dtbo +dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-hummingboard-iiot-panel-dsi-WJ70N3TYJHM= NG0.dtb +dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-hummingboard-iiot-panel-lvds-WF70A8SYJH= LNGA.dtbo +imx8mp-hummingboard-iiot-panel-lvds-WF70A8SYJHLNGA-dtbs +=3D imx8mp-hummin= gboard-iiot.dtb imx8mp-hummingboard-iiot-panel-lvds-WF70A8SYJHLNGA.dtbo +dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-hummingboard-iiot-panel-lvds-WF70A8SYJH= LNGA.dtb +dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-hummingboard-iiot-rs485-a.dtbo +imx8mp-hummingboard-iiot-rs485-a-dtbs +=3D imx8mp-hummingboard-iiot.dtb im= x8mp-hummingboard-iiot-rs485-a.dtbo +dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-hummingboard-iiot-rs485-a.dtb +dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-hummingboard-iiot-rs485-b.dtbo +imx8mp-hummingboard-iiot-rs485-b-dtbs +=3D imx8mp-hummingboard-iiot.dtb im= x8mp-hummingboard-iiot-rs485-b.dtbo +dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-hummingboard-iiot-rs485-b.dtb DTC_FLAGS_imx8mp-hummingboard-mate :=3D -@ dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-hummingboard-mate.dtb DTC_FLAGS_imx8mp-hummingboard-pro :=3D -@ diff --git a/arch/arm64/boot/dts/freescale/imx8mp-hummingboard-iiot-panel-d= si-WJ70N3TYJHMNG0.dtso b/arch/arm64/boot/dts/freescale/imx8mp-hummingboard-= iiot-panel-dsi-WJ70N3TYJHMNG0.dtso new file mode 100644 index 000000000000..6c41f2633f14 --- /dev/null +++ b/arch/arm64/boot/dts/freescale/imx8mp-hummingboard-iiot-panel-dsi-WJ70= N3TYJHMNG0.dtso @@ -0,0 +1,67 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright 2025 Josua Mayer + * + * Overlay for enabling HummingBoard IIoT MIPI-DSI connector + * with Winstar WJ70N3TYJHMNG0 panel. + */ + +/dts-v1/; +/plugin/; + +#include +#include + +&{/} { + dsi_backlight: dsi-backlight { + compatible =3D "gpio-backlight"; + gpios =3D <&tca6408_u48 3 GPIO_ACTIVE_LOW>; + }; +}; + +&i2c_dsi { + #address-cells =3D <1>; + #size-cells =3D <0>; + + touchscreen@41 { + compatible =3D "ilitek,ili2130"; + reg =3D <0x41>; + interrupts-extended =3D <&tca6416_u21 13 IRQ_TYPE_LEVEL_LOW>; + reset-gpios =3D <&tca6408_u48 6 GPIO_ACTIVE_LOW>; + }; +}; + +&lcdif1 { + status =3D "okay"; +}; + +&mipi_dsi { + #address-cells =3D <1>; + #size-cells =3D <0>; + samsung,esc-clock-frequency =3D <10000000>; + status =3D "okay"; + + panel@0 { + /* This is a Winstar panel, but the ronbo panel uses same controls. */ + compatible =3D "ronbo,rb070d30"; + reg =3D <0>; + /* reset is active-low but driver inverts it internally */ + reset-gpios =3D <&tca6408_u48 1 GPIO_ACTIVE_HIGH>; + backlight =3D <&dsi_backlight>; + power-gpios =3D <&tca6408_u48 2 GPIO_ACTIVE_HIGH>; + shlr-gpios =3D <&tca6408_u48 4 GPIO_ACTIVE_LOW>; + updn-gpios =3D <&tca6408_u48 5 GPIO_ACTIVE_HIGH>; + vcc-lcd-supply =3D <®_dsi_panel>; + + port { + panel_from_dsim: endpoint { + remote-endpoint =3D <&mipi_dsi_out>; + }; + }; + }; +}; + +&mipi_dsi_out { + data-lanes =3D <1 2 3 4>; + remote-endpoint =3D <&panel_from_dsim>; +}; diff --git a/arch/arm64/boot/dts/freescale/imx8mp-hummingboard-iiot-panel-l= vds-WF70A8SYJHLNGA.dtso b/arch/arm64/boot/dts/freescale/imx8mp-hummingboard= -iiot-panel-lvds-WF70A8SYJHLNGA.dtso new file mode 100644 index 000000000000..ca4e7b8fee8e --- /dev/null +++ b/arch/arm64/boot/dts/freescale/imx8mp-hummingboard-iiot-panel-lvds-WF7= 0A8SYJHLNGA.dtso @@ -0,0 +1,97 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright 2025 Josua Mayer + * + * Overlay for enabling HummingBoard IIoT LVDS connector + * with Winstar WF70A8SYJHLNGA panel. + */ + +/dts-v1/; +/plugin/; + +#include +#include + +&{/} { + lvds_backlight: lvds-backlight { + compatible =3D "gpio-backlight"; + gpios =3D <&tca6408_u37 3 GPIO_ACTIVE_LOW>; + }; + + panel-lvds { + compatible =3D "winstar,wf70a8syjhlnga", "panel-lvds"; + backlight =3D <&lvds_backlight>; + data-mapping =3D "vesa-24"; + enable-gpios =3D <&tca6408_u37 2 GPIO_ACTIVE_HIGH>; + height-mm =3D <86>; + power-supply =3D <®_dsi_panel>; + reset-gpios =3D <&tca6408_u37 1 GPIO_ACTIVE_HIGH>; + width-mm =3D <154>; + + panel-timing { + /* + * Note: NXP BSP hard-codes 74MHz clock in ldb driver: + * drivers/gpu/drm/imx/imx8mp-ldb.c + * SolidRun BSP carries patch. + */ + clock-frequency =3D <49500000>; + de-active =3D <1>; + hactive =3D <1024>; + hback-porch =3D <144>; + hfront-porch =3D <40>; + hsync-active =3D <0>; + hsync-len =3D <104>; + vactive =3D <600>; + vback-porch =3D <11>; + vfront-porch =3D <3>; + vsync-active =3D <1>; + vsync-len =3D <10>; + }; + + port { + panel_from_lvds: endpoint { + remote-endpoint =3D <&ldb_lvds_ch0>; + }; + }; + }; +}; + +&i2c_lvds { + #address-cells =3D <1>; + #size-cells =3D <0>; + + touchscreen@41 { + compatible =3D "ilitek,ili2130"; + reg =3D <0x41>; + interrupts-extended =3D <&tca6416_u21 13 IRQ_TYPE_LEVEL_LOW>; + reset-gpios =3D <&tca6408_u37 6 GPIO_ACTIVE_LOW>; + }; +}; + +&lcdif2 { + status =3D "okay"; +}; + +&ldb_lvds_ch0 { + remote-endpoint =3D <&panel_from_lvds>; +}; + +&lvds_bridge { + status =3D "okay"; +}; + +&tca6408_u37 { + lvds-lr-hog { + gpios =3D <4 GPIO_ACTIVE_HIGH>; + gpio-hog; + line-name =3D "lvds-l/r"; + output-high; + }; + + lvds-ud-hog { + gpios =3D <5 GPIO_ACTIVE_HIGH>; + gpio-hog; + line-name =3D "lvds-u/d"; + output-high; + }; +}; diff --git a/arch/arm64/boot/dts/freescale/imx8mp-hummingboard-iiot-rs485-a= .dtso b/arch/arm64/boot/dts/freescale/imx8mp-hummingboard-iiot-rs485-a.dtso new file mode 100644 index 000000000000..ae64d6efad9d --- /dev/null +++ b/arch/arm64/boot/dts/freescale/imx8mp-hummingboard-iiot-rs485-a.dtso @@ -0,0 +1,18 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright 2025 Josua Mayer + * + * Overlay for enabling HummingBoard IIoT on-board RS485 Port A on connect= or J5004. + */ + +/dts-v1/; +/plugin/; + +&uart3 { + linux,rs485-enabled-at-boot-time; +}; + +&uart3_rs_232_485_mux { + /* select rs485 */ + idle-state =3D <1>; +}; diff --git a/arch/arm64/boot/dts/freescale/imx8mp-hummingboard-iiot-rs485-b= .dtso b/arch/arm64/boot/dts/freescale/imx8mp-hummingboard-iiot-rs485-b.dtso new file mode 100644 index 000000000000..2718fa5b2c66 --- /dev/null +++ b/arch/arm64/boot/dts/freescale/imx8mp-hummingboard-iiot-rs485-b.dtso @@ -0,0 +1,18 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright 2025 Josua Mayer + * + * Overlay for enabling HummingBoard IIoT on-board RS485 Port B on connect= or J5004. + */ + +/dts-v1/; +/plugin/; + +&uart4 { + linux,rs485-enabled-at-boot-time; +}; + +&uart4_rs_232_485_mux { + /* select rs485 */ + idle-state =3D <1>; +}; --=20 2.43.0 From nobody Thu Apr 2 23:55:37 2026 Received: from OSPPR02CU001.outbound.protection.outlook.com (mail-norwayeastazon11023109.outbound.protection.outlook.com [40.107.159.109]) (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 08D5639448D; Fri, 13 Mar 2026 12:31:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.159.109 ARC-Seal: i=3; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773405098; cv=fail; b=jOSovlih2v6ia9b79tuuGfaaUpde5/3CllnAtIXVLiYO9RzGmkXpgcVluOSIMeo6r7ITzIxyYQYj4GGfLklh0yVRfuHWAXYE+oNMy37lemJQ50avbDhpfPTH790D3g8ExuWsjicWdMmsFujS6I8gr5pqs/SG4fN35t161j1oxIQ= ARC-Message-Signature: i=3; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773405098; c=relaxed/simple; bh=hXiQoDB6K2zXQY6cWDhlOIoN4PWnXpIYX9VED8hemQI=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=oYczB5xvvZHQdQ4aMk9ZrT3fKoL2stllWIRZSGxmt3533xajtM3FIbcFsowJ1y9OWMk/C82nmm3lKUOY09PWNb7FIf/qMvwrLQJTh551mmDrhjkOtQuM8RXalWajHOtALKkZFVfeS+4/OrTYLQC6KLgcVywAturaQdNhLmP/TuE= ARC-Authentication-Results: i=3; 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=HihrskTE; dkim=pass (1024-bit key) header.d=solidrn.onmicrosoft.com header.i=@solidrn.onmicrosoft.com header.b=HihrskTE; arc=fail smtp.client-ip=40.107.159.109 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="HihrskTE"; dkim=pass (1024-bit key) header.d=solidrn.onmicrosoft.com header.i=@solidrn.onmicrosoft.com header.b="HihrskTE" ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=eEWz2C8/fzaHZcukLxeHdUav4xefkWoHwHqWCBjoUTaBzMto7cpzyo24if3useu5XbUl2BJ1rPj6QOQC3FkZYLcFK2L5N3MIv9weWze8kXGLc1NW6vL7V34CsJwQShAql+EDAOmxhygGCaf6EDo1+eG86YytY7eKUMYcAwKZO6VCxKi0JYNIZlunzYPbRmU3xOdkKHFkLKRInBYwhFf8PYgX5Tk7wFbqAT6vjIZW7NV1xZJ3ytEoTQrkp8zcd1ynH2ZiOJ1boXugSxe+ZOhylIjxS/OJ6qUJrvsEM/0kKiLnMRbFfeYfUdKILzdxD+FBYnl29XLPxj/qaDRsQXAZuA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=R9S25YdSMajGpGAiu+r0YNJXJtBlQbzW2HCpDVyT+T0=; b=sOjX1dZkKCEWoZ1P6RsEXJ+miktj7gnqF3vDmlOtvcqcVFot53e9WQwqy2+VV3+KNhG46DWrVCYbuRcU3LtoFRsTqoz9RwC3WCkvdjkgYeorB6Z5QvMxYsMUHZVv++gI3XsZu2DcING+c8mEDHlx1k9u0dIdZp4/oHB3AcjM1f1ZaWFeG79vWKBsSknlWLsVXlzF7/eSTIkhD/KNlR3O7v1D934r5PTC2RSkmHB5zL+eeG/r3RV13/++vK1PkiptkIjwSY2WUvfnNBQg0hq7VSDfXrHEozE5h6E/Wv/iO/lNNLH+3IfNOYNEPqVBRq299CYukho4TkrXp8tf/PzMSg== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=softfail (sender ip is 52.17.62.50) smtp.rcpttodomain=gmail.com smtp.mailfrom=solid-run.com; dmarc=fail (p=none sp=none pct=100) action=none header.from=solid-run.com; dkim=pass (signature was verified) header.d=solidrn.onmicrosoft.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=solid-run.com] dkim=[1,1,header.d=solid-run.com] dmarc=[1,1,header.from=solid-run.com]) 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=R9S25YdSMajGpGAiu+r0YNJXJtBlQbzW2HCpDVyT+T0=; b=HihrskTE5BljO81PuEflwIpIuBCt4aUeRVoOF8+Fphv6ELZDRuW62+m0AHjIisfMXaibjCW770CWe7TfFlfV8ax6Q/QGy73ca/dDBQytV45/6McMQ1UGRx+bcLuLCogUkD71WGQozGgjITMglpxKFQaRKWWxdFDzZpmzzy4bIuw= Received: from DU7P195CA0003.EURP195.PROD.OUTLOOK.COM (2603:10a6:10:54d::19) by DU4PR04MB11860.eurprd04.prod.outlook.com (2603:10a6:10:628::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9700.17; Fri, 13 Mar 2026 12:31:31 +0000 Received: from DB5PEPF00014B9A.eurprd02.prod.outlook.com (2603:10a6:10:54d:cafe::8e) by DU7P195CA0003.outlook.office365.com (2603:10a6:10:54d::19) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9678.27 via Frontend Transport; Fri, 13 Mar 2026 12:31:30 +0000 X-MS-Exchange-Authentication-Results: spf=softfail (sender IP is 52.17.62.50) smtp.mailfrom=solid-run.com; dkim=pass (signature was verified) header.d=solidrn.onmicrosoft.com;dmarc=fail action=none header.from=solid-run.com; Received-SPF: SoftFail (protection.outlook.com: domain of transitioning solid-run.com discourages use of 52.17.62.50 as permitted sender) Received: from eu-dlp.cloud-sec-av.com (52.17.62.50) by DB5PEPF00014B9A.mail.protection.outlook.com (10.167.8.167) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9700.17 via Frontend Transport; Fri, 13 Mar 2026 12:31:31 +0000 Received: from emails-9459391-12-mt-prod-cp-eu-2.checkpointcloudsec.com (ip-10-20-5-180.eu-west-1.compute.internal [10.20.5.180]) by mta-outgoing-dlp-467-mt-prod-cp-eu-2.checkpointcloudsec.com (Postfix) with ESMTPS id B00D2800FE; Fri, 13 Mar 2026 12:31:31 +0000 (UTC) X-Mailbox-Line: From b'josua@solid-run.com' Fri Mar 13 12:31:23 2026 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=n97o4dep19+6wxn8Q8U24+octdkjniCU6OCvGIYNTwcLT3QHyBLCQN1xzBGfzOg7KE+wXkaI7D8bYFqCUHGguUFe+NquolE1lrZQ1h6x1cGyAgalNhm3ghuK6pyUgIgn+BMvS6ydYbVQtBda3VQ4uL3IJvL7TPKtgQ9PbwRAP0SF2CmoCX5RiTLbx0c/JUc1Y/VeP0JWKz6CNHQpCf37+jpDeuxcJ6UknEw6/fTzshll9gy8ti2nt8wB5yzToWLdqTFHCHjmap4wrMFvxGHymiQdBv1Q79+5exJH0g6JTVcSOqWekRF0QzTahfz/W6fK+32I1S1DutLmUE0zlKUPLA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=R9S25YdSMajGpGAiu+r0YNJXJtBlQbzW2HCpDVyT+T0=; b=UeH8CGW+RkGo7mo+Tdu87xgmAOMtsEMwTpVODRZbDIfC8OfDgHdL2iK46r6sGzpJbECP9S6RMydbkdNKcMzYrCm4E97K6U7jhDlVnftUxmI44om2ULDRFSsIeSxPz32WJaZpBPjEj8N7AN/iUpWlUQxUXaO1G4TTNOr9qyAe6U13mQ7x+dOYPHIxfztoYCwAYfgpGOeKK+8b7DDbXAxZnNCrLAQVA2mpQzMKD+naayizNC9DEMiv/fFJ8sQ4WMnPjWfPmt2xV7sdWQZu+bH5nGjO8+T5BHSYhDx9VEWMcNiTrmTFULxXjkBId/ccnGN6CVt4VzGvXWEGARW7NWvuXw== 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=R9S25YdSMajGpGAiu+r0YNJXJtBlQbzW2HCpDVyT+T0=; b=HihrskTE5BljO81PuEflwIpIuBCt4aUeRVoOF8+Fphv6ELZDRuW62+m0AHjIisfMXaibjCW770CWe7TfFlfV8ax6Q/QGy73ca/dDBQytV45/6McMQ1UGRx+bcLuLCogUkD71WGQozGgjITMglpxKFQaRKWWxdFDzZpmzzy4bIuw= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=solid-run.com; Received: from PAXPR04MB8749.eurprd04.prod.outlook.com (2603:10a6:102:21f::22) by PR3PR04MB7467.eurprd04.prod.outlook.com (2603:10a6:102:80::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9700.16; Fri, 13 Mar 2026 12:31:13 +0000 Received: from PAXPR04MB8749.eurprd04.prod.outlook.com ([fe80::d782:fbb2:be9a:43f1]) by PAXPR04MB8749.eurprd04.prod.outlook.com ([fe80::d782:fbb2:be9a:43f1%3]) with mapi id 15.20.9700.015; Fri, 13 Mar 2026 12:31:04 +0000 From: Josua Mayer Date: Fri, 13 Mar 2026 14:30:59 +0200 Subject: [PATCH v10 3/4] arm64: dts: add description for solidrun solidsense-n8 board Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260313-imx8mp-hb-iiot-v10-3-52b3084f2426@solid-run.com> References: <20260313-imx8mp-hb-iiot-v10-0-52b3084f2426@solid-run.com> In-Reply-To: <20260313-imx8mp-hb-iiot-v10-0-52b3084f2426@solid-run.com> To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Frank Li Cc: Mikhail Anikin , Yazan Shhady , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, Josua Mayer X-Mailer: b4 0.14.3 X-ClientProxiedBy: TL2P290CA0007.ISRP290.PROD.OUTLOOK.COM (2603:1096:950:2::9) To PAXPR04MB8749.eurprd04.prod.outlook.com (2603:10a6:102:21f::22) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: PAXPR04MB8749:EE_|PR3PR04MB7467:EE_|DB5PEPF00014B9A:EE_|DU4PR04MB11860:EE_ X-MS-Office365-Filtering-Correlation-Id: df772386-bd9e-47ab-e6b3-08de80fc751a X-CLOUD-SEC-AV-Info: solidrun,office365_emails,sent,inline X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0;ARA:13230040|7416014|376014|52116014|1800799024|366016|38350700014|56012099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info-Original: XVl8KOckGctDgdXdMpQueIxqwSweLw9OhMNQOHfonpIOzchZMOSrf93zloi3MFJC9zwiajw0SQpE9jyu4poOl+KlKAJDlF4Vyx06UPRa9Q0WOKtsb6YunKHTcPJGQq+SX59YlAoat0Jny+utYOrhMagJxin3094qt+qRMpj1pXzadWPqcEtVhFxTtgdsZSMPGvqnJPUSGyDTXNVg1XthHmpfiihttYLLyzVLcJ9595K7RJ1GAqpy386cuRZBEggANeoATZWInVb4ULrc36eoHjGMD/EhwYd0ZRD2DL4bkmeBtgau9+imj6YbRnMpWN2yRAtBBkgQmVs8FSFrBrwhGCAgoaHiwMGUh6iB1WrnJv+U1MyA3VFXlRvIkVxbYl2zLcSCIVf2Cnxo8LTqNi1Fm4M2ncsBy9KE25Iq13jPxHYmplT7bkz9p/TY+/CjEg2WJjYce6lBF0SxSNen2O0gM3kBpUUyMy9H7XaScVUCktT62y1xSjM1tUXOcF/nzG8NW2515mUZkhdNJftBB5HtXZRmL6CEhHsYMJdJ1EM38qCOv8DcwRPbZQFbpc8oDNc3F+otThA6P2gD88R1te2VF0GYWvHf7zXMQoQM0A2HjMTbMT7t8C8FoEol3mFFs/Gwzm0zEIB2iQqV+lMQgp9xyiPttzUDaoSGPmA0DoqV+8TccyN8+qRQau7/Q1i4RvkT0QGcWfKz+NYwVpvJFxbLgmfwoEmZlaDpd3B2rdYybugLJ83eMSl9UMK+q6Pa8T8njE6BfpvtD1DZQe1ThA0Phu9vvk9iQjKF8gsE51TomKU= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB8749.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(376014)(52116014)(1800799024)(366016)(38350700014)(56012099003)(18002099003)(22082099003);DIR:OUT;SFP:1102; X-Exchange-RoutingPolicyChecked: XME0rqDdP98ua0nZkpphkUZC+lvfAny/rpov9IdZ/zg6s/wKdkx4JDsb9muVpmZWwxyQdCVy0XkTOQuXkBizXa8cfI7h31nn2r64UIWiY/yaVl6ynZUM7GY8V669vsP2LeFuOBCZadqy2/VhQfWglbTbBdbWNwARk/NXv8ybqs67t/Y4Ka6VB3iJK7UT6gIwcdE/lSdoqGAJU049Rs9gJWBLGGmWvz3Hbm+d31PmyIPNTBHaTpp4QL943MvN5piZZet0MDmRFMp3qqaJIYcq0lv/nEhzibFd7nD5x+prqY5hZY56xmlCvRWlQNIB34RwJWSoYdTPz94nHWqT6lA5sw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR04MB7467 X-CLOUD-SEC-AV-INT-Relay: sent X-CLOUD-SEC-AV-UUID: 97d2181756ab492e8004162fb5054545:solidrun,office365_emails,sent,inline:9289b2abfe3e9fc97e4b402e7c3b6b90 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5PEPF00014B9A.eurprd02.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 561fb15e-2be3-4f61-6f11-08de80fc64ee X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|82310400026|376014|7416014|36860700016|14060799003|35042699022|22082099003|18002099003|56012099003; X-Microsoft-Antispam-Message-Info: SRvSlTftIy9jr4X4Ghx92CRTzKf3UU792bXZ2RESlZW17C3NCxExZnR5VVcz5lEf55kBY7rO5pyG+a3X/+dM0GywSyd5pobs5iSufwv1fep0fx4D69NwzFTP6Lz6r/haA1VA8NZ1Csbys8YFZXC4OEeT0rkLT/wVALWzC2Zvc7mvvNhed/I3DULgz1MJz2OKvlJChEBu/RP0tC/vosiG0pc1HNA/k82xoTpVfDFehHEIdqjKlvNmX9mx4x/sOVKs5t6i3RLCS1edfcxf3T+/PIFrMS63et1F+yJ1vp1nxvfSlT3uW4oEuB9JcwtC5yX+XUpl0nxlbuz3+7cYL+57SFfN2oo51+eNBvZD6Hxfo9djGJdq73d/63PXOu0wAZTQyuOxxZ9yIwnGJp7WgBKRJ6XZlkM+UqLC1UUCvbC4foF9z2ht9gJgzFynUgT7TiZ1NteQhm9Xb7z5muWy9IWUZc3rwweW1hIo8nB+6tfkIvT+3vFAd74qMemVT/8XO0Oo92Xep9ulnkByqGsI1ZXkfiXkvS23jag9cFEoefyBuJPVt5dPukaW4o05ZGyb+TkmzzergQlrtfwYMtzRAbf6FoyXQp7wMeawFq4ESkWJ2C7YTg2INNWA/vVoAhVzeugNqMX91W6tHVeX1HlsECVDBFyL959KLaafj6whplq+Gq9UAOinpePSIZC5LC2KPUBOFB1CeSTGqrNqKSNAZez1eSnVVFPMFAHbcDCrfLQ5JDrym1K4pAs+IRFzpZiWKySaRayOIBSjEzBSeWInsKTe8Q== X-Forefront-Antispam-Report: CIP:52.17.62.50;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:eu-dlp.cloud-sec-av.com;PTR:eu-dlp.cloud-sec-av.com;CAT:NONE;SFS:(13230040)(1800799024)(82310400026)(376014)(7416014)(36860700016)(14060799003)(35042699022)(22082099003)(18002099003)(56012099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: I1TQpo8z8748zNJXgrBIrqVh4ognX0hb5wg6LHeYSlAwqJoPijuzkH1huZ3DSz70szEsLrvr3JbKUQnYlZkHwzEJgunYPq48KOIEOAQIaUiHpnM6klE4fhvfL2LaT7OQV4QbcRXIsr63iRlOSWifkuFI8U2w9Mw1nH+6JA4qJfsRmjudhoyE0HyXZvukprgnSu2UKxmOS3v+OS3jJpC3lMEia8Cx8e7K5edWmPAbTydahVe3MDDkhyivY3lE/2TAOmvgo/rql0pFU9Erqv8+l5JrZJJFLy6YOfOETnm9GzpCYWaTtPr/k0/5Ptc4aZKZO6AH5orEutk8pwbXjOzBRjTMnrrmY1OF6BcbkTsanWLP/SvCe1bn6WRPIP35oEA9Hku6GyYEDfHoI6eVOMi8hYePPE76sZxMaqAqETmDy3cjrFuHpfykOZNQ0zT0u5Df X-OriginatorOrg: solid-run.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2026 12:31:31.7601 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: df772386-bd9e-47ab-e6b3-08de80fc751a X-MS-Exchange-CrossTenant-Id: a4a8aaf3-fd27-4e27-add2-604707ce5b82 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=a4a8aaf3-fd27-4e27-add2-604707ce5b82;Ip=[52.17.62.50];Helo=[eu-dlp.cloud-sec-av.com] X-MS-Exchange-CrossTenant-AuthSource: DB5PEPF00014B9A.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU4PR04MB11860 Add description for the SolidRun SolidSense N8 Compact. The board is designed around the i.MX8MN SoC and comes as a complete product including enclosure and labels. Features: - USB-2.0 Type A connector - 1Gbps RJ45 Ethernet with PoE - microSD connector - eMMC - Cellular Modem + SIM holder - WiFi + Bluetooth - RS485 - CAN - 802.15.1 radio - supercapacitor backup power supply This is a headless design without display. The board includes an internal expansion connector for daughterboards which may be described by dt addon. The supercap is not currently described due to lack of suitable bindings. Vendor BSP uses gpio-keys driver to trigger shutdown on power loss. Signed-off-by: Josua Mayer --- arch/arm64/boot/dts/freescale/Makefile | 2 + .../dts/freescale/imx8mn-solidsense-n8-compact.dts | 851 +++++++++++++++++= ++++ 2 files changed, 853 insertions(+) diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/f= reescale/Makefile index 74756c680403..1ce4955cef0f 100644 --- a/arch/arm64/boot/dts/freescale/Makefile +++ b/arch/arm64/boot/dts/freescale/Makefile @@ -191,6 +191,8 @@ dtb-$(CONFIG_ARCH_MXC) +=3D imx8mn-evk.dtb dtb-$(CONFIG_ARCH_MXC) +=3D imx8mn-ddr3l-evk.dtb dtb-$(CONFIG_ARCH_MXC) +=3D imx8mn-ddr4-evk.dtb dtb-$(CONFIG_ARCH_MXC) +=3D imx8mn-rve-gateway.dtb +dtb-$(CONFIG_ARCH_MXC) +=3D imx8mn-solidsense-n8-compact.dtb +DTC_FLAGS_imx8mn-solidsense-n8-compact +=3D -@ dtb-$(CONFIG_ARCH_MXC) +=3D imx8mn-tqma8mqnl-mba8mx.dtb dtb-$(CONFIG_ARCH_MXC) +=3D imx8mn-var-som-symphony.dtb dtb-$(CONFIG_ARCH_MXC) +=3D imx8mn-venice-gw7902.dtb diff --git a/arch/arm64/boot/dts/freescale/imx8mn-solidsense-n8-compact.dts= b/arch/arm64/boot/dts/freescale/imx8mn-solidsense-n8-compact.dts new file mode 100644 index 000000000000..c8c6760524db --- /dev/null +++ b/arch/arm64/boot/dts/freescale/imx8mn-solidsense-n8-compact.dts @@ -0,0 +1,851 @@ +// SPDX-License-Identifier: (GPL-2.0 OR MIT) +/* + * Device Tree file for SolidSense N8 Compact + * + * Copyright 2024 Josua Mayer + */ + +/dts-v1/; + +#include + +#include "imx8mn.dtsi" + +/ { + compatible =3D "solidrun,solidsense-n8-compact", "fsl,imx8mn"; + model =3D "SolidRun SolidSense N8 Compact"; + + /* LED labels based on enclosure, schematic names differ. */ + leds { + compatible =3D "gpio-leds"; + pinctrl-0 =3D <&led_pins>; + pinctrl-names =3D "default"; + + /* D20 */ + led1 { + default-state =3D "off"; + gpios =3D <&gpio1 13 GPIO_ACTIVE_HIGH>; + label =3D "led1"; + }; + + /* D18 */ + led2 { + default-state =3D "off"; + gpios =3D <&gpio1 11 GPIO_ACTIVE_HIGH>; + label =3D "led2"; + }; + + /* D19 */ + led3 { + default-state =3D "off"; + gpios =3D <&gpio1 12 GPIO_ACTIVE_HIGH>; + label =3D "led3"; + }; + }; + + aliases { + gpio5 =3D &expander; + rtc0 =3D &rtc; + rtc1 =3D &snvs_rtc; + usb0 =3D &usbotg1; + watchdog0 =3D &wdog1; + watchdog1 =3D &rtc; + }; + + chosen { + stdout-path =3D &uart2; + }; + + reg_modem_vbat: regulator-modem-vbat { + compatible =3D "regulator-fixed"; + regulator-name =3D "modem-vbat"; + pinctrl-0 =3D <®ulator_modem_vbat_pins>; + pinctrl-names =3D "default"; + regulator-always-on; + regulator-max-microvolt =3D <3800000>; + regulator-min-microvolt =3D <3800000>; + gpio =3D <&gpio3 25 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + /* power to lte modems behind hub ports 2/3 */ + reg_modem_vbus: regulator-modem-vbus { + compatible =3D "regulator-fixed"; + regulator-name =3D "modem-vbus"; + pinctrl-0 =3D <®ulator_modem_vbus_pins>; + pinctrl-names =3D "default"; + regulator-always-on; + regulator-max-microvolt =3D <5000000>; + regulator-min-microvolt =3D <5000000>; + gpio =3D <&gpio5 4 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + /* power to usb hub, and type-a behind hub port 1 */ + reg_usb1_vbus: regulator-usb1-vbus { + compatible =3D "regulator-fixed"; + regulator-name =3D "usb1-vbus"; + pinctrl-0 =3D <®ulator_usb1_vbus_pins>; + pinctrl-names =3D "default"; + regulator-max-microvolt =3D <5000000>; + regulator-min-microvolt =3D <5000000>; + gpio =3D <&gpio5 5 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + reg_usdhc2_vmmc: regulator-usdhc2-vmmc { + compatible =3D "regulator-fixed"; + regulator-name =3D "usdhc2-vmmc"; + off-on-delay-us =3D <250>; + pinctrl-0 =3D <®ulator_usdhc2_vmmc_pins>; + pinctrl-names =3D "default"; + regulator-max-microvolt =3D <3300000>; + regulator-min-microvolt =3D <3300000>; + vin-supply =3D <®_vdd_3v3>; + gpio =3D <&gpio2 19 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + reg_vdd_1v8: regulator-vdd-1v8 { + compatible =3D "regulator-fixed"; + regulator-name =3D "vdd-1v8"; + regulator-max-microvolt =3D <1800000>; + regulator-min-microvolt =3D <1800000>; + }; + + reg_vdd_3v3: regulator-vdd-3v3 { + compatible =3D "regulator-fixed"; + regulator-name =3D "vdd-3v3"; + regulator-max-microvolt =3D <3300000>; + regulator-min-microvolt =3D <3300000>; + }; + + rfkill { + compatible =3D "rfkill-gpio"; + /* rfkill-gpio inverts internally */ + shutdown-gpios =3D <&gpio1 7 GPIO_ACTIVE_HIGH>; + label =3D "rfkill-wwan"; + pinctrl-0 =3D <&modem_pins>; + pinctrl-names =3D "default"; + radio-type =3D "wwan"; + }; + + usdhc1_pwrseq: usdhc1-pwrseq { + compatible =3D "mmc-pwrseq-simple"; + reset-gpios =3D <&gpio2 10 GPIO_ACTIVE_LOW>; + }; + + memory@40000000 { + reg =3D <0x0 0x40000000 0 0x80000000>; + device_type =3D "memory"; + }; +}; + +&A53_0 { + cpu-supply =3D <&buck2_reg>; +}; + +&A53_1 { + cpu-supply =3D <&buck2_reg>; +}; + +&A53_2 { + cpu-supply =3D <&buck2_reg>; +}; + +&A53_3 { + cpu-supply =3D <&buck2_reg>; +}; + +&ddrc { + operating-points-v2 =3D <&ddrc_opp_table>; + + ddrc_opp_table: opp-table { + compatible =3D "operating-points-v2"; + + opp-266500000 { + opp-hz =3D /bits/ 64 <266500000>; + }; + + opp-600000000 { + opp-hz =3D /bits/ 64 <600000000>; + }; + }; +}; + +&ecspi2 { + /* native chip-select causes reading 0xffffffff */ + cs-gpios =3D <&gpio5 13 GPIO_ACTIVE_LOW>; + num-cs =3D <1>; + pinctrl-0 =3D <&ecspi2_pins>; + pinctrl-names =3D "default"; + status =3D "okay"; + + can@0 { + compatible =3D "microchip,mcp2518fd"; + reg =3D <0>; + interrupt-parent =3D <&gpio5>; + interrupts =3D <1 IRQ_TYPE_EDGE_FALLING>; + clocks =3D <&clk IMX8MN_CLK_CLKOUT1>; + /* generate 8MHz clock from soc-internal 24mhz reference */ + assigned-clock-parents =3D <&clk IMX8MN_CLK_24M>, <0>; + assigned-clock-rates =3D <0>, <8000000>; + assigned-clocks =3D <&clk IMX8MN_CLK_CLKOUT1_SEL>, + <&clk IMX8MN_CLK_CLKOUT1_DIV>; + pinctrl-0 =3D <&can_pins>; + pinctrl-names =3D "default"; + spi-max-frequency =3D <20000000>; + }; +}; + +&fec1 { + phy-handle =3D <&phy4>; + phy-mode =3D "rgmii-id"; + pinctrl-0 =3D <&fec1_pins>; + pinctrl-names =3D "default"; + status =3D "okay"; + + mdio { + #address-cells =3D <1>; + #size-cells =3D <0>; + + /* + * Depending on board revision two different phys are used: + * - v1.1: atheros phy at address 4 + * - v1.2+: analog devices phy at address 0 + * Configure first version by default. + * On v1.2 and later, U-Boot will enable the correct phy + * based on runtime detection and patch dtb accordingly. + */ + + /* ADIN1300 */ + phy0: ethernet-phy@0 { + reg =3D <0>; + interrupt-parent =3D <&gpio1>; + interrupts =3D <10 IRQ_TYPE_LEVEL_LOW>; + reset-assert-us =3D <10>; + reset-deassert-us =3D <5000>; + reset-gpios =3D <&gpio3 19 GPIO_ACTIVE_LOW>; + adi,led-polarity =3D ; + adi,link-st-polarity =3D ; + status =3D "disabled"; + + leds { + #address-cells =3D <1>; + #size-cells =3D <0>; + + led@0 { + reg =3D <0>; + active-low; + color =3D ; + default-state =3D "keep"; + function =3D LED_FUNCTION_LAN; + }; + }; + }; + + /* AR8035 */ + phy4: ethernet-phy@4 { + reg =3D <4>; + reset-assert-us =3D <10000>; + reset-gpios =3D <&gpio3 19 GPIO_ACTIVE_LOW>; + status =3D "okay"; + }; + }; +}; + +&gpio5 { + usb-hub-reset-hog { + line-name =3D "usb-hub-reset"; + gpios =3D <3 GPIO_ACTIVE_LOW>; + gpio-hog; + /* deasserted */ + output-low; + }; +}; + +&i2c1 { + pinctrl-0 =3D <&i2c1_pins>; + pinctrl-names =3D "default"; + status =3D "okay"; + + pmic@4b { + compatible =3D "rohm,bd71847"; + reg =3D <0x4b>; + interrupt-parent =3D <&gpio1>; + interrupts =3D <3 IRQ_TYPE_LEVEL_LOW>; + clocks =3D <&osc_32k>; + #clock-cells =3D <0>; + clock-output-names =3D "clk-32k-out"; + pinctrl-0 =3D <&pmic_pins>; + pinctrl-names =3D "default"; + rohm,reset-snvs-powered; + + regulators { + BUCK1 { + regulator-always-on; + regulator-boot-on; + regulator-max-microvolt =3D <1300000>; + regulator-min-microvolt =3D <700000>; + regulator-ramp-delay =3D <1250>; + // supplies soc vdd, soc mipi vdd @ 0.9V + regulator-name =3D "buck1"; + rohm,dvs-run-voltage =3D <850000>; + rohm,dvs-suspend-voltage =3D <750000>; + }; + + buck2_reg: BUCK2 { + regulator-name =3D "buck2"; + regulator-always-on; + regulator-boot-on; + regulator-max-microvolt =3D <1300000>; + regulator-min-microvolt =3D <700000>; + regulator-ramp-delay =3D <1250>; + rohm,dvs-idle-voltage =3D <900000>; + rohm,dvs-run-voltage =3D <1000000>; + rohm,dvs-suspend-voltage =3D <0>; + }; + + BUCK3 { + // BUCK5 in datasheet + // output floating + regulator-name =3D "buck3"; + regulator-max-microvolt =3D <1350000>; + regulator-min-microvolt =3D <700000>; + }; + + BUCK4 { + regulator-always-on; + regulator-boot-on; + regulator-max-microvolt =3D <3300000>; + regulator-min-microvolt =3D <3000000>; + // BUCK6 in datasheet + // supplies ldo3, ldo5, muxsw + regulator-name =3D "buck4"; + }; + + BUCK5 { + regulator-always-on; + regulator-boot-on; + regulator-max-microvolt =3D <1995000>; + regulator-min-microvolt =3D <1605000>; + // BUCK7 in datasheet + // supplies ldo4, ldo6, muxsw + // enables dram vpp @ 2.5V + regulator-name =3D "buck5"; + }; + + BUCK6 { + // BUCK8 in datasheet + // supplies dram @ 1.2V + regulator-name =3D "buck6"; + regulator-always-on; + regulator-boot-on; + regulator-max-microvolt =3D <1400000>; + regulator-min-microvolt =3D <800000>; + }; + + LDO1 { + // supplies soc snvs @ 1.8V + regulator-name =3D "ldo1"; + regulator-always-on; + regulator-boot-on; + regulator-max-microvolt =3D <3300000>; + regulator-min-microvolt =3D <1600000>; + }; + + LDO2 { + // supplies soc snvs @ 0.8V + regulator-name =3D "ldo2"; + regulator-always-on; + regulator-boot-on; + regulator-max-microvolt =3D <900000>; + regulator-min-microvolt =3D <800000>; + }; + + LDO3 { + // supplies soc vdd @ 1.8V + regulator-name =3D "ldo3"; + regulator-always-on; + regulator-boot-on; + regulator-max-microvolt =3D <3300000>; + regulator-min-microvolt =3D <1800000>; + }; + + LDO4 { + // output floating + regulator-name =3D "ldo4"; + regulator-max-microvolt =3D <1800000>; + regulator-min-microvolt =3D <900000>; + }; + + LDO5 { + // output floating + regulator-name =3D "ldo5"; + regulator-max-microvolt =3D <3300000>; + regulator-min-microvolt =3D <800000>; + }; + + LDO6 { + // supplies soc vdd mipi @ 1.2V + regulator-name =3D "ldo6"; + regulator-always-on; + regulator-boot-on; + regulator-max-microvolt =3D <1800000>; + regulator-min-microvolt =3D <900000>; + }; + }; + }; +}; + +&i2c2 { + /* + * routed to various connectors: + * - basler camera (CON2) + * - touchscreen (J3) + * - expansion connector (J14) + */ + pinctrl-names =3D "default"; + pinctrl-0 =3D <&i2c2_pins>; + status =3D "okay"; +}; + +&i2c3 { + pinctrl-0 =3D <&i2c3_pins>; + pinctrl-names =3D "default"; + status =3D "okay"; + + expander: gpio@20 { + compatible =3D "ti,tca6408"; + reg =3D <0x20>; + #interrupt-cells =3D <2>; + interrupt-controller; + interrupt-parent =3D <&gpio2>; + interrupts =3D <11 IRQ_TYPE_EDGE_FALLING>; + #gpio-cells =3D <2>; + gpio-controller; + gpio-line-names =3D "SYSGD", "PFO#", "CAPGD", "CAPFLT#", + "CHGEN#", "BSTEN#", "", ""; + pinctrl-0 =3D <&gpio_expander_pins>; + pinctrl-names =3D "default"; + reset-gpios =3D <&gpio3 16 GPIO_ACTIVE_LOW>; + }; + + light-sensor@44 { + compatible =3D "isil,isl29023"; + reg =3D <0x44>; + }; + + accelerometer@53 { + compatible =3D "adi,adxl345"; + reg =3D <0x53>; + }; + + /* battery-charger@68 */ + + rtc: rtc@69 { + compatible =3D "abracon,abx80x"; + reg =3D <0x69>; + interrupt-parent =3D <&gpio1>; + interrupts =3D <1 IRQ_TYPE_EDGE_FALLING>; + pinctrl-0 =3D <&rtc_pins>; + pinctrl-names =3D "default"; + abracon,tc-diode =3D "schottky"; + abracon,tc-resistor =3D <3>; + }; +}; + +&i2c4 { + /* routed to expansion connector (J14) */ + pinctrl-names =3D "default"; + pinctrl-0 =3D <&i2c4_pins>; + status =3D "okay"; +}; + +&iomuxc { + pinctrl-0 =3D <&tamper_pins>, <&usb_hub_pins>; + pinctrl-names =3D "default"; + + can_pins: pinctrl-can-grp { + fsl,pins =3D < + MX8MN_IOMUXC_SAI3_TXD_GPIO5_IO1 0x140 + >; + }; + + ecspi2_pins: pinctrl-ecspi2-grp { + fsl,pins =3D < + MX8MN_IOMUXC_ECSPI2_SCLK_ECSPI2_SCLK 0x96 + MX8MN_IOMUXC_ECSPI2_MOSI_ECSPI2_MOSI 0x1d6 + MX8MN_IOMUXC_ECSPI2_MISO_ECSPI2_MISO 0x1d6 + MX8MN_IOMUXC_ECSPI2_SS0_GPIO5_IO13 0x1d6 + >; + }; + + fec1_pins: pinctrl-fec1-grp { + /* + * Some pins are sampled at phy reset to apply configuration: + * - AR803x PHY (revision 1.1) + * - RXD[1:0]: phy address bits [1:0] + * - RXD[3:2],RX_CTL: mac interface select bits 3,1,0 + * - ADIN1300 PHY (revision 1.2 or later) + * - RXD[3:0]: phy address bits [3:0] + * - RX_CTL,RXC: mac interface select bits 1,0 + * SoC enables pull-down at reset, PHYs have internal + * pull-down, so pinmux may unset pull-enable. + */ + fsl,pins =3D < + MX8MN_IOMUXC_ENET_MDC_ENET1_MDC 0x2 + MX8MN_IOMUXC_ENET_MDIO_ENET1_MDIO 0x2 + MX8MN_IOMUXC_ENET_TD3_ENET1_RGMII_TD3 0x1e + MX8MN_IOMUXC_ENET_TD2_ENET1_RGMII_TD2 0x1e + MX8MN_IOMUXC_ENET_TD1_ENET1_RGMII_TD1 0x1e + MX8MN_IOMUXC_ENET_TD0_ENET1_RGMII_TD0 0x1e + /* RD[3:0] sampled at phy reset for address bits [3:0] */ + MX8MN_IOMUXC_ENET_RD3_ENET1_RGMII_RD3 0x90 + MX8MN_IOMUXC_ENET_RD2_ENET1_RGMII_RD2 0x90 + MX8MN_IOMUXC_ENET_RD1_ENET1_RGMII_RD1 0x90 + MX8MN_IOMUXC_ENET_RD0_ENET1_RGMII_RD0 0x90 + MX8MN_IOMUXC_ENET_TXC_ENET1_RGMII_TXC 0x10 + MX8MN_IOMUXC_ENET_RXC_ENET1_RGMII_RXC 0x90 + MX8MN_IOMUXC_ENET_RX_CTL_ENET1_RGMII_RX_CTL 0x90 + MX8MN_IOMUXC_ENET_TX_CTL_ENET1_RGMII_TX_CTL 0x10 + /* phy reset */ + MX8MN_IOMUXC_SAI5_RXFS_GPIO3_IO19 0x0 + /* phy interrupt */ + MX8MN_IOMUXC_GPIO1_IO10_GPIO1_IO10 0x140 + >; + }; + + gpio_expander_pins: pinctrl-gpio-expander-grp { + fsl,pins =3D < + MX8MN_IOMUXC_NAND_READY_B_GPIO3_IO16 0x140 + MX8MN_IOMUXC_SD1_STROBE_GPIO2_IO11 0x140 + >; + }; + + i2c1_pins: pinctrl-i2c1-grp { + fsl,pins =3D < + MX8MN_IOMUXC_I2C1_SCL_I2C1_SCL 0x400001c2 + MX8MN_IOMUXC_I2C1_SDA_I2C1_SDA 0x400001c2 + >; + }; + + i2c2_pins: pinctrl-i2c2-grp { + fsl,pins =3D < + MX8MN_IOMUXC_I2C2_SCL_I2C2_SCL 0x400001c2 + MX8MN_IOMUXC_I2C2_SDA_I2C2_SDA 0x400001c2 + >; + }; + + i2c3_pins: pinctrl-i2c3-grp { + fsl,pins =3D < + MX8MN_IOMUXC_I2C3_SCL_I2C3_SCL 0x400001c2 + MX8MN_IOMUXC_I2C3_SDA_I2C3_SDA 0x400001c2 + >; + }; + + i2c4_pins: pinctrl-i2c4-grp { + fsl,pins =3D < + MX8MN_IOMUXC_I2C4_SCL_I2C4_SCL 0x400001c2 + MX8MN_IOMUXC_I2C4_SDA_I2C4_SDA 0x400001c2 + >; + }; + + ieee802151_radio_pins: pinctrl-ieee802151-radio-grp { + fsl,pins =3D < + /* RESETN */ + MX8MN_IOMUXC_GPIO1_IO05_GPIO1_IO5 0x0 + /* VDD_EN */ + MX8MN_IOMUXC_GPIO1_IO06_GPIO1_IO6 0x0 + /* SWDCLK */ + MX8MN_IOMUXC_GPIO1_IO14_GPIO1_IO14 0x0 + /* SDIO */ + MX8MN_IOMUXC_GPIO1_IO15_GPIO1_IO15 0x0 + >; + }; + + led_pins: pinctrl-led-grp { + fsl,pins =3D < + MX8MN_IOMUXC_GPIO1_IO11_GPIO1_IO11 0x100 + MX8MN_IOMUXC_GPIO1_IO12_GPIO1_IO12 0x100 + MX8MN_IOMUXC_GPIO1_IO13_GPIO1_IO13 0x100 + >; + }; + + modem_pins: pinctrl-modem-grp { + fsl,pins =3D < + /* RESET_N: modem-internal pull-down */ + MX8MN_IOMUXC_GPIO1_IO07_GPIO1_IO7 0x0 + /* PWRKEY: pull-down ensures always-on */ + MX8MN_IOMUXC_GPIO1_IO08_GPIO1_IO8 0x100 + >; + }; + + pmic_pins: pinctrl-pmic-grp { + fsl,pins =3D < + MX8MN_IOMUXC_GPIO1_IO03_GPIO1_IO3 0x140 + >; + }; + + regulator_modem_vbat_pins: pinctrl-regulator-modem-vbat-grp { + fsl,pins =3D < + MX8MN_IOMUXC_SAI5_MCLK_GPIO3_IO25 0x0 + >; + }; + + regulator_modem_vbus_pins: pinctrl-regulator-modem-vbus-grp { + fsl,pins =3D < + MX8MN_IOMUXC_SPDIF_RX_GPIO5_IO4 0x0 + >; + }; + + regulator_usb1_vbus_pins: pinctrl-regulator-usb1-vbus-grp { + fsl,pins =3D < + MX8MN_IOMUXC_SPDIF_EXT_CLK_GPIO5_IO5 0x0 + >; + }; + + regulator_usdhc2_vmmc_pins: pinctrl-regulator-usdhc2-vmmc-grp { + fsl,pins =3D < + MX8MN_IOMUXC_SD2_RESET_B_GPIO2_IO19 0x0 + >; + }; + + rtc_pins: pinctrl-rtc-grp { + fsl,pins =3D < + MX8MN_IOMUXC_GPIO1_IO01_GPIO1_IO1 0x140 + MX8MN_IOMUXC_SAI3_RXFS_GPIO4_IO28 0x100 + >; + }; + + tamper_pins: pinctrl-tamper-grp { + /* + * Routed to physical tamper input (J12), + * accelerometer and light-sensor interrupts. + */ + fsl,pins =3D < + MX8MN_IOMUXC_GPIO1_IO09_GPIO1_IO9 0x140 + >; + }; + + uart1_pins: pinctrl-uart1-grp { + fsl,pins =3D < + MX8MN_IOMUXC_UART1_RXD_UART1_DCE_RX 0x140 + MX8MN_IOMUXC_UART1_TXD_UART1_DCE_TX 0x140 + MX8MN_IOMUXC_UART3_RXD_UART1_DCE_CTS_B 0x140 + MX8MN_IOMUXC_UART3_TXD_UART1_DCE_RTS_B 0x140 + /* BT_REG_ON */ + MX8MN_IOMUXC_SD1_DATA4_GPIO2_IO6 0x0 + /* BT_WAKE_DEV */ + MX8MN_IOMUXC_SD1_DATA5_GPIO2_IO7 0x0 + /* BT_WAKE_HOST */ + MX8MN_IOMUXC_SD1_DATA6_GPIO2_IO8 0x100 + >; + }; + + uart2_pins: pinctrl-uart2-grp { + fsl,pins =3D < + MX8MN_IOMUXC_UART2_RXD_UART2_DCE_RX 0x140 + MX8MN_IOMUXC_UART2_TXD_UART2_DCE_TX 0x140 + >; + }; + + uart3_pins: pinctrl-uart3-grp { + fsl,pins =3D < + MX8MN_IOMUXC_ECSPI1_MOSI_UART3_DTE_RX 0x140 + MX8MN_IOMUXC_ECSPI1_SCLK_UART3_DTE_TX 0x140 + MX8MN_IOMUXC_ECSPI1_MISO_UART3_DTE_RTS_B 0x140 + MX8MN_IOMUXC_ECSPI1_SS0_UART3_DTE_CTS_B 0x140 + >; + }; + + uart4_pins: pinctrl-uart4-grp { + fsl,pins =3D < + MX8MN_IOMUXC_UART4_RXD_UART4_DCE_RX 0x140 + MX8MN_IOMUXC_UART4_TXD_UART4_DCE_TX 0x140 + >; + }; + + usb_hub_pins: pinctrl-usb-hub-grp { + fsl,pins =3D < + MX8MN_IOMUXC_SPDIF_TX_GPIO5_IO3 0x0 + >; + }; + + usdhc1_pins: pinctrl-usdhc1-grp { + fsl,pins =3D < + MX8MN_IOMUXC_SD1_CLK_USDHC1_CLK 0x190 + MX8MN_IOMUXC_SD1_CMD_USDHC1_CMD 0x1d0 + MX8MN_IOMUXC_SD1_DATA0_USDHC1_DATA0 0x1d0 + MX8MN_IOMUXC_SD1_DATA1_USDHC1_DATA1 0x1d0 + MX8MN_IOMUXC_SD1_DATA2_USDHC1_DATA2 0x1d0 + MX8MN_IOMUXC_SD1_DATA3_USDHC1_DATA3 0x1d0 + /* wifi refclk */ + MX8MN_IOMUXC_GPIO1_IO00_ANAMIX_REF_CLK_32K 0x0 + /* WL_WAKE_HOST */ + MX8MN_IOMUXC_SD1_DATA7_GPIO2_IO9 0x100 + /* WL_REG_ON */ + MX8MN_IOMUXC_SD1_RESET_B_GPIO2_IO10 0x0 + >; + }; + + usdhc2_100mhz_pins: pinctrl-usdhc2-100mhz-grp { + fsl,pins =3D < + MX8MN_IOMUXC_SD2_CLK_USDHC2_CLK 0x194 + MX8MN_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d4 + MX8MN_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d4 + MX8MN_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d4 + MX8MN_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d4 + MX8MN_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d4 + MX8MN_IOMUXC_SD2_CD_B_USDHC2_CD_B 0x0 + /* usdhc2 signalling voltage pmic control */ + MX8MN_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x140 + >; + }; + + usdhc2_200mhz_pins: pinctrl-usdhc2-100mhz-grp { + fsl,pins =3D < + MX8MN_IOMUXC_SD2_CLK_USDHC2_CLK 0x196 + MX8MN_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d6 + MX8MN_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d6 + MX8MN_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d6 + MX8MN_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d6 + MX8MN_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d6 + MX8MN_IOMUXC_SD2_CD_B_USDHC2_CD_B 0x0 + /* usdhc2 signalling voltage pmic control */ + MX8MN_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x140 + >; + }; + + usdhc2_pins: pinctrl-usdhc2-grp { + fsl,pins =3D < + MX8MN_IOMUXC_SD2_CLK_USDHC2_CLK 0x190 + MX8MN_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d0 + MX8MN_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d0 + MX8MN_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d0 + MX8MN_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d0 + MX8MN_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d0 + MX8MN_IOMUXC_SD2_CD_B_USDHC2_CD_B 0x0 + /* usdhc2 signalling voltage pmic control */ + MX8MN_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x140 + >; + }; + + usdhc3_pins: pinctrl-usdhc3-grp { + fsl,pins =3D < + MX8MN_IOMUXC_NAND_WE_B_USDHC3_CLK 0x190 + MX8MN_IOMUXC_NAND_WP_B_USDHC3_CMD 0x1d0 + MX8MN_IOMUXC_NAND_DATA04_USDHC3_DATA0 0x1d0 + MX8MN_IOMUXC_NAND_DATA05_USDHC3_DATA1 0x1d0 + MX8MN_IOMUXC_NAND_DATA06_USDHC3_DATA2 0x1d0 + MX8MN_IOMUXC_NAND_DATA07_USDHC3_DATA3 0x1d0 + MX8MN_IOMUXC_NAND_RE_B_USDHC3_DATA4 0x1d0 + MX8MN_IOMUXC_NAND_CE2_B_USDHC3_DATA5 0x1d0 + MX8MN_IOMUXC_NAND_CE3_B_USDHC3_DATA6 0x1d0 + MX8MN_IOMUXC_NAND_CLE_USDHC3_DATA7 0x1d0 + MX8MN_IOMUXC_NAND_CE1_B_USDHC3_STROBE 0x190 + >; + }; + + wdog1_pins: pinctrl-wdog1-grp { + fsl,pins =3D < + MX8MN_IOMUXC_GPIO1_IO02_WDOG1_WDOG_B 0x140 + >; + }; +}; + +/* Bluetooth */ +&uart1 { + assigned-clock-parents =3D <&clk IMX8MN_SYS_PLL1_80M>; + /* select 80MHz parent clock to support maximum baudrate 4Mbps */ + assigned-clocks =3D <&clk IMX8MN_CLK_UART1>; + pinctrl-0 =3D <&uart1_pins>; + pinctrl-names =3D "default"; + uart-has-rtscts; + status =3D "okay"; + + bluetooth { + compatible =3D "brcm,bcm4330-bt"; + device-wakeup-gpios =3D <&gpio2 7 GPIO_ACTIVE_HIGH>; + host-wakeup-gpios =3D <&gpio2 8 GPIO_ACTIVE_HIGH>; + max-speed =3D <3000000>; + shutdown-gpios =3D <&gpio2 6 GPIO_ACTIVE_HIGH>; + }; +}; + +/* console */ +&uart2 { + pinctrl-0 =3D <&uart2_pins>; + pinctrl-names =3D "default"; + status =3D "okay"; +}; + +/* RS485 */ +&uart3 { + pinctrl-0 =3D <&uart3_pins>; + pinctrl-names =3D "default"; + uart-has-rtscts; + fsl,dte-mode; + linux,rs485-enabled-at-boot-time; + status =3D "okay"; +}; + +/* 802.15.1 radio */ +&uart4 { + pinctrl-0 =3D <&uart4_pins &ieee802151_radio_pins>; + pinctrl-names =3D "default"; + status =3D "okay"; +}; + +&usbotg1 { + disable-over-current; + dr_mode =3D "host"; + vbus-supply =3D <®_usb1_vbus>; + status =3D "okay"; +}; + +/* WiFi */ +&usdhc1 { + bus-width =3D <4>; + mmc-pwrseq =3D <&usdhc1_pwrseq>; + pinctrl-0 =3D <&usdhc1_pins>; + pinctrl-names =3D "default"; + vmmc-supply =3D <®_vdd_3v3>; + vqmmc-supply =3D <®_vdd_1v8>; + status =3D "okay"; +}; + +/* microSD */ +&usdhc2 { + broken-cd; + bus-width =3D <4>; + pinctrl-0 =3D <&usdhc2_pins>; + pinctrl-1 =3D <&usdhc2_100mhz_pins>; + pinctrl-2 =3D <&usdhc2_200mhz_pins>; + pinctrl-names =3D "default", "state_100mhz", "state_200mhz"; + vmmc-supply =3D <®_usdhc2_vmmc>; + status =3D "okay"; +}; + +/* eMMC */ +&usdhc3 { + bus-width =3D <8>; + non-removable; + pinctrl-0 =3D <&usdhc3_pins>; + vmmc-supply =3D <®_vdd_3v3>; + vqmmc-supply =3D <®_vdd_1v8>; + /* + * Use lowest drive strength for all high-speed modes to minimise + * electro-magnetic emissions. + * In this particular design HS-400 still works okay, no extra + * pinctrl for 100mhz and 200mhz are required. + */ + pinctrl-names =3D "default"; + status =3D "okay"; +}; + +&wdog1 { + pinctrl-0 =3D <&wdog1_pins>; + pinctrl-names =3D "default"; + status =3D "okay"; +}; --=20 2.43.0 From nobody Thu Apr 2 23:55:37 2026 Received: from OSPPR02CU001.outbound.protection.outlook.com (mail-norwayeastazon11023088.outbound.protection.outlook.com [40.107.159.88]) (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 8432F394798; Fri, 13 Mar 2026 12:31:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.159.88 ARC-Seal: i=3; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773405099; cv=fail; b=c1PwZAhS/GqBQGGvnZC/jJiIK5van28kQt4YpsRl2KXi5EWw7P1xNHavAumV17O+/gjBLhfaNcr1VQpsJvNdvFNw1gr+mQ26FanYpjnK3sOos+o7YyOptSzwyaXzFYIsk8n5LhTEZedH/MG2bnXmKYJOsMGZB8cOeKgIsODJfHQ= ARC-Message-Signature: i=3; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773405099; c=relaxed/simple; bh=TvFKD9nClpgnB3+ysh5WktqdxY6mqF5kIBkKZoxFOMQ=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=Sz89e2A3cKiUwZ6EASDbBQnqyw5mXgvmyhGf1N/a4YdfsKvDXxMp/7aA1GlYz5M7APgmkHWTanTOtDSfwibmZX1bnVhePpZ37NoEmZOk/OvwCzr1Ayrw+8B/WS8A1E3JeLcAItuAifXAegCTaqTO6el8qepFeZVSKaUJYaXzP88= ARC-Authentication-Results: i=3; 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=NIqwU/nr; dkim=pass (1024-bit key) header.d=solidrn.onmicrosoft.com header.i=@solidrn.onmicrosoft.com header.b=NIqwU/nr; arc=fail smtp.client-ip=40.107.159.88 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="NIqwU/nr"; dkim=pass (1024-bit key) header.d=solidrn.onmicrosoft.com header.i=@solidrn.onmicrosoft.com header.b="NIqwU/nr" ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=Tys/51ERou+iTUfmfNJOTpSoSIXDnLkGefjH5Ra/As4F9hrUy1/IsXHiIPO5QHHOdswq1llZjEQW+VrVElE2EbV7hju7BF4M1r9su10OGO/yRIFx3eMyIWaFXXCORY58vwRGXnQ3+zkIdr7HHN8lEqahK5at9sK5YcSOIK+e7jM/3Jt2C2bKbW4yPcQENnvFUEh06JJU6FxOeFK3YrlNOUmX8GwZ2euAFKi1CTWIrECgOxGQvsTv5i83/BXy8dApAmA6CodsLOE1zHt/T6t8ighFFDaDW3IUR7kyQB/vLrAyenLPmjeyRdTOzXrFDF4PFc4WLCI8lKxFEGqMqqCTlg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=nWWtEfvtndFWm+Lm03ABYLL0Pe6DPrRLoOWQVmZxplY=; b=jiBlQzpaWVjxuLjHWwymVdgDGXaAFezFV82+9r/Xam6BehuclLH5VtMM2RVHILvYOCZVCMHuDuJ73HdfcuERIXt8MtxLH7kMH4j9al1aARI+Xlcv3MDxtVFgC4mOF1PQO6EOrGyTvnIKpfeApSe9NFGpSpj8wyHxrukHDF8W529YwLBuk4JLKhCFgGrQOW/n7dNwZv5lRdin8O9Bw3S4zFkWXXDcZ3wGAHTEoYeYcuF5YiQhWoTNYDGWrUesAsrWZcEGSy12vS8tR6uHjstAI/6slq738GBejXVsoZWgP+FUir2x5MBhLzudDbOksLTHu0FnTifw+7K+qhtVRjT24A== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=softfail (sender ip is 52.17.62.50) smtp.rcpttodomain=gmail.com smtp.mailfrom=solid-run.com; dmarc=fail (p=none sp=none pct=100) action=none header.from=solid-run.com; dkim=pass (signature was verified) header.d=solidrn.onmicrosoft.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=solid-run.com] dkim=[1,1,header.d=solid-run.com] dmarc=[1,1,header.from=solid-run.com]) 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=nWWtEfvtndFWm+Lm03ABYLL0Pe6DPrRLoOWQVmZxplY=; b=NIqwU/nrSqDLE5pv7P0ejjI/z2HTPy1i1D599V/b6KtTkfPz+StvV7D6GeZbK2DmRewkZYqd+007YpLoTmcz3nk96TbecGgHAupfy/uLf4yxG9g7aU5a4Ebg+oDIP5WgaV+1En7Cv5zLAeKHHuSUY/Z1jclCEI7evddbtZD42zE= Received: from AS4P195CA0029.EURP195.PROD.OUTLOOK.COM (2603:10a6:20b:5d6::19) by FRWPR04MB11200.eurprd04.prod.outlook.com (2603:10a6:d10:173::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9700.12; Fri, 13 Mar 2026 12:31:26 +0000 Received: from AM3PEPF00009B9F.eurprd04.prod.outlook.com (2603:10a6:20b:5d6:cafe::6a) by AS4P195CA0029.outlook.office365.com (2603:10a6:20b:5d6::19) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9678.29 via Frontend Transport; Fri, 13 Mar 2026 12:31:26 +0000 X-MS-Exchange-Authentication-Results: spf=softfail (sender IP is 52.17.62.50) smtp.mailfrom=solid-run.com; dkim=pass (signature was verified) header.d=solidrn.onmicrosoft.com;dmarc=fail action=none header.from=solid-run.com; Received-SPF: SoftFail (protection.outlook.com: domain of transitioning solid-run.com discourages use of 52.17.62.50 as permitted sender) Received: from eu-dlp.cloud-sec-av.com (52.17.62.50) by AM3PEPF00009B9F.mail.protection.outlook.com (10.167.16.24) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9700.17 via Frontend Transport; Fri, 13 Mar 2026 12:31:33 +0000 Received: from emails-7655272-12-mt-prod-cp-eu-2.checkpointcloudsec.com (ip-10-20-6-17.eu-west-1.compute.internal [10.20.6.17]) by mta-outgoing-dlp-141-mt-prod-cp-eu-2.checkpointcloudsec.com (Postfix) with ESMTPS id 3CC0380C56; Fri, 13 Mar 2026 12:31:33 +0000 (UTC) X-Mailbox-Line: From b'josua@solid-run.com' Fri Mar 13 12:31:24 2026 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=YNseX+diEp8khfEpWMXgUiR3odqpW0zAYzA6LvtptYcxYp4tBM08tz9GtuJ94YFVOjsIXtufgfpLFb3dCARCHXX/hWjZhfQDP2AoB/AYh1VyCLrKYXTAW9fvHOVcogmLdTNnx4EAipoZIPgMMnKNIW6Fgor9On8ZxKhd/CMZFEQmhB18IIRgsfpbmcbWz9W6tPqRZLRLLR8UgkfIVpJVQznIDYokbiFAgBQgJV077W6NxroxxMC772izNbwQ2GAJZDA1jb78iJnH+gLv/2LAE5VvYyDgQ0pr3cYqfwE8dHTyFW6kjB22yEDnF4c1fbflZZTatrPu2STOT2lDmJdXCg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=nWWtEfvtndFWm+Lm03ABYLL0Pe6DPrRLoOWQVmZxplY=; b=zKH44lJJhRv/fE5nZEO1ViRB9rAuibGDOLbGaIsxBJ3W1ElFjGBOCuUDNlobewJlC8WsTHgpp5qqwaIei/qL3jWuBq8n14foyo5oRCog7obSGtbYVE27sJL+t82ntjB4tMWS1hbeZymwOlQkMqVwTeR+uasx+GWuEwRcoyv+WI9kvssh66jGVCK+gpDoXRnER72SWe3ddUab6qnAlm5ImE/YFUDuJIVu1PPLs7dgCApNAsqVeMakvsCJYOObPMwDf6bBXn6UFriQXV66XdB4NPdj+VdtNq1ieBssEKKOQYVxIhvWjcjXj06kttDCu2ehUqzZWMuMlpKbYvkZN8Wa/g== 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=nWWtEfvtndFWm+Lm03ABYLL0Pe6DPrRLoOWQVmZxplY=; b=NIqwU/nrSqDLE5pv7P0ejjI/z2HTPy1i1D599V/b6KtTkfPz+StvV7D6GeZbK2DmRewkZYqd+007YpLoTmcz3nk96TbecGgHAupfy/uLf4yxG9g7aU5a4Ebg+oDIP5WgaV+1En7Cv5zLAeKHHuSUY/Z1jclCEI7evddbtZD42zE= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=solid-run.com; Received: from PAXPR04MB8749.eurprd04.prod.outlook.com (2603:10a6:102:21f::22) by PR3PR04MB7467.eurprd04.prod.outlook.com (2603:10a6:102:80::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9700.16; Fri, 13 Mar 2026 12:31:14 +0000 Received: from PAXPR04MB8749.eurprd04.prod.outlook.com ([fe80::d782:fbb2:be9a:43f1]) by PAXPR04MB8749.eurprd04.prod.outlook.com ([fe80::d782:fbb2:be9a:43f1%3]) with mapi id 15.20.9700.015; Fri, 13 Mar 2026 12:31:06 +0000 From: Josua Mayer Date: Fri, 13 Mar 2026 14:31:00 +0200 Subject: [PATCH v10 4/4] arm64: dts: add description for solidrun i.mx8mm som and evb Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260313-imx8mp-hb-iiot-v10-4-52b3084f2426@solid-run.com> References: <20260313-imx8mp-hb-iiot-v10-0-52b3084f2426@solid-run.com> In-Reply-To: <20260313-imx8mp-hb-iiot-v10-0-52b3084f2426@solid-run.com> To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Frank Li Cc: Mikhail Anikin , Yazan Shhady , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, Josua Mayer X-Mailer: b4 0.14.3 X-ClientProxiedBy: TL2P290CA0007.ISRP290.PROD.OUTLOOK.COM (2603:1096:950:2::9) To PAXPR04MB8749.eurprd04.prod.outlook.com (2603:10a6:102:21f::22) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: PAXPR04MB8749:EE_|PR3PR04MB7467:EE_|AM3PEPF00009B9F:EE_|FRWPR04MB11200:EE_ X-MS-Office365-Filtering-Correlation-Id: 2e5a209a-5feb-4b38-5d65-08de80fc762b X-CLOUD-SEC-AV-Info: solidrun,office365_emails,sent,inline X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0;ARA:13230040|7416014|376014|52116014|1800799024|366016|38350700014|56012099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info-Original: KaIudMe2XllIynGrbmLOuOePBqrdJysUaJBC7t3LZ3vDHgLBJgBD0MuLEWMqxnsuspx9cp35ZJjBxlR9CejfX5e7JVTXuSxof4Proj5ieVwDEVJ1oiu7XFasoJlWfBeujgpvMjHzjnUw3jAHNt6mmjwTZ1O1E/QKTKUqQwcbUFqMmBcPsriGrLrxGjUpW55Bl0jSG+QnH0GFWoGunH7gRtQuRG1W4w+hC7GX9cl65ZyCL7NJTO8r1cky9Z8dj0XaWD20fj2AWu9C2yISE5ZzxrYsYrr0wS998eMr5E/en+0Mj3jOdGVKN/0bdw6ZrekG+zWlaQQ7z4Tp8GivOAXBRcIW7jG5VBc+rrAaIn1U0Q30SlwPyVEiihWQIF1F5nm1NXyAS65d2qUWutP8p4+X7z/eNyAvkTrKJONlq7NjP1MyntWMmLILvMyuahu3fxn91ZrA8xha6NCPi4+Giy9INO7tbSVYe2k3/Ks+WiPddQ+OBvg4sCLnzsUJWDJ3tAtybh+E0/FUFpy+luZdF9IzQSQoPLTNs0D1JtBFJRv6abtXuhfszsFLN3GJhzvFQ+YTOxQP1CcOYaa5OQNFpyqfB2HxLyRu37icUMfFWUkPxW5UFbBZBDLUL7oTFPjvZ38HmNrj50Vdf91g6BUAaRWHlC+Ht8aqPcibqfWqlAt3pm+wQstlGlFhVoBZt66n4yfHwKj1a4Qg0TLYajxyNUwfANylQX851loCCvhmtfZE08T4/X1WjdRnOoQ74cvgs6Pp2GuLcvdQs2edGWKEYtRSitwAGNFgwMRTO1MqVm1MaoQ= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB8749.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(376014)(52116014)(1800799024)(366016)(38350700014)(56012099003)(18002099003)(22082099003);DIR:OUT;SFP:1102; X-Exchange-RoutingPolicyChecked: R9/PFGSklIqF4IKLXJPXpGmpl24/xt3S20GDRujUXZdllsBfKzh6lF/1A+z3c0WwwL6+dNnLDzG5hSqOXZeCy5rIIod+MlPH/JNUXgUpsA2oiEoUS2ctEjXZEKxATz4gbd3ngll0CxHstGNdAvzyLdnIum2TvNH90yAZm5zS646W6WNK3pkFOxLeYTM/u9TpQxUnDZ/7d6SYFESNF3WfAc2TYizWUz+MkS2DAxBHbYUAE88yzDWO6r6mB87hB6pMcuWF1fpucwvnCgr21sDmQOHU0ZpzCWRgA3Nimh4h3dAn/PGUGjkEKce4i5xqzGniA9l15vasZnVcVN19qBb4gg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR04MB7467 X-CLOUD-SEC-AV-INT-Relay: sent X-CLOUD-SEC-AV-UUID: de03d7435b1243c8b8cacef9dff9562a:solidrun,office365_emails,sent,inline:9289b2abfe3e9fc97e4b402e7c3b6b90 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM3PEPF00009B9F.eurprd04.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 1ccf316b-b885-4ee6-a1e4-08de80fc65ab X-Microsoft-Antispam: BCL:0;ARA:13230040|14060799003|36860700016|7416014|376014|1800799024|35042699022|82310400026|22082099003|18002099003|56012099003; X-Microsoft-Antispam-Message-Info: BudPEU7Nk6M4jMnezp/p3HK1erqj5YJIp50P5ozeY79sGMm7crILxt4M29joafpoZyYAbJiGSO4zBisTDN4NYJzX9j8Sk9nHXWYlMjk9pIcZFChzawO7rE/GvnFcitJPWrrXG8CVdp0aIzrVxfCHaVpXAQ2bZ3UcwtTGzhyY8t2xm/PmICMk/sBn3oLWErNZHv9pQ8H6Er+uQ4y9YYkkr34EcvCCvmo0qkoHqmAbaMQq3YTWBC071AyYMtqyC9hhvaAi/y4yDBVKOHw/QSG/y7SHT43Ak+hKZkjs2p0osdVbTcVfkFfdQsTuDBhys2fJ8zZfegVwj+ieIh701VKSJdRbs4PtHkQHb2RpTtfpyh4idg/II7sVZsJhIPux8Rvhz4Eoj6dlZQ5kNWrWRvRA+vVmAlThy5P50aOYtN47opAJuMUWNHmU9J6x4FFgjdqU/Sr/Y+QX8q4Zx+BJa3+dmV0EXZh78jhmgh1J8iY2Q/ZGCUocv4c9Qu1acaE4TJABJFxJX4gUeoGcfN8xaUz7WHYOWFILu2feboU7JOyOjjMl1+HLH59MVDUXivRqYeVj1o4b22hM8uIkDcYIKHXho8cNCDj4jVzR/g37Jrq/AdU6PM/VfjrPIP0s7boKoVAk4n+22VRXRYFPqttvTsqn/GndJWgt8cXas+EbtyLwBj9RXAJ84Dgq+JV+IXl/UWDILlehsIq5ziPM1OgxtjaJEedpYjEvBq7Y5Lz7uldRfg4YHM0s9hhCQveaYZunb7wOszxyAesfj8hR18utSr4KPg== X-Forefront-Antispam-Report: CIP:52.17.62.50;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:eu-dlp.cloud-sec-av.com;PTR:eu-dlp.cloud-sec-av.com;CAT:NONE;SFS:(13230040)(14060799003)(36860700016)(7416014)(376014)(1800799024)(35042699022)(82310400026)(22082099003)(18002099003)(56012099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: LaM/ryG+nyzDWGmPxyFOjWROUdto7D+IfEXPA6OofpcNpCLAekurlk3TdOWEzOXmnhLVFCDK6z/FfZowcwLI4+Bwf7VBNNWWWbPKFdtGxT7epLr/aUI29ENgUIhVAlS6oX8JyIxyDgFlR/pT3z3ocUrGwEtXx94ps94lPRp15ayf8eVD4M20cgfhd4RJ9GSxupqE3faSMSHqj0uI9tVqaCr13iOS+H9cNhNpUv3BsEIr+J0+C2h6SzCa1oioikmHnGX8tTpOioel4ykqxtdW1hdATZJGlHF45Y9olOtSLBrGs3++bHoHvJmNdG9uHDcydbYzR/op3vX9pOlkFrC36Fooq5bxZUwmGTKS8l8pniQQ/qvWGSNPv9+Bg6VPDxpC4Di5Qqes4VIjBjnWprEU0qeWhKbHh9QlM0v63EDnlvXwOiJ7ZAra0WnuxiTV1R2L X-OriginatorOrg: solid-run.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2026 12:31:33.5009 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 2e5a209a-5feb-4b38-5d65-08de80fc762b X-MS-Exchange-CrossTenant-Id: a4a8aaf3-fd27-4e27-add2-604707ce5b82 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=a4a8aaf3-fd27-4e27-add2-604707ce5b82;Ip=[52.17.62.50];Helo=[eu-dlp.cloud-sec-av.com] X-MS-Exchange-CrossTenant-AuthSource: AM3PEPF00009B9F.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: FRWPR04MB11200 Add description for the SolidRun i.MX8M Mini SoM on HummingBoard Ripple. The SoM features: - 1Gbps Ethernet with PHY - eMMC - 1/2GB DDR - NPU (assembly option) - WiFi + Bluetooth The HummingBoard Ripple features: - 2x USB-2.0 Type-A connector - 1Gbps RJ45 Ethernet with PoE - microSD connector - microHDMI connector - mpcie connector with USB-2.0 interface + SIM card holder - microUSB connector for console (using fdtdi chip) - RTC with backup battery Signed-off-by: Josua Mayer --- arch/arm64/boot/dts/freescale/Makefile | 2 + .../dts/freescale/imx8mm-hummingboard-ripple.dts | 335 ++++++++++++++++++ arch/arm64/boot/dts/freescale/imx8mm-sr-som.dtsi | 393 +++++++++++++++++= ++++ 3 files changed, 730 insertions(+) diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/f= reescale/Makefile index 1ce4955cef0f..04bf4add08e8 100644 --- a/arch/arm64/boot/dts/freescale/Makefile +++ b/arch/arm64/boot/dts/freescale/Makefile @@ -126,6 +126,8 @@ imx8mm-evk-pcie-ep-dtbs +=3D imx8mm-evk.dtb imx-pcie0-e= p.dtbo imx8mm-evkb-pcie-ep-dtbs +=3D imx8mm-evkb.dtb imx-pcie0-ep.dtbo dtb-$(CONFIG_ARCH_MXC) +=3D imx8mm-evk-pcie-ep.dtb imx8mm-evkb-pcie-ep.dtb =20 +dtb-$(CONFIG_ARCH_MXC) +=3D imx8mm-hummingboard-ripple.dtb +DTC_FLAGS_imx8mm-hummingboard-ripple +=3D -@ dtb-$(CONFIG_ARCH_MXC) +=3D imx8mm-icore-mx8mm-ctouch2.dtb dtb-$(CONFIG_ARCH_MXC) +=3D imx8mm-icore-mx8mm-edimm2.2.dtb dtb-$(CONFIG_ARCH_MXC) +=3D imx8mm-iot-gateway.dtb diff --git a/arch/arm64/boot/dts/freescale/imx8mm-hummingboard-ripple.dts b= /arch/arm64/boot/dts/freescale/imx8mm-hummingboard-ripple.dts new file mode 100644 index 000000000000..18b58634d3c2 --- /dev/null +++ b/arch/arm64/boot/dts/freescale/imx8mm-hummingboard-ripple.dts @@ -0,0 +1,335 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright 2025 Josua Mayer + */ + +/dts-v1/; + +#include + +#include "imx8mm-sr-som.dtsi" + +/ { + compatible =3D "solidrun,imx8mm-hummingboard-ripple", + "solidrun,imx8mm-sr-som", "fsl,imx8mm"; + model =3D "SolidRun i.MX8MM HummingBoard Ripple"; + + aliases { + rtc0 =3D &carrier_rtc; + rtc1 =3D &snvs_rtc; + }; + + hdmi-connector { + compatible =3D "hdmi-connector"; + label =3D "hdmi"; + type =3D "c"; + + port { + hdmi_connector_in: endpoint { + remote-endpoint =3D <&adv7535_out>; + }; + }; + }; + + leds { + compatible =3D "gpio-leds"; + pinctrl-0 =3D <&led_pins>; + pinctrl-names =3D "default"; + + led-0 { + color =3D ; + default-state =3D "on"; + gpios =3D <&gpio5 29 GPIO_ACTIVE_LOW>; + label =3D "D30"; + }; + + led-1 { + color =3D ; + default-state =3D "on"; + gpios =3D <&gpio5 9 GPIO_ACTIVE_LOW>; + label =3D "D31"; + }; + + led-2 { + color =3D ; + default-state =3D "on"; + gpios =3D <&gpio5 8 GPIO_ACTIVE_LOW>; + label =3D "D32"; + }; + + led-3 { + color =3D ; + default-state =3D "on"; + gpios =3D <&gpio5 7 GPIO_ACTIVE_LOW>; + label =3D "D33"; + }; + + led-4 { + color =3D ; + default-state =3D "on"; + gpios =3D <&gpio5 6 GPIO_ACTIVE_LOW>; + label =3D "D34"; + }; + }; + + v_1_2: regulator-1-2 { + compatible =3D "regulator-fixed"; + regulator-name =3D "1v2"; + regulator-max-microvolt =3D <1200000>; + regulator-min-microvolt =3D <1200000>; + }; + + vmmc: regulator-mmc { + compatible =3D "regulator-fixed"; + regulator-name =3D "vmmc"; + pinctrl-0 =3D <&vmmc_pins>; + pinctrl-names =3D "default"; + regulator-max-microvolt =3D <3300000>; + regulator-min-microvolt =3D <3300000>; + startup-delay-us =3D <250>; + gpio =3D <&gpio2 19 GPIO_ACTIVE_LOW>; + }; + + vbus1: regulator-vbus-1 { + compatible =3D "regulator-fixed"; + regulator-name =3D "vbus1"; + pinctrl-0 =3D <&vbus1_pins>; + pinctrl-names =3D "default"; + regulator-max-microvolt =3D <5000000>; + regulator-min-microvolt =3D <5000000>; + gpio =3D <&gpio2 11 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + vbus2: regulator-vbus-2 { + compatible =3D "regulator-fixed"; + regulator-name =3D "vbus2"; + pinctrl-0 =3D <&vbus2_pins>; + pinctrl-names =3D "default"; + regulator-max-microvolt =3D <5000000>; + regulator-min-microvolt =3D <5000000>; + gpio =3D <&gpio4 21 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + rfkill-mpcie-wifi { + compatible =3D "rfkill-gpio"; + /* rfkill-gpio inverts internally */ + shutdown-gpios =3D <&gpio2 20 GPIO_ACTIVE_HIGH>; + label =3D "mpcie WiFi"; + pinctrl-0 =3D <&pcie_rfkill_pins>; + pinctrl-names =3D "default"; + radio-type =3D "wlan"; + }; +}; + +&i2c3 { + clock-frequency =3D <100000>; + pinctrl-0 =3D <&i2c3_pins>; + pinctrl-names =3D "default"; + status =3D "okay"; + + hdmi@3d { + compatible =3D "adi,adv7535"; + reg =3D <0x3d>, <0x3f>, <0x3c>, <0x38>; + reg-names =3D "main", "edid", "cec", "packet"; + interrupt-parent =3D <&gpio1>; + interrupts =3D <7 IRQ_TYPE_EDGE_FALLING>; + a2vdd-supply =3D <&v_1_8>; + avdd-supply =3D <&v_1_8>; + dvdd-supply =3D <&v_1_8>; + pd-gpios =3D <&gpio3 22 GPIO_ACTIVE_LOW>; + pinctrl-0 =3D <&hdmi_pins>; + pinctrl-names =3D "default"; + pvdd-supply =3D <&v_1_8>; + v3p3-supply =3D <&v_3_3>; + adi,dsi-lanes =3D <4>; + + ports { + #address-cells =3D <1>; + #size-cells =3D <0>; + + port@0 { + reg =3D <0>; + + adv7535_from_dsim: endpoint { + remote-endpoint =3D <&mipi_dsi_out>; + }; + }; + + port@1 { + reg =3D <1>; + + adv7535_out: endpoint { + remote-endpoint =3D <&hdmi_connector_in>; + }; + }; + }; + }; + + carrier_eeprom: eeprom@57 { + compatible =3D "st,24c02", "atmel,24c02"; + reg =3D <0x57>; + pagesize =3D <16>; + }; + + carrier_rtc: rtc@69 { + compatible =3D "abracon,ab1805"; + reg =3D <0x69>; + abracon,tc-diode =3D "schottky"; + abracon,tc-resistor =3D <3>; + }; +}; + +&iomuxc { + hdmi_pins: pinctrl-hdmi-grp { + fsl,pins =3D < + MX8MM_IOMUXC_GPIO1_IO07_GPIO1_IO7 0x0 + MX8MM_IOMUXC_SAI5_RXD1_GPIO3_IO22 0x0 + >; + }; + + i2c3_pins: pinctrl-i2c3-grp { + fsl,pins =3D < + MX8MM_IOMUXC_I2C3_SCL_I2C3_SCL 0x400001c3 + MX8MM_IOMUXC_I2C3_SDA_I2C3_SDA 0x400001c3 + >; + }; + + led_pins: pinctrl-led-grp { + fsl,pins =3D < + MX8MM_IOMUXC_UART4_TXD_GPIO5_IO29 0x0 + MX8MM_IOMUXC_ECSPI1_SS0_GPIO5_IO9 0x0 + MX8MM_IOMUXC_ECSPI1_MISO_GPIO5_IO8 0x0 + MX8MM_IOMUXC_ECSPI1_MOSI_GPIO5_IO7 0x0 + MX8MM_IOMUXC_ECSPI1_SCLK_GPIO5_IO6 0x0 + >; + }; + + pcie_rfkill_pins: pinctrl-pcie-rfkill-grp { + fsl,pins =3D < + MX8MM_IOMUXC_SD2_WP_GPIO2_IO20 0x0 + >; + }; + + usb_hub_pins: pinctrl-usb-hub-grp { + fsl,pins =3D < + MX8MM_IOMUXC_SAI3_RXD_GPIO4_IO30 0x0 + >; + }; + + usdhc2_100mhz_pins: pinctrl-usdhc2-100mhz-grp { + fsl,pins =3D < + MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK 0x194 + MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d4 + MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d4 + MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d4 + MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d4 + MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d4 + MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x140 + MX8MM_IOMUXC_SD2_CD_B_USDHC2_CD_B 0x0 + >; + }; + + usdhc2_200mhz_pins: pinctrl-usdhc2-100mhz-grp { + fsl,pins =3D < + MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK 0x196 + MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d6 + MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d6 + MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d6 + MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d6 + MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d6 + MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x140 + MX8MM_IOMUXC_SD2_CD_B_USDHC2_CD_B 0x0 + >; + }; + + usdhc2_pins: pinctrl-usdhc2-grp { + fsl,pins =3D < + MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK 0x190 + MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d0 + MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d0 + MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d0 + MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d0 + MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d0 + MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x140 + MX8MM_IOMUXC_SD2_CD_B_USDHC2_CD_B 0x0 + >; + }; + + vbus1_pins: pinctrl-vbus-1-grp { + fsl,pins =3D < + MX8MM_IOMUXC_SD1_STROBE_GPIO2_IO11 0x20 + >; + }; + + vbus2_pins: pinctrl-vbus-2-grp { + fsl,pins =3D < + MX8MM_IOMUXC_SAI2_RXFS_GPIO4_IO21 0x20 + >; + }; + + vmmc_pins: pinctrl-vmmc-grp { + fsl,pins =3D < + MX8MM_IOMUXC_SD2_RESET_B_GPIO2_IO19 0x41 + >; + }; +}; + +&lcdif { + status =3D "okay"; +}; + +&mipi_dsi { + samsung,esc-clock-frequency =3D <10000000>; + status =3D "okay"; +}; + +&mipi_dsi_out { + remote-endpoint =3D <&adv7535_from_dsim>; +}; + +&usbotg1 { + dr_mode =3D "host"; + vbus-supply =3D <&vbus2>; + status =3D "okay"; +}; + +&usbotg2 { + #address-cells =3D <1>; + #size-cells =3D <0>; + dr_mode =3D "host"; + pinctrl-0 =3D <&usb_hub_pins>; + pinctrl-names =3D "default"; + vbus-supply =3D <&vbus1>; + status =3D "okay"; + + hub_2_0: hub@1 { + compatible =3D "usb4b4,6502", "usb4b4,6506"; + reg =3D <1>; + peer-hub =3D <&hub_3_0>; + reset-gpios =3D <&gpio4 30 GPIO_ACTIVE_LOW>; + vdd2-supply =3D <&v_3_3>; + vdd-supply =3D <&v_1_2>; + }; + + /* this device is not visible because host supports 2.0 only */ + hub_3_0: hub@2 { + compatible =3D "usb4b4,6500", "usb4b4,6504"; + reg =3D <2>; + peer-hub =3D <&hub_2_0>; + reset-gpios =3D <&gpio4 30 GPIO_ACTIVE_LOW>; + vdd2-supply =3D <&v_3_3>; + vdd-supply =3D <&v_1_2>; + }; +}; + +&usdhc2 { + bus-width =3D <4>; + pinctrl-0 =3D <&usdhc2_pins>; + pinctrl-1 =3D <&usdhc2_100mhz_pins>; + pinctrl-2 =3D <&usdhc2_200mhz_pins>; + pinctrl-names =3D "default", "state_100mhz", "state_200mhz"; + vmmc-supply =3D <&vmmc>; + status =3D "okay"; +}; diff --git a/arch/arm64/boot/dts/freescale/imx8mm-sr-som.dtsi b/arch/arm64/= boot/dts/freescale/imx8mm-sr-som.dtsi new file mode 100644 index 000000000000..8d0249f1e92d --- /dev/null +++ b/arch/arm64/boot/dts/freescale/imx8mm-sr-som.dtsi @@ -0,0 +1,393 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright 2025 Josua Mayer + */ + +#include + +#include "imx8mm.dtsi" + +/ { + compatible =3D "solidrun,imx8mm-sr-som", "fsl,imx8mm"; + model =3D "SolidRun i.MX8MM SoM"; + + chosen { + bootargs =3D "earlycon=3Dec_imx6q,0x30890000,115200"; + stdout-path =3D &uart2; + }; + + v_1_8: regulator-1-8 { + compatible =3D "regulator-fixed"; + regulator-name =3D "1v8"; + regulator-max-microvolt =3D <1800000>; + regulator-min-microvolt =3D <1800000>; + }; + + v_3_3: regulator-3-3 { + compatible =3D "regulator-fixed"; + regulator-name =3D "3v3"; + regulator-max-microvolt =3D <3300000>; + regulator-min-microvolt =3D <3300000>; + }; + + usdhc1_pwrseq: usdhc1-pwrseq { + compatible =3D "mmc-pwrseq-simple"; + reset-gpios =3D <&gpio2 10 GPIO_ACTIVE_LOW>; + }; + + memory@40000000 { + reg =3D <0x0 0x40000000 0 0x80000000>; + device_type =3D "memory"; + }; +}; + +&fec1 { + phy =3D <&phy0>; + phy-mode =3D "rgmii-id"; + pinctrl-0 =3D <&fec1_pins>; + pinctrl-names =3D "default"; + status =3D "okay"; + + mdio { + #address-cells =3D <1>; + #size-cells =3D <0>; + + phy0: ethernet-phy@4 { + compatible =3D "ethernet-phy-ieee802.3-c22"; + reg =3D <0x4>; + phy-reset-duration =3D <10>; + reset-gpios =3D <&gpio4 22 GPIO_ACTIVE_LOW>; + vddio-supply =3D <&vddio>; + qca,smarteee-tw-us-1g =3D <24>; + + vddio: vddio-regulator { + regulator-max-microvolt =3D <1800000>; + regulator-min-microvolt =3D <1800000>; + }; + }; + }; +}; + +&i2c1 { + clock-frequency =3D <400000>; + pinctrl-0 =3D <&i2c1_pins>; + pinctrl-names =3D "default"; + status =3D "okay"; + + pmic@4b { + compatible =3D "rohm,bd71847"; + reg =3D <0x4b>; + interrupt-parent =3D <&gpio1>; + interrupts =3D <3 IRQ_TYPE_LEVEL_LOW>; + clocks =3D <&osc_32k>; + #clock-cells =3D <0>; + clock-output-names =3D "clk-32k-out"; + pinctrl-0 =3D <&pmic_pins>; + pinctrl-names =3D "default"; + rohm,reset-snvs-powered; + + regulators { + buck1_reg: BUCK1 { + regulator-name =3D "buck1"; + regulator-always-on; + regulator-boot-on; + regulator-max-microvolt =3D <1300000>; + regulator-min-microvolt =3D <700000>; + regulator-ramp-delay =3D <1250>; + }; + + buck2_reg: BUCK2 { + regulator-name =3D "buck2"; + regulator-always-on; + regulator-boot-on; + regulator-max-microvolt =3D <1300000>; + regulator-min-microvolt =3D <700000>; + regulator-ramp-delay =3D <1250>; + rohm,dvs-idle-voltage =3D <900000>; + rohm,dvs-run-voltage =3D <1000000>; + }; + + buck3_reg: BUCK3 { + // BUCK5 in datasheet + regulator-name =3D "buck3"; + regulator-always-on; + regulator-boot-on; + regulator-max-microvolt =3D <1350000>; + regulator-min-microvolt =3D <700000>; + }; + + buck4_reg: BUCK4 { + // BUCK6 in datasheet + regulator-name =3D "buck4"; + regulator-always-on; + regulator-boot-on; + regulator-max-microvolt =3D <3300000>; + regulator-min-microvolt =3D <3000000>; + }; + + buck5_reg: BUCK5 { + // BUCK7 in datasheet + regulator-name =3D "buck5"; + regulator-always-on; + regulator-boot-on; + regulator-max-microvolt =3D <1995000>; + regulator-min-microvolt =3D <1605000>; + }; + + buck6_reg: BUCK6 { + // BUCK8 in datasheet + regulator-name =3D "buck6"; + regulator-always-on; + regulator-boot-on; + regulator-max-microvolt =3D <1400000>; + regulator-min-microvolt =3D <800000>; + }; + + ldo1_reg: LDO1 { + regulator-name =3D "ldo1"; + regulator-always-on; + regulator-boot-on; + regulator-max-microvolt =3D <3300000>; + regulator-min-microvolt =3D <1600000>; + }; + + ldo2_reg: LDO2 { + regulator-name =3D "ldo2"; + regulator-always-on; + regulator-boot-on; + regulator-max-microvolt =3D <900000>; + regulator-min-microvolt =3D <800000>; + }; + + ldo3_reg: LDO3 { + regulator-name =3D "ldo3"; + regulator-always-on; + regulator-boot-on; + regulator-max-microvolt =3D <3300000>; + regulator-min-microvolt =3D <1800000>; + }; + + ldo4_reg: LDO4 { + regulator-name =3D "ldo4"; + regulator-always-on; + regulator-boot-on; + regulator-max-microvolt =3D <1800000>; + regulator-min-microvolt =3D <900000>; + }; + + ldo6_reg: LDO6 { + regulator-name =3D "ldo6"; + regulator-always-on; + regulator-boot-on; + regulator-max-microvolt =3D <1800000>; + regulator-min-microvolt =3D <900000>; + }; + }; + }; + + som_eeprom: eeprom@50 { + compatible =3D "st,24c01", "atmel,24c01"; + reg =3D <0x50>; + pagesize =3D <16>; + }; +}; + +&iomuxc { + fec1_pins: pinctrl-fec1-grp { + fsl,pins =3D < + MX8MM_IOMUXC_ENET_MDC_ENET1_MDC 0x3 + MX8MM_IOMUXC_ENET_MDIO_ENET1_MDIO 0x3 + MX8MM_IOMUXC_ENET_TD3_ENET1_RGMII_TD3 0x1f + MX8MM_IOMUXC_ENET_TD2_ENET1_RGMII_TD2 0x1f + MX8MM_IOMUXC_ENET_TD1_ENET1_RGMII_TD1 0x1f + MX8MM_IOMUXC_ENET_TD0_ENET1_RGMII_TD0 0x1f + MX8MM_IOMUXC_ENET_RD3_ENET1_RGMII_RD3 0x91 + MX8MM_IOMUXC_ENET_RD2_ENET1_RGMII_RD2 0x91 + MX8MM_IOMUXC_ENET_RD1_ENET1_RGMII_RD1 0x91 + MX8MM_IOMUXC_ENET_RD0_ENET1_RGMII_RD0 0x91 + MX8MM_IOMUXC_ENET_TXC_ENET1_RGMII_TXC 0x1f + MX8MM_IOMUXC_ENET_RXC_ENET1_RGMII_RXC 0x91 + MX8MM_IOMUXC_ENET_RX_CTL_ENET1_RGMII_RX_CTL 0x91 + MX8MM_IOMUXC_ENET_TX_CTL_ENET1_RGMII_TX_CTL 0x1f + MX8MM_IOMUXC_SAI2_RXC_GPIO4_IO22 0x19 + >; + }; + + i2c1_pins: pinctrl-i2c1-grp { + fsl,pins =3D < + MX8MM_IOMUXC_I2C1_SCL_I2C1_SCL 0x400001c3 + MX8MM_IOMUXC_I2C1_SDA_I2C1_SDA 0x400001c3 + >; + }; + + pcie_pins: pinctrl-pcie-grp { + fsl,pins =3D < + MX8MM_IOMUXC_GPIO1_IO15_GPIO1_IO15 0x0 + >; + }; + + pmic_pins: pinctrl-pmic-grp { + fsl,pins =3D < + MX8MM_IOMUXC_GPIO1_IO03_GPIO1_IO3 0x140 + >; + }; + + uart1_pins: pinctrl-uart1-grp { + fsl,pins =3D < + MX8MM_IOMUXC_UART1_RXD_UART1_DCE_RX 0x140 + MX8MM_IOMUXC_UART1_TXD_UART1_DCE_TX 0x140 + MX8MM_IOMUXC_UART3_RXD_UART1_DCE_CTS_B 0x140 + MX8MM_IOMUXC_UART3_TXD_UART1_DCE_RTS_B 0x140 + /* BT_REG_ON */ + MX8MM_IOMUXC_SD1_DATA4_GPIO2_IO6 0x0 + /* BT_WAKE_DEV */ + MX8MM_IOMUXC_SD1_DATA5_GPIO2_IO7 0x0 + /* BT_WAKE_HOST */ + MX8MM_IOMUXC_SD1_DATA6_GPIO2_IO8 0x100 + >; + }; + + uart2_pins: pinctrl-uart2-grp { + fsl,pins =3D < + MX8MM_IOMUXC_UART2_RXD_UART2_DCE_RX 0x140 + MX8MM_IOMUXC_UART2_TXD_UART2_DCE_TX 0x140 + >; + }; + + usdhc1_pins: pinctrl-usdhc1-grp { + fsl,pins =3D < + MX8MM_IOMUXC_SD1_CLK_USDHC1_CLK 0x190 + MX8MM_IOMUXC_SD1_CMD_USDHC1_CMD 0x1d0 + MX8MM_IOMUXC_SD1_DATA0_USDHC1_DATA0 0x1d0 + MX8MM_IOMUXC_SD1_DATA1_USDHC1_DATA1 0x1d0 + MX8MM_IOMUXC_SD1_DATA2_USDHC1_DATA2 0x1d0 + MX8MM_IOMUXC_SD1_DATA3_USDHC1_DATA3 0x1d0 + /* wifi refclk */ + MX8MM_IOMUXC_GPIO1_IO00_ANAMIX_REF_CLK_32K 0x0 + /* WL_REG_ON */ + MX8MM_IOMUXC_SD1_RESET_B_GPIO2_IO10 0x0 + /* WL_WAKE_HOST */ + MX8MM_IOMUXC_SD1_DATA7_GPIO2_IO9 0x100 + >; + }; + + usdhc3_100mhz_pins: pinctrl-usdhc3-100mhz-grp { + fsl,pins =3D < + MX8MM_IOMUXC_NAND_WE_B_USDHC3_CLK 0x194 + MX8MM_IOMUXC_NAND_WP_B_USDHC3_CMD 0x1d4 + MX8MM_IOMUXC_NAND_DATA04_USDHC3_DATA0 0x1d4 + MX8MM_IOMUXC_NAND_DATA05_USDHC3_DATA1 0x1d4 + MX8MM_IOMUXC_NAND_DATA06_USDHC3_DATA2 0x1d4 + MX8MM_IOMUXC_NAND_DATA07_USDHC3_DATA3 0x1d4 + MX8MM_IOMUXC_NAND_RE_B_USDHC3_DATA4 0x1d4 + MX8MM_IOMUXC_NAND_CE2_B_USDHC3_DATA5 0x1d4 + MX8MM_IOMUXC_NAND_CE3_B_USDHC3_DATA6 0x1d4 + MX8MM_IOMUXC_NAND_CLE_USDHC3_DATA7 0x1d4 + MX8MM_IOMUXC_NAND_CE1_B_USDHC3_STROBE 0x194 + >; + }; + + usdhc3_200mhz_pins: pinctrl-usdhc3-200mhz-grp { + fsl,pins =3D < + MX8MM_IOMUXC_NAND_WE_B_USDHC3_CLK 0x196 + MX8MM_IOMUXC_NAND_WP_B_USDHC3_CMD 0x1d6 + MX8MM_IOMUXC_NAND_DATA04_USDHC3_DATA0 0x1d6 + MX8MM_IOMUXC_NAND_DATA05_USDHC3_DATA1 0x1d6 + MX8MM_IOMUXC_NAND_DATA06_USDHC3_DATA2 0x1d6 + MX8MM_IOMUXC_NAND_DATA07_USDHC3_DATA3 0x1d6 + MX8MM_IOMUXC_NAND_RE_B_USDHC3_DATA4 0x1d6 + MX8MM_IOMUXC_NAND_CE2_B_USDHC3_DATA5 0x1d6 + MX8MM_IOMUXC_NAND_CE3_B_USDHC3_DATA6 0x1d6 + MX8MM_IOMUXC_NAND_CLE_USDHC3_DATA7 0x1d6 + MX8MM_IOMUXC_NAND_CE1_B_USDHC3_STROBE 0x196 + >; + }; + + usdhc3_pins: pinctrl-usdhc3-grp { + fsl,pins =3D < + MX8MM_IOMUXC_NAND_WE_B_USDHC3_CLK 0x190 + MX8MM_IOMUXC_NAND_WP_B_USDHC3_CMD 0x1d0 + MX8MM_IOMUXC_NAND_DATA04_USDHC3_DATA0 0x1d0 + MX8MM_IOMUXC_NAND_DATA05_USDHC3_DATA1 0x1d0 + MX8MM_IOMUXC_NAND_DATA06_USDHC3_DATA2 0x1d0 + MX8MM_IOMUXC_NAND_DATA07_USDHC3_DATA3 0x1d0 + MX8MM_IOMUXC_NAND_RE_B_USDHC3_DATA4 0x1d0 + MX8MM_IOMUXC_NAND_CE2_B_USDHC3_DATA5 0x1d0 + MX8MM_IOMUXC_NAND_CE3_B_USDHC3_DATA6 0x1d0 + MX8MM_IOMUXC_NAND_CLE_USDHC3_DATA7 0x1d0 + MX8MM_IOMUXC_NAND_CE1_B_USDHC3_STROBE 0x190 + >; + }; + + wdog1_pins: pinctrl-wdog1-grp { + fsl,pins =3D < + MX8MM_IOMUXC_GPIO1_IO02_WDOG1_WDOG_B 0x140 + >; + }; +}; + +/* assembly-option for AI accelerator on SoM, otherwise routed to carrier = */ +&pcie0 { + pinctrl-0 =3D <&pcie_pins>; + pinctrl-names =3D "default"; + reset-gpios =3D <&gpio1 15 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; + status =3D "okay"; +}; + +&pcie_phy { + fsl,clkreq-unsupported; + fsl,refclk-pad-mode =3D ; + status =3D "okay"; +}; + +&uart1 { + /* select 80MHz parent clock to support maximum baudrate 4Mbps */ + assigned-clock-parents =3D <&clk IMX8MM_SYS_PLL1_80M>; + assigned-clocks =3D <&clk IMX8MM_CLK_UART1>; + pinctrl-0 =3D <&uart1_pins>; + pinctrl-names =3D "default"; + uart-has-rtscts; + status =3D "okay"; + + bluetooth { + compatible =3D "brcm,bcm4330-bt"; + device-wakeup-gpios =3D <&gpio2 7 GPIO_ACTIVE_HIGH>; + host-wakeup-gpios =3D <&gpio2 8 GPIO_ACTIVE_HIGH>; + max-speed =3D <3000000>; + shutdown-gpios =3D <&gpio2 6 GPIO_ACTIVE_HIGH>; + }; +}; + +&uart2 { + pinctrl-0 =3D <&uart2_pins>; + pinctrl-names =3D "default"; + status =3D "okay"; +}; + +&usdhc1 { + bus-width =3D <4>; + mmc-pwrseq =3D <&usdhc1_pwrseq>; + pinctrl-0 =3D <&usdhc1_pins>; + pinctrl-names =3D "default"; + vmmc-supply =3D <&v_3_3>; + vqmmc-supply =3D <&v_1_8>; + status =3D "okay"; +}; + +&usdhc3 { + bus-width =3D <8>; + non-removable; + pinctrl-0 =3D <&usdhc3_pins>; + pinctrl-1 =3D <&usdhc3_100mhz_pins>; + pinctrl-2 =3D <&usdhc3_200mhz_pins>; + pinctrl-names =3D "default", "state_100mhz", "state_200mhz"; + vmmc-supply =3D <&v_3_3>; + vqmmc-supply =3D <&v_1_8>; + status =3D "okay"; +}; + +&wdog1 { + pinctrl-0 =3D <&wdog1_pins>; + pinctrl-names =3D "default"; + status =3D "okay"; +}; --=20 2.43.0