From nobody Fri Apr 3 01:29:34 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