From patchwork Mon Apr 12 12:12:30 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Peng Fan \(OSS\)" X-Patchwork-Id: 419534 Delivered-To: patch@linaro.org Received: by 2002:a02:c4d2:0:0:0:0:0 with SMTP id h18csp1658611jaj; Mon, 12 Apr 2021 04:41:46 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyD/9BWHW9UN9l+CBbIpu9XAalxygSdCCwV3uSNjWLCLvwCC0cgP05WZkU3yJWjBqaj2h++ X-Received: by 2002:a17:906:86c1:: with SMTP id j1mr27712784ejy.373.1618227705928; Mon, 12 Apr 2021 04:41:45 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1618227705; cv=pass; d=google.com; s=arc-20160816; b=N0QQLY70tQTr5mFq36Tmmsm866jDdmbmzzxKaKpNln7SpOaAfIPQzz3KLez6gCRHeA obelE770Fk7hmkTi7jqXxK7D7RromJgy2BpvXtBUqsWoqqfwHIB5FuhsqCp4QoB0dtOJ 7F3R/XsMnuRcYEk5TYLUlVu/wQEzm4zbg1GSbouxFE+GyoW6Yy5EqcKUgPEJ5GHcz0RN x9oPartr/Ma8YX97ImFUG3EKemHrTBGhWCgh163VJ4Ey4WnbupiOTQVJwYK1OKkJ4hMm vQGVlUJQkKfGbQkooE6n5hb3Lm/bfiFQ+C07LshnoMmKRwO5vT0KuuyF2fxW7jnLL4T2 7t2A== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:mime-version :content-transfer-encoding:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature; bh=VbkeTH/ZBAzW5MQBcIn94IQ8M4XYozg72max6yX7fs4=; b=AmTF8kJgQk78DlsnbjGPEWOuUBs2nHjVZEbznvot/8I0fjTYMiPUVtjftq2unSUUK/ krVvaDoskWK7U1KvJn2Vijv+o0uQRA9Zu+/wM4IYO24bQ2aROUn/jhnR9Zp0BP8BTAf8 p4r/iUTJFPaiVCQIk2omeR1+lsb7C0eSzcf/SgfOW6IxfCldtn+/9YxThurrRMWQ2gx2 WOD+AxASolpZAB1ahMbBroa0RJNfiKc2iVe0GwWvZIRsoIBBHEOqNsmYQBiA7qL+7kGp Ion8ruqEmc20eRvDgTAE0gt0ycKfTFxnTEn37cgPqNNFBbEYdBSplweBUCOCoQ7jmxRh L7VQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@NXP1.onmicrosoft.com header.s=selector2-NXP1-onmicrosoft-com header.b=K+pq2geP; arc=pass (i=1 spf=pass spfdomain=oss.nxp.com dkim=pass dkdomain=oss.nxp.com dmarc=pass fromdomain=oss.nxp.com); spf=pass (google.com: domain of u-boot-bounces@lists.denx.de designates 2a01:238:438b:c500:173d:9f52:ddab:ee01 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Return-Path: Received: from phobos.denx.de (phobos.denx.de. [2a01:238:438b:c500:173d:9f52:ddab:ee01]) by mx.google.com with ESMTPS id ka21si7506513ejc.323.2021.04.12.04.41.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Apr 2021 04:41:45 -0700 (PDT) Received-SPF: pass (google.com: domain of u-boot-bounces@lists.denx.de designates 2a01:238:438b:c500:173d:9f52:ddab:ee01 as permitted sender) client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; Authentication-Results: mx.google.com; dkim=pass header.i=@NXP1.onmicrosoft.com header.s=selector2-NXP1-onmicrosoft-com header.b=K+pq2geP; arc=pass (i=1 spf=pass spfdomain=oss.nxp.com dkim=pass dkdomain=oss.nxp.com dmarc=pass fromdomain=oss.nxp.com); spf=pass (google.com: domain of u-boot-bounces@lists.denx.de designates 2a01:238:438b:c500:173d:9f52:ddab:ee01 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id A381581ED0; Mon, 12 Apr 2021 13:41:43 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=oss.nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="K+pq2geP"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id C153381ECA; Mon, 12 Apr 2021 13:41:39 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER,SPF_HELO_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from EUR03-AM5-obe.outbound.protection.outlook.com (mail-am5eur03on0606.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe08::606]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 194DD81ED0 for ; Mon, 12 Apr 2021 13:41:31 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=oss.nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=peng.fan@oss.nxp.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=M16QWijnBslwzMvYDGR+Y1VLhRyu+Cdqt4cqGJpyA+NQJZqvduhbSfdbUASgp82adNw1CNt74T3sgey9DLROboJEzF8koxRj0VM/zFKFNb+MW3W43Yt3byho+c+ACepTNeEbUY13zxsSs1VfOCu6fFD3Ocq2Z/DRoUYh0CCuAbsm4mbPcG0n+K1b9886/l5Me1jyZw3g6MRsRVfeoRGxuEahUy5zxy6I2VIMChmZHMUzJ6ZHduem6kVc1kHrjYnXw1cQk+pwDJpxpYXsVjM6cmr3xGI5r8sxpoDapMvSgT4+QHxFUySO/CwfPZZVtzAdeAk4Jvh+7aYIzuisygjegQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=VbkeTH/ZBAzW5MQBcIn94IQ8M4XYozg72max6yX7fs4=; b=H6Jcet3ZeYhrPgegNyE9qYboWG8oTUGBJCSbwrvTLxDlKYlC1AabuCNQ3m36BnvlIiH+9K3LG6L/iWTo9iMwi5XQqldL7y9k0wZSzipRGXZBdrRMf84c48O2jU664j7M/ulMn5DIDL0N4E9QP+LqqNtKnoKHKMBix5gEaQQOSene7zzUVmBBYWXVYKyS2Ip0LU9QHwiFS/dgw2z1lA3ZV4SHojEDQe8FXZzARp2vTbe3Vb/qCY3/WF+LnFV1j/v1v4ztKKfOJeMBNH8g6SdesOFJZ3NQ/Suz6RL1G3WCVCriORXcpZZwVI3JW7CBk4f8moNStB+FdHcD0BEEezNJUw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector2-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=VbkeTH/ZBAzW5MQBcIn94IQ8M4XYozg72max6yX7fs4=; b=K+pq2gePwpDHKqfqtYzs31slrL+/XB33hNy06ffqGzvq5usyxylT4zeLRUwe36Q/LUXEDFIDI5fgXvB6ITyFwrgOhx/f2JVVU8MaQNu2b1SqWo6/Fc25PVuHB8r6ahSFeiD+VKaVpBJ5FYStKfo/tvtK4Q9FBEryS5v6u0Qw1+o= Authentication-Results: denx.de; dkim=none (message not signed) header.d=none; denx.de; dmarc=none action=none header.from=oss.nxp.com; Received: from DB6PR0402MB2760.eurprd04.prod.outlook.com (2603:10a6:4:a1::14) by DBAPR04MB7223.eurprd04.prod.outlook.com (2603:10a6:10:1b0::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.17; Mon, 12 Apr 2021 11:41:29 +0000 Received: from DB6PR0402MB2760.eurprd04.prod.outlook.com ([fe80::c57a:6964:f72c:21cf]) by DB6PR0402MB2760.eurprd04.prod.outlook.com ([fe80::c57a:6964:f72c:21cf%11]) with mapi id 15.20.3999.032; Mon, 12 Apr 2021 11:41:29 +0000 From: "Peng Fan (OSS)" To: sbabic@denx.de, festevam@gmail.com Cc: u-boot@lists.denx.de, uboot-imx@nxp.com, Peng Fan Subject: [PATCH 01/37] arm: imx: add i.MX8ULP basic Kconfig option Date: Mon, 12 Apr 2021 20:12:30 +0800 Message-Id: <20210412121306.11484-2-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20210412121306.11484-1-peng.fan@oss.nxp.com> References: <20210412121306.11484-1-peng.fan@oss.nxp.com> X-Originating-IP: [119.31.174.71] X-ClientProxiedBy: HK2PR0401CA0009.apcprd04.prod.outlook.com (2603:1096:202:2::19) To DB6PR0402MB2760.eurprd04.prod.outlook.com (2603:10a6:4:a1::14) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from linux-1xn6.ap.freescale.net (119.31.174.71) by HK2PR0401CA0009.apcprd04.prod.outlook.com (2603:1096:202:2::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.16 via Frontend Transport; Mon, 12 Apr 2021 11:41:27 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 08fffc67-f816-43f2-6980-08d8fda7e998 X-MS-TrafficTypeDiagnostic: DBAPR04MB7223: X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:183; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: OmMnfRVgRR5PmA0adEEmaGAyYfKu0s+/TfP23Ctk8toX7DX1obkvgCs7k81q5xXggXIjtSbwkRltLDbhddEhOIy34WSfvEXCKCWK6sVrWYOh8HPvL80Anxvnocwp2LMx/m1JCjJ8I2h1K0bq+zIhH98NjcLsWYY1rqCmltlLjL0iNlNq3L6b9CQziuTh8jKsvtmCwaBFZ/t4B4hoINM+xhz07KTwwC0B/YwmqpnMhn+FVpZnSHdH/3sg9a8eDcItxNj8M1oJpGhS5PT/V+Mr7gHPgBhucw2IkOmS1xgWUEWBtvHVPzODaKAd3OPe5xQy7+rHeyZc47LvVzhxjZYcnhcWLSq2sVwluaw+mC0PwW2AClaqtc/ddEOBc5ZH4YjiwIVU8zm3MaOEvKCQp6AX29LIizWDL0ocRcBMYarpQ7zEayKtndk4JdV0Sx08EIe8q2w39GzoxtrKExMDr5XAT5ndXyCJZvP5+mLww94+F5F8CDvKafxddZ/uZ8kJAI2oNDVjLPDJOrRvNrbn3eJJN7s5SsDDcOG/sUQWnHl9tKLE7AZ7IZKMO2Ha/VpZ8aIh/bqBcRgEmqEpnZRoUdF0Cp7e89kq7d6W49GChOMQ6fXIaOR2e1RrzEhBbxymkbO52+j3cKDGImp55n0HTCAgptr71pBHabMixvepuFxS9kM= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB6PR0402MB2760.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(346002)(396003)(376002)(136003)(366004)(39860400002)(2616005)(26005)(1076003)(956004)(4326008)(38100700002)(2906002)(5660300002)(8676002)(16526019)(186003)(86362001)(66556008)(478600001)(6666004)(66946007)(66476007)(8936002)(316002)(6486002)(6512007)(38350700002)(52116002)(6506007); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: hycnZIP/OyRwxzdCzT/pzV46I7lYR6uX3AFQfne/aHbIjV/uJ3oQEouLsFmeU0cyULUZlp9Rsu24Sg71sOXG1R4zulqvkQkOwaiDZYLVpMU2CPn7K5MOn1yx4VJGBqypB7LfX98MLzPyJdjF/MRweNn2IyDZhDQaE4bFy0NIas+RrEUZHgFgmubsCQgloGA6XxH9TYqPsJRnnfPH9k0bYzREuW2o7ZuY1ZL3s4LF1a3k9g5BWSbPOgLqLA8fuSsXAVWLOCsrZSgniz10JulkloPDwYPUAcrl44ajgM8+3Rh14EN64cZvOu5RKgLLV+uWQeeNEj0FaNPpA4YFAyt/bEof/ShDpUDFfCHeJ2G+AkSLgg9yTxlEd0jSJlwm8ng6Z3h/6jqlkXw2Fjzqw0lCrKLRFLJdENTRFkbs9DfqZIV2gDMDpa0aPCrEU0rXhyLwmusL1cdF4oADMWySMUAm/3BdDH2uqzNqRs2dVY5sMuDtr573YFiNxPuk7rr1Zj9rpW++oOW9b2JswZ5kBb07ZDBe9rzPNOBYIYyEIWo26fOmetJHnlB0XWVB3Nw2YlGdfKO6P7KiKZD2pfoWkrCYwZ8VxhEQmqErlz8231A08ryNPtqmYXMyRVVgLvG7CaloWS9kTQkgZJ4hQZPr8KLzFb7rfywY11qT6ruwk1g0EDFqbaHRHUvlefHay+TktNsv8UluuOy3u0sIwF14WLQKQ/UawxiQ56olGaTCCfJOf3+DEGebquFni1QjXzfR73yv3juj7kD3WRsWZ5w1aVZOCCwNEI4noF+Ss009Pilh64wrRLUYEStxTrNe2bYGNkzg0TQwkwuzXORxqK/HWc3OSgOeVW93K+BnYRduPWx8KNi9VZ8jlDAp+nW4RmofqJi3opJpGFdggHtUbCARjjm8LUP2r6i9Gs/X+CP1EbSs8OYbx54udmKBSDwHvU+BODjQiBlQq8c0i1kESb1XtErv9x2bWmX2omg4orB8HW9/k3qf/z+e49AJrXC9b+/ri1STCOIYbsTWDhbY2t06Qy3HoT6shpEjN/ZsVg+t3o0EUvU8GuwQ0D18pT/qot5Pk0TWDE2P53/unvhoXLrEjobvTF5qPQylyTmrP+jLbkVi+zU1S1kLGaHV241rShgl2aUMw84uEmBCePAnTDNBcQ6/tbvDiv886yJCiCdH1wdtS/SDMnKA/lEYYve166rPQ1pYj/tU7KahfMjYqEojGD9WeBmhYfP/A5eOc4UpWnkVzykNA1jsv+4eaejNOtO9Oza1KjtqJWSNYpgU5AlB5LqbrybWJkRYZAQRA3AHivY1Tn6n10yLsnfTZ4ZSGwEo6x5l X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 08fffc67-f816-43f2-6980-08d8fda7e998 X-MS-Exchange-CrossTenant-AuthSource: DB6PR0402MB2760.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2021 11:41:29.5299 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: ne+8RpkH8eZ+GJTH0CVXXYTUWXj60xAoaE4/GVOEao5BPCS9eWy9bYOluKIXHSHpBm10mu4ygP2DWaDaukJfqA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR04MB7223 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.4 at phobos.denx.de X-Virus-Status: Clean From: Peng Fan Add i.MX8ULP related basic Kconfig option, which will be used later. Signed-off-by: Peng Fan --- arch/arm/Kconfig | 10 ++++++++++ arch/arm/mach-imx/imx8ulp/Kconfig | 16 ++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 arch/arm/mach-imx/imx8ulp/Kconfig -- 2.30.0 diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 76adf7fdb2..579a1b05a0 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -846,6 +846,14 @@ config ARCH_IMX8M select SUPPORT_SPL imply CMD_DM +config ARCH_IMX8ULP + bool "NXP i.MX8ULP platform" + select ARM64 + select DM + select OF_CONTROL + select SUPPORT_SPL + imply CMD_DM + config ARCH_IMXRT bool "NXP i.MXRT platform" select CPU_V7M @@ -1900,6 +1908,8 @@ source "arch/arm/mach-imx/imx8/Kconfig" source "arch/arm/mach-imx/imx8m/Kconfig" +source "arch/arm/mach-imx/imx8ulp/Kconfig" + source "arch/arm/mach-imx/imxrt/Kconfig" source "arch/arm/mach-imx/mxs/Kconfig" diff --git a/arch/arm/mach-imx/imx8ulp/Kconfig b/arch/arm/mach-imx/imx8ulp/Kconfig new file mode 100644 index 0000000000..167dbb3fb1 --- /dev/null +++ b/arch/arm/mach-imx/imx8ulp/Kconfig @@ -0,0 +1,16 @@ +if ARCH_IMX8ULP + +config IMX8ULP + bool + select ARMV8_SPL_EXCEPTION_VECTORS + +config SYS_SOC + default "imx8ulp" + +choice + prompt "i.MX8ULP board select" + optional + +endchoice + +endif From patchwork Mon Apr 12 12:12:31 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Peng Fan \(OSS\)" X-Patchwork-Id: 419536 Delivered-To: patch@linaro.org Received: by 2002:a02:c4d2:0:0:0:0:0 with SMTP id h18csp1658977jaj; Mon, 12 Apr 2021 04:42:18 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz6dA5731Q0scz7t3ubxlts3vfi1x53Kg8VzUiRwdwFXb/tq80Na+EHmP5NigWZO/d38RmP X-Received: by 2002:a17:906:6789:: with SMTP id q9mr27605440ejp.295.1618227738728; Mon, 12 Apr 2021 04:42:18 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1618227738; cv=pass; d=google.com; s=arc-20160816; b=fkByRjghchydWGTyGD/Ib9AMijuq07QlXkzo6rxb1TgZ9HNkPem3r4uzh5HbBkLc7J jZXxA8qbg2N4TPT3RRlyvdPnacVl8LGF1dnlQzkym2YqaovtZopiFjDUuPZrCcOjcGjB prbEaJfs18QPR/89+rn5X1t7xZxmRGNbD+q49cJbXBDy/0UO5DtauRM1mgHysHVGm0sn 2xxsTGunBDGfiHFbm9snUgF9lREL6Gm0R4bAKEWh6+v12qUne6eRGc048w70YAycgxfJ 6gYfw2XnEi8L9nUGvySaHz7qEwM+pARh/rbCDEFKZ6A3yPeknFv29NQVnJdN+z0GmQ7c c7jQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:mime-version :content-transfer-encoding:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature; bh=IdDqVEp8g/W33r18iWr0CW7quArIiByLBuOPy+2YQnU=; b=jwgVgGNDac4jeo4QyKl93BtNDKR9o88a396yk2jHooeyDHFRRpvlQ6aTXOHNsv/11w 7nwj6WWIJVuI2qG6LMiHCTQd1PUSh8omyeKjZmsLSwNvvZZLnWYjMgF1F2hiWvRCEt7V LMQaZMKFNtUhnsxzJhbAE7MtMaj+bTH8EEZkX8OB3y17FZl8l5Sp7If/Yp+6FUhO+rNc ccc64o7M6BA4obJ7rGzJZ53BjsEJxsIL5e1JFtus+2Bc7Oc303XPTn79Q9iX1EciLaR8 twdPA9hQhyvvZAlxVbYpLbzAIBvij/IsxmDtvy18+VZ1CGsOjZ7Stkhe5+badPOIkoLh SMMw== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@NXP1.onmicrosoft.com header.s=selector2-NXP1-onmicrosoft-com header.b=blWe4pgi; arc=pass (i=1 spf=pass spfdomain=oss.nxp.com dkim=pass dkdomain=oss.nxp.com dmarc=pass fromdomain=oss.nxp.com); spf=pass (google.com: domain of u-boot-bounces@lists.denx.de designates 85.214.62.61 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Return-Path: Received: from phobos.denx.de (phobos.denx.de. [85.214.62.61]) by mx.google.com with ESMTPS id hs11si8261656ejc.421.2021.04.12.04.42.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Apr 2021 04:42:18 -0700 (PDT) Received-SPF: pass (google.com: domain of u-boot-bounces@lists.denx.de designates 85.214.62.61 as permitted sender) client-ip=85.214.62.61; Authentication-Results: mx.google.com; dkim=pass header.i=@NXP1.onmicrosoft.com header.s=selector2-NXP1-onmicrosoft-com header.b=blWe4pgi; arc=pass (i=1 spf=pass spfdomain=oss.nxp.com dkim=pass dkdomain=oss.nxp.com dmarc=pass fromdomain=oss.nxp.com); spf=pass (google.com: domain of u-boot-bounces@lists.denx.de designates 85.214.62.61 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id D621481F86; Mon, 12 Apr 2021 13:42:11 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=oss.nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="blWe4pgi"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 4F67C81E81; Mon, 12 Apr 2021 13:41:43 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER,SPF_HELO_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from EUR03-AM5-obe.outbound.protection.outlook.com (mail-am5eur03on060a.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe08::60a]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id F122D81ED9 for ; Mon, 12 Apr 2021 13:41:32 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=oss.nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=peng.fan@oss.nxp.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JNCUompymKRbyiiwJriavBhfZUPhg2co7XvRB1k7NFaH78B461dVXMU69/c5Kri2LtJhRWE4QhdjVZ2DOnNmxI8I+zHOVJauj0Ki5E7B2j8C8pf+Ix6bUVSYVPFxu0aWq0Tz8E3DX6ReMcvrtO7sl+vnjh9PqSvvu0RiBtwsT77JQ5fuA4B44H2ZChbMe+lXHxDCv9Gmj6R+gqfOtHMYipVw8Gs518Rv1yczyzilAhViLxGOqTA2kyn7IFoP5eVm4MTr/WpDzZii0HSIOm+BmOVdQ0Xd/4gmNEY7XIYN7Vs2JYusXefS0auTnJXx7Rc3p4e6njDWTJlB4JN201Fgkw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=IdDqVEp8g/W33r18iWr0CW7quArIiByLBuOPy+2YQnU=; b=IcKv6yoKImGCWbupul3pDEP2pGxSbXZVQtbjNddoygnIt4MKd54ubzg4yhklYr2PPA3H5Nk3UaJU9ujvncZB7N0JTIGQ+h2n6+pG7zYyLTcJ/3FznCEp5YKnefF1W7i15q4tWV/2rg5B5Ad1YNVGRjDg9cIRYiBH8kYRsOCJk/mkkY2PLLmzLOcyMMrTum7ar665D9xNEG9ok6NCZZhKp+i3XADU9Rq3TWqR41k5VG0LBjK7GwGHSWra05qHGMudClI1INWDz8c2xq6sZq6pP+7kj74cCT4ON3DWFOUPMS8iI6v7H/VLouLO3jMa5YB0puA1aZxzBW5v+/IWSrLJig== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector2-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=IdDqVEp8g/W33r18iWr0CW7quArIiByLBuOPy+2YQnU=; b=blWe4pgiU8Qt92Ao7FtEvSIc1+t6X2sRki9XVPAsu3HVgbj0M8o0mrx2pyCyodVTEQy/Fi2iz8vmQ6oezFvV6WrKW49IAXK+9FZwfRLXvT+RlPYlyqrKHy3UbB4OBqdZRuDHIKOLhallBI5EaS34uITuPj7nng5vWFEkKogVW7w= Authentication-Results: denx.de; dkim=none (message not signed) header.d=none; denx.de; dmarc=none action=none header.from=oss.nxp.com; Received: from DB6PR0402MB2760.eurprd04.prod.outlook.com (2603:10a6:4:a1::14) by DBAPR04MB7223.eurprd04.prod.outlook.com (2603:10a6:10:1b0::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.17; Mon, 12 Apr 2021 11:41:31 +0000 Received: from DB6PR0402MB2760.eurprd04.prod.outlook.com ([fe80::c57a:6964:f72c:21cf]) by DB6PR0402MB2760.eurprd04.prod.outlook.com ([fe80::c57a:6964:f72c:21cf%11]) with mapi id 15.20.3999.032; Mon, 12 Apr 2021 11:41:31 +0000 From: "Peng Fan (OSS)" To: sbabic@denx.de, festevam@gmail.com Cc: u-boot@lists.denx.de, uboot-imx@nxp.com, Peng Fan Subject: [PATCH 02/37] arm: imx: add i.MX8ULP cpu type and helper Date: Mon, 12 Apr 2021 20:12:31 +0800 Message-Id: <20210412121306.11484-3-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20210412121306.11484-1-peng.fan@oss.nxp.com> References: <20210412121306.11484-1-peng.fan@oss.nxp.com> X-Originating-IP: [119.31.174.71] X-ClientProxiedBy: HK2PR0401CA0009.apcprd04.prod.outlook.com (2603:1096:202:2::19) To DB6PR0402MB2760.eurprd04.prod.outlook.com (2603:10a6:4:a1::14) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from linux-1xn6.ap.freescale.net (119.31.174.71) by HK2PR0401CA0009.apcprd04.prod.outlook.com (2603:1096:202:2::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.16 via Frontend Transport; Mon, 12 Apr 2021 11:41:30 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: fdb8455f-ceb4-4541-6366-08d8fda7eafc X-MS-TrafficTypeDiagnostic: DBAPR04MB7223: X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:243; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: BoviL1eFupuv/cCoNbr7Wr0ZnszM6MJoXZOejq6qMX9tPgYOwv34CvjSIIN2mFDhGHBaKKBX309sMYMpk6IZPBMJJ5Ea3l48TmhCWdcc6X/M4gV9di9QsO3jdHS2PZyEosHSEkyw89IAqOtcFr+ZXWx295+Aq453wO1et/VMehG1hzISQDhFN7uNgUUkRIvKoyHOU671uqEtLjaKOkUs8liSLwExq7Df7FiF03VGvrg0DYuHun5xnvhjVOz/wYapJIpRgjODq7d8EUMih9slhq7K47/AOOiGaBFm+P5qcE4kZaoqmo16iu2ksPH37gpsA7Ft7wyHxX5LaCwAYgAK1n5351sO3cV1pYFm3aODFphL99W21ZUvLkW5ZMk3maMqBoRQ6fC+9YqhKH1fBzsplni//5zvB+3yRzU2CduoMNTzE/y9xaHMYNrs1jUJYVdEU7kRQDlbjKWdp+/0zw5tuOS9OBgAspW15a0Dfu1QePSQw+yftKdA8ueJViRbWlAB5XgEds2XV+CxFHHwyvuqbJF+B9Z2dKLjLUaBaz5av6po0aPwUg0OxROJUr0cd5jeBdCcGWQ3wCu9dfUzEh9HRNm6bjA1YowjLeMzGuaICFjpGOVvLLYvqwyc+tYDF/i6Eiq1HTM8Clhj+4anz3BlU6vf6XR8rPL+9mVFQFsgOK4= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB6PR0402MB2760.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(346002)(396003)(376002)(136003)(366004)(39860400002)(2616005)(26005)(1076003)(956004)(4326008)(38100700002)(2906002)(5660300002)(8676002)(16526019)(186003)(86362001)(66556008)(478600001)(66946007)(66476007)(8936002)(316002)(6486002)(6512007)(38350700002)(52116002)(6506007); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: 7Qse7hHGAhiQRZB8ZfoRvg0BJtL9Gec5sSjcpPS9sW1cK+v/iSUd668fp7lSX1Z2KshcRLf9k2WeU5Dum4jBoIgXl+rpZL0blbHOdq5ibbKL+qZhHsz1CI6+8Ql1mrf32KlgW5SRiu7/Ln+G4yJHal3lc0q9nWxw4HSAxU1SJfppGhS9hOJi/qjN+KWtviQ8uQEcdyXal03PHTE3ZYStF517DtFkAWzcLJ1b/46/UkBc/CzeRExtpsuRw7J06zWxa2QMO9qbF9dIUnEf7Wb8sU5bKa0rYhwgZhOG20p4uxLufnPxJdqC6F0XRHnAIbC9iBeMT2DUiJIuIkqo0K3lKvj+e6nuBPPRE2Wjwemlojh+9f9bUsWS4lji6pj2V/kL3KV3a2eSdrqN1RDrxmSW+3yfRF0mfe7hnWQ93so9gT0/yRjexiLU+s3zjQ808stGYvgnMeskEtPCLlEaF88e7N/nvUe8Vwgv9+rnNHrCurfNDDMDtd4fO/E/trz+b8hakjoZGm06GtLXy2l5Q+I5z/49G9kmEGnMeqw9pmH6mIOyn0Z5aVOmlKYBRemZWrDbFEEmi4d4iwjCnnY9WfGRgYAX6MN5BJgoBtXdN7HHlfzxp5yvKM/perysj5ii36QguyVBZj/XXDciYaybf5XmbfHg3L3lFtJ9KAk5ao5jW0CEOb54UrgmkSDqooQ5a5R3uYd5UP0a7sah2j+x3fE/RszySL3C71KMKY2ITWTcwnLSYltucKJ9mkGR7Z8sy8L0kZefP4OBPoZfPcf8i4cLLGppAFzXSKdPCt8X8qVDefiD052+bmQFawR5QHDpW0nDxUjq31e15Q2N08gc4kArGBWoZFc3uOsHYIjiASXGvf7vL6Semb/EOXfNYdIFisRzaO4WrcLcfSDE/BQ/0zXvGZXQWFIp1wMOIws/SsJ/bvfNCjeq8EhNDzIKumxMYHERPAY/Esh2A+iH2LyETc9rTQ1ii/Ek2CSzJ+3PHNJWrXnNwtfHXTtvz7E4HlbIzRJrJgxQsaxepcFhSH/AsXHxg4UfRmOYHosVe1WFzdRJ9SOmpoM6iztd+ztZeWPeWmY5LbdhsDA3YWCtmhyWVQuYq/2sUcXMg96eisDk4Wti7G+DoS9UDiJBPUhWVDKj0l+yp1AWwMSmffrxUz3bxKQOLtKTmYuI/zZzL5CkOd3yd8neBCklYrysxYKG/uEtFxVl0HA7jB8KxDVcHmEQBBOjlkW34LeTdVSeQoUCOdCLkS9w7i+rqVpzQ4MTLoG/peKNAvgLXPfVQgPZnCuU9aKd9f59HS+kzQH6EZDD4pIOTNNicW04AU039wFZM9RkDsbW X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: fdb8455f-ceb4-4541-6366-08d8fda7eafc X-MS-Exchange-CrossTenant-AuthSource: DB6PR0402MB2760.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2021 11:41:31.8039 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: L1vEFcGBNygwKypYr+f4k6JCq1MK0JE5sb+mLAcZRnqz02dmVDc/TFeSmF6ocT7OaVBNwrksV2ZwjT0ZHBdgmQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR04MB7223 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.4 at phobos.denx.de X-Virus-Status: Clean From: Peng Fan Add i.MX8ULP cpu type and helpers. Signed-off-by: Peng Fan --- arch/arm/include/asm/arch-imx/cpu.h | 2 ++ arch/arm/include/asm/arch-imx8ulp/sys_proto.h | 11 +++++++++++ arch/arm/include/asm/mach-imx/sys_proto.h | 1 + arch/arm/mach-imx/imx8ulp/soc.c | 11 +++++++++++ 4 files changed, 25 insertions(+) create mode 100644 arch/arm/include/asm/arch-imx8ulp/sys_proto.h create mode 100644 arch/arm/mach-imx/imx8ulp/soc.c -- 2.30.0 diff --git a/arch/arm/include/asm/arch-imx/cpu.h b/arch/arm/include/asm/arch-imx/cpu.h index bb13e07b66..2969d1f9f9 100644 --- a/arch/arm/include/asm/arch-imx/cpu.h +++ b/arch/arm/include/asm/arch-imx/cpu.h @@ -50,6 +50,8 @@ #define MXC_CPU_IMX8QXP_A0 0x90 /* dummy ID */ #define MXC_CPU_IMX8QM 0x91 /* dummy ID */ #define MXC_CPU_IMX8QXP 0x92 /* dummy ID */ +#define MXC_CPU_IMX8ULP 0xA1 /* dummy ID */ + #define MXC_CPU_MX7ULP 0xE1 /* Temporally hard code */ #define MXC_CPU_VF610 0xF6 /* dummy ID */ diff --git a/arch/arm/include/asm/arch-imx8ulp/sys_proto.h b/arch/arm/include/asm/arch-imx8ulp/sys_proto.h new file mode 100644 index 0000000000..cab12c218e --- /dev/null +++ b/arch/arm/include/asm/arch-imx8ulp/sys_proto.h @@ -0,0 +1,11 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * Copyright 2021 NXP + */ + +#ifndef __ARCH_IMX8ULP_SYS_PROTO_H +#define __ARCH_NMX8ULP_SYS_PROTO_H + +#include + +#endif diff --git a/arch/arm/include/asm/mach-imx/sys_proto.h b/arch/arm/include/asm/mach-imx/sys_proto.h index c7668ffc4d..ea746ae6ee 100644 --- a/arch/arm/include/asm/mach-imx/sys_proto.h +++ b/arch/arm/include/asm/mach-imx/sys_proto.h @@ -50,6 +50,7 @@ struct bd_info; #define is_imx8md() (is_cpu_type(MXC_CPU_IMX8MD)) #define is_imx8mql() (is_cpu_type(MXC_CPU_IMX8MQL)) #define is_imx8qm() (is_cpu_type(MXC_CPU_IMX8QM)) +#define is_imx8ulp() (is_cpu_type(MXC_CPU_IMX8ULP)) #define is_imx8mm() (is_cpu_type(MXC_CPU_IMX8MM) || is_cpu_type(MXC_CPU_IMX8MML) ||\ is_cpu_type(MXC_CPU_IMX8MMD) || is_cpu_type(MXC_CPU_IMX8MMDL) || \ is_cpu_type(MXC_CPU_IMX8MMS) || is_cpu_type(MXC_CPU_IMX8MMSL)) diff --git a/arch/arm/mach-imx/imx8ulp/soc.c b/arch/arm/mach-imx/imx8ulp/soc.c new file mode 100644 index 0000000000..b3679aefcb --- /dev/null +++ b/arch/arm/mach-imx/imx8ulp/soc.c @@ -0,0 +1,11 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright 2021 NXP + */ + +#include + +u32 get_cpu_rev(void) +{ + return (MXC_CPU_IMX8ULP << 12) | CHIP_REV_1_0; +} From patchwork Mon Apr 12 12:12:32 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Peng Fan \(OSS\)" X-Patchwork-Id: 419538 Delivered-To: patch@linaro.org Received: by 2002:a02:c4d2:0:0:0:0:0 with SMTP id h18csp1659247jaj; Mon, 12 Apr 2021 04:42:47 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyeAfpSBhNXHZ/OY2A8RwhawDpcooxgGqLOTyPTH4Sd9H9SHTIxL7cnLWeDFgo+5EzKMOnP X-Received: by 2002:a17:906:c08f:: with SMTP id f15mr27080408ejz.318.1618227767219; Mon, 12 Apr 2021 04:42:47 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1618227767; cv=pass; d=google.com; s=arc-20160816; b=scIX/2eCXa6wWFzLF9+VqIwDr1ALUogFc3BKYlJLrOYHegZgbU9mRsmfpAyN732K9W WJ0R0dpcq455Aslj8unmiHtVaD0L0UABbdDtT4yiJk1pC6WffW9EkG+3nISqMG2sB7XC mU13XkCd4BpnCW0VHzUt6An9eWfatzloSLDPXXR1JQAOcUZ/6wYdhURBrTBJ7ShpIv7W +i2WNR05X3khorniC8zkDqKQgis0adUO0rdzqI8NOhSLgX29GHFnKdwwXyNlPaowK2el LIQ8W9bSdwHdWDSeKenqs+IYUTd4nJt5oa0xKnAhB12b0jPltM7kHQfVxe7biNFhNz5s VEuw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:mime-version :content-transfer-encoding:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature; bh=dbbE7zEZXbsnv5pTcxxXWw7UkLlH07d63Q5y9o/DOqY=; b=Plu8hx4Wnb9NqOM5PqCmybI1vdOrN8DPSBW/8R8NE9Vmi7LHpc97GYnflsexLPkphz j/OgdnuLWjkdzPSBXSSF44Wm9r4Y3/u9ZAVNZRx5vRf3dofUOeTId6+oat6gh2V5YcEf VHU+nfOg7XmFLxCRQmnZn49vxqhCSh0g1/FADhA3gwVrqgDIzVHcIgGf07n9iP4y5i1i Jex8hPlL6WqkxXDOsYa1EzXiT7dwQon3uurr8bP7te0LxSmF5dasa4pzpoeKPQZSNm78 MsciXUiKbAwCHS30zwlKjFPZdyscyK6Hk8NVp6GWe8XbpIV5ucwvrNSzZXGLWJfSqHzP 4cAg== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@NXP1.onmicrosoft.com header.s=selector2-NXP1-onmicrosoft-com header.b=RRcN63nH; arc=pass (i=1 spf=pass spfdomain=oss.nxp.com dkim=pass dkdomain=oss.nxp.com dmarc=pass fromdomain=oss.nxp.com); spf=pass (google.com: domain of u-boot-bounces@lists.denx.de designates 85.214.62.61 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Return-Path: Received: from phobos.denx.de (phobos.denx.de. [85.214.62.61]) by mx.google.com with ESMTPS id z1si7851681edc.76.2021.04.12.04.42.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Apr 2021 04:42:47 -0700 (PDT) Received-SPF: pass (google.com: domain of u-boot-bounces@lists.denx.de designates 85.214.62.61 as permitted sender) client-ip=85.214.62.61; Authentication-Results: mx.google.com; dkim=pass header.i=@NXP1.onmicrosoft.com header.s=selector2-NXP1-onmicrosoft-com header.b=RRcN63nH; arc=pass (i=1 spf=pass spfdomain=oss.nxp.com dkim=pass dkdomain=oss.nxp.com dmarc=pass fromdomain=oss.nxp.com); spf=pass (google.com: domain of u-boot-bounces@lists.denx.de designates 85.214.62.61 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 2DBCF81F8C; Mon, 12 Apr 2021 13:42:30 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=oss.nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="RRcN63nH"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 3054181F95; Mon, 12 Apr 2021 13:41:46 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER,SPF_HELO_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from EUR03-AM5-obe.outbound.protection.outlook.com (mail-am5eur03on0624.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe08::624]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 4A63C81F30 for ; Mon, 12 Apr 2021 13:41:35 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=oss.nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=peng.fan@oss.nxp.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gOWfcj+HvP8eagfMZ3TbXKuFA9ZmlE7311zog9u+uIJ7kAQEtuAW1IrmD21H8TIEu46FT+iSwRG+nsxEUn68d2B8sTn7/tDVeLRJ372bgbv8pFMI2kIBoxKycWmHA/i88fTwKe4yatNxEjy0ylYAKS0qqNi+470iDoCBWgo/bpFAOCcoHaUCuoEaqcdM/TbA5OOik9v4u0RCtT2hvTbzX54YLJZm0YLltdV9gYjujaSGg48zSAmBi/pEKZoRC6QWWLxbjBEeU10/l6UPuE7mfhebOSRFVRMk7DIjevSkpXd9qY0U0Pi8uzeI+gbHeud4MUGegh5AE6b8wYSSmURuyw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=dbbE7zEZXbsnv5pTcxxXWw7UkLlH07d63Q5y9o/DOqY=; b=MJh4TS/3VX2WlSXmiNWq/GmRp8vnMj7+MfxCw6Ue+wR/YLCK/G/Gzrhgb4FbliVhR0lFL+ZHm18CU4HzgZIKRve+zUnR6k481Thn9gR2Ih4ZHD0XLl4GYC5ryC2nOyVspzhOUvJhhHBc/brIDZFJiWlu63E1ReVSk7DGZcvsjM3ZjvGERuv6pKcg/oOe/EuoD+4QPQXzPTSUC39HN3Bm79EPB8+IWoe7Bw4L5Jvs0YlZQoCB27hYBgGo08Y+TMPvOZZQAHDUDRIDA4GejEQRWjKlw/WHy8PPRCANkZ0benLjjZW1GeDhT+aUW/K9ZXR2SJenynVVJCEeLOtTUgCSUA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector2-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=dbbE7zEZXbsnv5pTcxxXWw7UkLlH07d63Q5y9o/DOqY=; b=RRcN63nHqkLWQ6MLOWr2z/N2BOmswUXYSVd9P832pNTxzNMnJvHgLEQTa8Q8WKDpkfX/R096Bv1BBhx0xv0SAq9M+awj14/OcCChmFCqj6ujs0gLQaRx17h5oj4UUlC/aU67NSG6NhpVjqbgAMHhs4fkNccyYZnULg8LP1xx91A= Authentication-Results: denx.de; dkim=none (message not signed) header.d=none; denx.de; dmarc=none action=none header.from=oss.nxp.com; Received: from DB6PR0402MB2760.eurprd04.prod.outlook.com (2603:10a6:4:a1::14) by DBAPR04MB7223.eurprd04.prod.outlook.com (2603:10a6:10:1b0::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.17; Mon, 12 Apr 2021 11:41:34 +0000 Received: from DB6PR0402MB2760.eurprd04.prod.outlook.com ([fe80::c57a:6964:f72c:21cf]) by DB6PR0402MB2760.eurprd04.prod.outlook.com ([fe80::c57a:6964:f72c:21cf%11]) with mapi id 15.20.3999.032; Mon, 12 Apr 2021 11:41:34 +0000 From: "Peng Fan (OSS)" To: sbabic@denx.de, festevam@gmail.com Cc: u-boot@lists.denx.de, uboot-imx@nxp.com, Peng Fan Subject: [PATCH 03/37] arm: imx: sys_proto: move boot mode define to common header Date: Mon, 12 Apr 2021 20:12:32 +0800 Message-Id: <20210412121306.11484-4-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20210412121306.11484-1-peng.fan@oss.nxp.com> References: <20210412121306.11484-1-peng.fan@oss.nxp.com> X-Originating-IP: [119.31.174.71] X-ClientProxiedBy: HK2PR0401CA0009.apcprd04.prod.outlook.com (2603:1096:202:2::19) To DB6PR0402MB2760.eurprd04.prod.outlook.com (2603:10a6:4:a1::14) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from linux-1xn6.ap.freescale.net (119.31.174.71) by HK2PR0401CA0009.apcprd04.prod.outlook.com (2603:1096:202:2::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.16 via Frontend Transport; Mon, 12 Apr 2021 11:41:32 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: e80d5379-18ec-41d5-0b2d-08d8fda7ec59 X-MS-TrafficTypeDiagnostic: DBAPR04MB7223: X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:378; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: phP7hiUYUc8ZqiJWJgFze44e0aMptIv8Qd0j1wEUUFL46RXP2fSP6R1htLO0UOzVVWTOBHLwBV0lNFfU+35W7ygHIPAFeRDid5beuThrG68u1cswll2DVHMO2wGTVZ2utoecZQz5dMNriDxY2gFlMh4c39UgwAJwjLqYyRTHnNVIviPI7OTIfNNBzchuh4X0D2anGYUA2oWDTcH0G64GbtTQDV4qGGRhWQwsARrCJYu6m17w4N2zMj+t/JbEs9goB21iL/ZmrcXkG6byrccptitBIhguNeMGfmm2rtENAf2H0xcs5r7OgYIQDr8NABhfECa7tnjvwyiuWH4L3hzQoq+5BStKUJ/cvl6BmVZDnTZjwfaE2kfTJNWShDuGU+cqEkGnJbFcEqL+/n/FZst9BgVHI8SZE2NoJe1coDhASBCLdM0Rn66f09zLK739bQIUI2qr/CQ5FKrcy/ISB+X7RNnDXwDP8oZML6EemJ20/fei/6aRGB/rgL8n1fYTKXU4mSXE+fLrIMKPPD3jpf9u8F6HzPS5aLbdWkq+AdaXHMaC/51d5dwnexeMWNNnvg44UOTQnRV85zSk2K/XSoi3kMM2flGQGnRku9g1VotjfMfQZGK96aoE+RUgAw4l0c3NjKgcfIniuVuR3lSWRUNmFwJ+CWPRRW16UfmzZjywkFY= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB6PR0402MB2760.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(346002)(396003)(376002)(136003)(366004)(39860400002)(2616005)(26005)(1076003)(956004)(4326008)(38100700002)(2906002)(5660300002)(8676002)(16526019)(83380400001)(186003)(86362001)(66556008)(478600001)(66946007)(66476007)(8936002)(316002)(6486002)(6512007)(38350700002)(52116002)(6506007); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: r8ZoyyQPys0JXV6RVgyt+PN7FZ4oHs37zhLf23dowC3fXQLK9pC4BrQC2FCEGHKjkRvmku7+yowG8mOlff2/9HRu8oW2Yrsp6fGDHesKjPJ5xEX6JwQ1ebtZQhOZ2j8j9G05SS5gdTpBBKCGsoRHhD4UatKj6RpPwotn55pYHXxlNadWyeUHU08fvQbWIv5VsTXb3EE19N9BmzVCll6tWT+E+NbpO+C95QVShu4hhYul4dkagCizNWE/5p5RcTpo5HQsfWJIg8YOedIPlmMhza4WGITAMZ7V529OvetieAiDoxdZgIt4HsZ3R0McLUUHTFXzLPdMtKY7rP1G0EQ8SNoKQtkezoJFUPkfgZGn+VFWR5drjjIUhGWNHXXm8Qsb+nqqimsM6jlpR2kd+k/AfnhzPXu36ms3BY436SAFP65kUwft7+WlhX5Oo9M5TFbGwPCASTPjluSwESU6kTyxM3wrU6vAQ6m6Ha3s1BGZanFy7q0IxEHf7pMAy12T7gO3tt5cEsY7iDwlzv7uoQ42/xdqlb+XbvBigx81PMQMahRFT/XtUl5r83ydv32EL2NlW9MvBTD1txsZYgUscTRWzsOV6TamPkgzE2KNL5doq5+s43ScDKS27yB4aZOD49NLolg/CmMmH0+pNKG/Oc+U+/UbgOgVidjdtT7zuo359Jzd6URi3NB6TeIvH6cNFGq7jPYDDUcuBGgzUY6cGjONmMonHWvS6F85wJgTrwLMbldPTH02LGp5h4fizvMIi3MYlGv9agjYuAM9mlV2q/nTI00Ixz6v8XZVIRQGWzPVbEfZHztQ3u1Sq3Uw2PlZfVTSsM+R2MTtQDvqUFSFeKkPQ+AtlJQnvYTDTuMuuX9/QXJHSONrsstTz0sOasg+OD8Em6I0AxWRU6ui+FT/OClWtP73N2VZvxMjJGgAMsFhvzhnWSET2F85I8o4xBPqWr2I9EOn1y8Z1HzOlxdrs5jeWtFPtUxKUdThVT9tjANfNiIH3hm+dqkpb/2JtIFHsbSgmJuAyYylLbGbyGmdnaTcTwIS5IwNlNtxyuxRcPiHcACI9xBwbOPTkByx28KdyZhKlVa59XYlJydWF11V64pWyXa7K7NdqVzh6BKNbBB6LFM4pkiA4upYU2SqEZr1ozbQYUSBJuqH5XlHWnfdB84dsynmyZapx95/TPQZvuVXRxUPUBHkSwa/Unv+7bs+uOMEX241kZI/wJRfrZIrgENAp26/njwqyK7sBMHhhPm8p4M1lwmgqzdmf9RnKhACX8UcxnGt/GzId/Lyth5QQxddvBOupektlEw4OAYfvjunb76JNGqZe+dyWyJnLVf9qKTN X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: e80d5379-18ec-41d5-0b2d-08d8fda7ec59 X-MS-Exchange-CrossTenant-AuthSource: DB6PR0402MB2760.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2021 11:41:34.1058 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: lpF9VOlVQwjTQh98+YisNiELUZlwXsR8ERFYQwWDemU+YjSimjwtal3FaORlmyYI+msxrbg7IcIrHjMIrowGKw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR04MB7223 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.4 at phobos.denx.de X-Virus-Status: Clean From: Peng Fan These defines could be reused by i.MX8ULP, so move them to common header. Signed-off-by: Peng Fan --- arch/arm/include/asm/arch-mx7ulp/sys_proto.h | 9 --------- arch/arm/include/asm/mach-imx/sys_proto.h | 10 ++++++++++ 2 files changed, 10 insertions(+), 9 deletions(-) -- 2.30.0 diff --git a/arch/arm/include/asm/arch-mx7ulp/sys_proto.h b/arch/arm/include/asm/arch-mx7ulp/sys_proto.h index 0e4c8ad15d..0daa922fad 100644 --- a/arch/arm/include/asm/arch-mx7ulp/sys_proto.h +++ b/arch/arm/include/asm/arch-mx7ulp/sys_proto.h @@ -8,14 +8,5 @@ #include -#define BT0CFG_LPBOOT_MASK 0x1 -#define BT0CFG_DUALBOOT_MASK 0x2 - -enum bt_mode { - LOW_POWER_BOOT, /* LP_BT = 1 */ - DUAL_BOOT, /* LP_BT = 0, DUAL_BT = 1 */ - SINGLE_BOOT /* LP_BT = 0, DUAL_BT = 0 */ -}; - enum boot_device get_boot_device(void); #endif diff --git a/arch/arm/include/asm/mach-imx/sys_proto.h b/arch/arm/include/asm/mach-imx/sys_proto.h index ea746ae6ee..ac1ab48a31 100644 --- a/arch/arm/include/asm/mach-imx/sys_proto.h +++ b/arch/arm/include/asm/mach-imx/sys_proto.h @@ -174,6 +174,16 @@ enum boot_dev_type_e { extern struct rom_api *g_rom_api; #endif +/* For i.MX ULP */ +#define BT0CFG_LPBOOT_MASK 0x1 +#define BT0CFG_DUALBOOT_MASK 0x2 + +enum bt_mode { + LOW_POWER_BOOT, /* LP_BT = 1 */ + DUAL_BOOT, /* LP_BT = 0, DUAL_BT = 1 */ + SINGLE_BOOT /* LP_BT = 0, DUAL_BT = 0 */ +}; + u32 get_nr_cpus(void); u32 get_cpu_rev(void); u32 get_cpu_speed_grade_hz(void); From patchwork Mon Apr 12 12:12:33 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Peng Fan \(OSS\)" X-Patchwork-Id: 419537 Delivered-To: patch@linaro.org Received: by 2002:a02:c4d2:0:0:0:0:0 with SMTP id h18csp1659128jaj; Mon, 12 Apr 2021 04:42:33 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzur4V/gzfAtUuwSqI/QsBNr8ZRh4iaFR2/uaGqvFyaUOMMx7glC4WfeFxE5pJpLDYPlax1 X-Received: by 2002:a17:906:a286:: with SMTP id i6mr11344320ejz.135.1618227753408; Mon, 12 Apr 2021 04:42:33 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1618227753; cv=pass; d=google.com; s=arc-20160816; b=nrH7ypUx6PPgVpT1Ok1q+THoEJu8MFUlLikmR5cIOXpLqWII8PWzKxxkzvmhahkrLW i/mdHkBG5uo60BeTxcYdrGYp96LzZ8K0X9V5CS1TdlI17GYqsmGHdaRJizfVPu3TdP+P XeQAq94QwY9R4w+beTpohwwCUdVSkOuzhCtIu4oQIYCZEabAUSqIOeOsL9A+QTVDJWTW TAui60BFrIyio16rxYiduohguJGIWOo5nAuvQyrqsTX2AQogc8jv1+QytfGh1KetEMps 2H4MIswmWQQmo8PChZTqGLkRZ1Ci2P6/c4q2Cjb0ebLScbF56lt5+VeOPK0W1nxPXenV pWmw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:mime-version :content-transfer-encoding:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature; bh=kwM/VFGliySbjojaIhmHRZrB+Fn+jSbCK0ooRc0id4w=; b=cb58yeQHWBv7/xwbrIy3Ez2X0RwLZmq7m2ZeUwAtxi367mRHB+izgpq2BIWjLBLSwd QWX4xwOkWL9Mv7w+btWOBZ8isbRwyQxtYPDGMMU2IY1YYcdB8B+AOnlGCnmGTaYlQmdi aHv7KwulkOuPISnlxO9rQr93S+7aYvDwNpKD+hQFwMch63IcyDl5egcNc/DzoJ8zXNZ6 a6bSYSFRA5RgmBX01dbke9c2TqAtxknjEcnyJpJFWOD981NnWZSXl/hI3DBPS/jHwlZP x4AD5mbMQUVI6nImbLD61FFFSyWSbqKlJQe4kWJ4pwMZLtqlw88y+DBHPiEcAjlE5Ghr LyYQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@NXP1.onmicrosoft.com header.s=selector2-NXP1-onmicrosoft-com header.b=JesuKFyr; arc=pass (i=1 spf=pass spfdomain=oss.nxp.com dkim=pass dkdomain=oss.nxp.com dmarc=pass fromdomain=oss.nxp.com); spf=pass (google.com: domain of u-boot-bounces@lists.denx.de designates 2a01:238:438b:c500:173d:9f52:ddab:ee01 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Return-Path: Received: from phobos.denx.de (phobos.denx.de. [2a01:238:438b:c500:173d:9f52:ddab:ee01]) by mx.google.com with ESMTPS id k7si7000356edx.440.2021.04.12.04.42.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Apr 2021 04:42:33 -0700 (PDT) Received-SPF: pass (google.com: domain of u-boot-bounces@lists.denx.de designates 2a01:238:438b:c500:173d:9f52:ddab:ee01 as permitted sender) client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; Authentication-Results: mx.google.com; dkim=pass header.i=@NXP1.onmicrosoft.com header.s=selector2-NXP1-onmicrosoft-com header.b=JesuKFyr; arc=pass (i=1 spf=pass spfdomain=oss.nxp.com dkim=pass dkdomain=oss.nxp.com dmarc=pass fromdomain=oss.nxp.com); spf=pass (google.com: domain of u-boot-bounces@lists.denx.de designates 2a01:238:438b:c500:173d:9f52:ddab:ee01 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 6212381ED0; Mon, 12 Apr 2021 13:42:18 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=oss.nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="JesuKFyr"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 29CDB81E6D; Mon, 12 Apr 2021 13:41:47 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER,SPF_HELO_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from EUR03-AM5-obe.outbound.protection.outlook.com (mail-am5eur03on061b.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe08::61b]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id B8AEB81F63 for ; Mon, 12 Apr 2021 13:41:37 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=oss.nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=peng.fan@oss.nxp.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Qgr9tlo8sgYtHPWzAXP5JxZTvy5yFzb6wNk/qX6hGWRyUdRBtwF3XDOYY0cpMz7DZKRhZp6Rv+Rksyu2LMEXVLKTAiRFWC/Vm54KsdQsMg5bDXju2M9F/HiINpHtXVZJrDP2dQMilLy5DWMfFJT88BEeWBPpTsjJJK0P1y0ddD/nyq2h5dsw1kA7i9ZnX6fJvc23Qn7zVm22pH78VSpbLbWLE7h4peBj5DqxhHuLtiIiuvcc8pGxme+IXzrvAYNebvcIqwf7A2SHiU8igiqk2LRJ6Vex69/wFWGqb2XAwaOMXZdHvwd8s85d3nQgC4snZ7qb96MXccL4Ht5z8iXyIA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=kwM/VFGliySbjojaIhmHRZrB+Fn+jSbCK0ooRc0id4w=; b=lxrrUgACt+3iibMDxFsdzr1cJorFX7BHodaBxoOTDAm45F+vNvfQDDfGtrMR/0hXfX7tlAdKIxIxkH1QONd6UzGaGliC8tmld8aEgojaqm0mNpxyZRdat7Fprk4NNBgA4WjJ+MYptH/95Lm+J8kPmoOs3JEWPPWhAn6YZJtuoTFWHdYf+V3mPwyHw+pMCkHgYmyTZRciNc+vMU1duojmvkGEF59J2OJWREnDwsXjfUzX86XtgQrgxydi6NfaI2hLuQLgvUbNNCYgxzeel+sCcBaoZIeT3neaRDdhuBqOeVAVNLn43NwyjA6TruSiQ+yC2HK5v/+YXyhw7XzAF1uf4Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector2-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=kwM/VFGliySbjojaIhmHRZrB+Fn+jSbCK0ooRc0id4w=; b=JesuKFyrxEEmrirTyCLSwtA+tuKZsCKShbXvAU7HgZt8YVCk9gdfKBRpd7BALzOBoeoH+bfrkg23aML717G5lwgma866k9El4/RqtHUt5wu7hTdrfi7CO3SC0Ee68ZwDvpMCF03CEAu89Bsxm4cJV28glUhGl+v2p70r3XweusM= Authentication-Results: denx.de; dkim=none (message not signed) header.d=none; denx.de; dmarc=none action=none header.from=oss.nxp.com; Received: from DB6PR0402MB2760.eurprd04.prod.outlook.com (2603:10a6:4:a1::14) by DBAPR04MB7223.eurprd04.prod.outlook.com (2603:10a6:10:1b0::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.17; Mon, 12 Apr 2021 11:41:36 +0000 Received: from DB6PR0402MB2760.eurprd04.prod.outlook.com ([fe80::c57a:6964:f72c:21cf]) by DB6PR0402MB2760.eurprd04.prod.outlook.com ([fe80::c57a:6964:f72c:21cf%11]) with mapi id 15.20.3999.032; Mon, 12 Apr 2021 11:41:36 +0000 From: "Peng Fan (OSS)" To: sbabic@denx.de, festevam@gmail.com Cc: u-boot@lists.denx.de, uboot-imx@nxp.com, Peng Fan Subject: [PATCH 04/37] arm: imx8ulp: support print cpu info Date: Mon, 12 Apr 2021 20:12:33 +0800 Message-Id: <20210412121306.11484-5-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20210412121306.11484-1-peng.fan@oss.nxp.com> References: <20210412121306.11484-1-peng.fan@oss.nxp.com> X-Originating-IP: [119.31.174.71] X-ClientProxiedBy: HK2PR0401CA0009.apcprd04.prod.outlook.com (2603:1096:202:2::19) To DB6PR0402MB2760.eurprd04.prod.outlook.com (2603:10a6:4:a1::14) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from linux-1xn6.ap.freescale.net (119.31.174.71) by HK2PR0401CA0009.apcprd04.prod.outlook.com (2603:1096:202:2::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.16 via Frontend Transport; Mon, 12 Apr 2021 11:41:34 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 46dab2a8-6aef-4181-2c2f-08d8fda7edbd X-MS-TrafficTypeDiagnostic: DBAPR04MB7223: X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:5516; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 8d86/7Ar8YQ+jOGtY5om/BmFVmDjoslNB08+eHFR19RNnoIFKG7hsEnLhuerQyAHtFljViMJPpxjNOrkYd5WzFZZOyAVIv4UpXWSFjC8YRAbZSFjzJ46ngC8FrTOj0vQBK7XnLX24vw9fa2x1NCEDRbmk81GhytDrYFVIHofI2yMNkeMXoxuhLvGYuqWv1daeOxeahbJ0r2MQJHWFBXVRKEJl3DWaTxGhwgpd0+4WsgJYpQKp7R7IfutjgMqN5tDcs15dkmcFAdoiGT0Oz3FBxWvyfGuM0RGx3E3ZLcbezAOoCwHknrCF1vK/xpIyuqqj4G2RghBwlZCL11aHVkIv+JbduhU3iILPgca2QxhNqxu5fD4hGi9ClGXePdCoL2sY/K8JatAWnuqzgtKTR6Lz6yrUcTX4u5+NcPzz3rbTUOGQF9RPUmBEPMtzEDlJR7sAVUzLawPRlDTbAAcAdh/3nbf7Yy0VY7gYBr3mFJMV6afVb/cPSeilIRQswl7lEPU40AWUJ7X/Cf+M4EQlHSpedFAh3OhsjHvOsGWUuz+3RISRql0xKfWjaT48QSv6hdSzdnpJcZCqGpCkix9VxJAx/6dWmPmyms2CqX5zwZBrJ4Gq1aPIz1s5rlqz6NaQpJxTlm5l3ctGNcIwYa8+CtM5gWqIyz0/gM9YYtNPOReD/Oy8fbuwq1OhxJBpfXKfeVE X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB6PR0402MB2760.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(346002)(396003)(376002)(136003)(366004)(39860400002)(2616005)(26005)(1076003)(956004)(4326008)(38100700002)(2906002)(5660300002)(8676002)(16526019)(83380400001)(186003)(86362001)(66556008)(478600001)(66946007)(66476007)(8936002)(316002)(6486002)(6512007)(38350700002)(52116002)(6506007)(32563001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: SQFDwxGwjkMN3NlJ3iNARqQHr1NxRV2mTr6+UGGcMrOcjMeFG25rT1k2F0oydTN3vt4kumdw3PDcMox5ilse4n2aCHbcsqc0QOb/fwssjwDwa64/GxOUBI8HaL3X6nze/uH/yGhYN/RmLf17XTghcO+dWVn+YQ7uh4XqLmkLxDpT5AoMa0RAe9fiihgXQ/y5ETUtqEPik3JRnpiax/0WcLtPXu40scuO4f7qMXvQ2WUUg42BO71/xRQDUG8ME3ezZMsatlKCF8569lmTtkNx2qAk2u4WnOwp0y8WX6oiwvHBQSbFeAuBn1yhC4/Zr6Uz2tTg35wwd6Uxol6Ijkn1fJimccI6lErq9cPbp5fH2QZFhR1VbiRNe9P6NBJtiAJ768KC0MRW/oLwhJfA1yAxV7Tl2RoAYo6bWb1KwB/2trYaTiwEjOzkFYt01PSoUzN0mE8HUMpyuq+HRRH4g4mSOgLbZ257k/qlHxVia8DpxvBlkllCSc5Md3mMq1z65dKZmZOlj7GQbBjb9YvpnE8h64YriAjKc4nSVNr0u7/5jpHYE73A6mo9kQnyIgwOew4uZz7nqgUt4UMibW64TiVppJVv0J0yeeVuSaDh6soAu12nPjlz5V49gMF0zp28YBLoYC7YRgxiPjUoj5Z1GslgFGi3wiSHScKef/2j9l2dldkrN9bvAUFgsyCwyXJMo19O85xz0eJ7tXqn+YnkAGj3U2EBUdqbo7TTlrO5mi+YvMjrbJG/vxDrhTZ9/LJckkeKuwQFfKynCBYtwzlTr0uWLg2PITpSucfAVfRpdr8LW1L5FFd7e8npFUhEiD8TsUW6jPHCAyVQDOffqVDNMbgi1BgbqweIEhxL6csBJnhiWpLktVr9PnQbnON8yZHnUZaO1RfwqT9tW/2hvVHtA7eQ4l8EJ2yICM5pjcRY1k1IOfFcfUcaaJbhPTcZnflBsfoh4x4tlxYavZv/8xZXWsUmCJPcZwElmKk9CX3W55QYBarFGQCVR5xW69O+tb72jeBmpHzcpGTBWzvcak+zNgKXe/Ve6NCC8tcnyZmFPiUX7rSQG+PtNFGudoZQOOb8f0L65PSs41c1tx0737LRqmTHHgiN4biBItj4DEl0DqhzSlNXAyo5yQYLo4JwU85EdPBMM7R6S21o/v06+dOG3F3qGvNWfK42SkkTjLUYMuc0MpYUK86ks0A5s0n5DkXsvsWh6TxHXieAN5pzgX2ovEM0Rbypv1pgX+fwgX24h0wVy3CM9OXUa/Rk3zRsRWmVy4iLMseUV6xp69Uzv3JkdaBybHclyMqhljpJ11jP1aLBQwZkcf4pFbfB1EvaTNu4f3Tp X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 46dab2a8-6aef-4181-2c2f-08d8fda7edbd X-MS-Exchange-CrossTenant-AuthSource: DB6PR0402MB2760.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2021 11:41:36.4408 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: fbzoTJtVAM3JyIPjZIstoxUfQrtRRi3caxqpAvPd54fwkqoJ5cf3gP//wQGj3NXMuuy3GvB9/GJpzGuZUzE58A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR04MB7223 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.4 at phobos.denx.de X-Virus-Status: Clean From: Peng Fan Support print cpu info. the clock function has not been added, it will be added in following patches. Signed-off-by: Peng Fan --- arch/arm/include/asm/arch-imx8ulp/sys_proto.h | 3 + arch/arm/mach-imx/imx8ulp/soc.c | 59 +++++++++++++++++++ 2 files changed, 62 insertions(+) -- 2.30.0 diff --git a/arch/arm/include/asm/arch-imx8ulp/sys_proto.h b/arch/arm/include/asm/arch-imx8ulp/sys_proto.h index cab12c218e..8894611a0f 100644 --- a/arch/arm/include/asm/arch-imx8ulp/sys_proto.h +++ b/arch/arm/include/asm/arch-imx8ulp/sys_proto.h @@ -8,4 +8,7 @@ #include +extern unsigned long rom_pointer[]; + +enum bt_mode get_boot_mode(void); #endif diff --git a/arch/arm/mach-imx/imx8ulp/soc.c b/arch/arm/mach-imx/imx8ulp/soc.c index b3679aefcb..e6ac5f8d25 100644 --- a/arch/arm/mach-imx/imx8ulp/soc.c +++ b/arch/arm/mach-imx/imx8ulp/soc.c @@ -3,9 +3,68 @@ * Copyright 2021 NXP */ +#include +#include +#include #include +#include u32 get_cpu_rev(void) { return (MXC_CPU_IMX8ULP << 12) | CHIP_REV_1_0; } + +enum bt_mode get_boot_mode(void) +{ + u32 bt0_cfg = 0; + + bt0_cfg = readl(CMC0_RBASE + 0x80); + bt0_cfg &= (BT0CFG_LPBOOT_MASK | BT0CFG_DUALBOOT_MASK); + + if (!(bt0_cfg & BT0CFG_LPBOOT_MASK)) { + /* No low power boot */ + if (bt0_cfg & BT0CFG_DUALBOOT_MASK) + return DUAL_BOOT; + else + return SINGLE_BOOT; + } + + return LOW_POWER_BOOT; +} + +#if defined(CONFIG_DISPLAY_CPUINFO) +const char *get_imx_type(u32 imxtype) +{ + return "8ULP"; +} + +int print_cpuinfo(void) +{ + u32 cpurev; + char cause[18]; + + cpurev = get_cpu_rev(); + + printf("CPU: Freescale i.MX%s rev%d.%d at %d MHz\n", + get_imx_type((cpurev & 0xFF000) >> 12), + (cpurev & 0x000F0) >> 4, (cpurev & 0x0000F) >> 0, + mxc_get_clock(MXC_ARM_CLK) / 1000000); + + printf("Boot mode: "); + switch (get_boot_mode()) { + case LOW_POWER_BOOT: + printf("Low power boot\n"); + break; + case DUAL_BOOT: + printf("Dual boot\n"); + break; + case SINGLE_BOOT: + default: + printf("Single boot\n"); + break; + } + + return 0; +} +#endif + From patchwork Mon Apr 12 12:12:34 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Peng Fan \(OSS\)" X-Patchwork-Id: 419539 Delivered-To: patch@linaro.org Received: by 2002:a02:c4d2:0:0:0:0:0 with SMTP id h18csp1659359jaj; Mon, 12 Apr 2021 04:43:01 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy9CmviC0lThFUSmEU63k4qopF1Dvbtk354E6el16weCtaWpBc5H0VTPpV63/ViosMZVR3y X-Received: by 2002:a17:907:c16:: with SMTP id ga22mr26617799ejc.120.1618227780972; Mon, 12 Apr 2021 04:43:00 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1618227780; cv=pass; d=google.com; s=arc-20160816; b=HmXGSPFtZZcvgKZBE3om6fvn3G5EsP6+F2QAwa8FKh1wCiZD18dLzumZhPFspE67Ul o09NEqVDJnpGU/CDMSb7HecGQlq5vatXb9ykDsMjF7dkB1mESwwP/5jltaNDpN2UBdkU mYjskzI+0qWcD9F400gQT8fKU5vExar3uO+2KjaoAxksvlYqwrVEfIF/EYrcYXwagNZt liwO/1XzKLuI3F8xy6MHYRB6UdJJ8EZdcGH5nU5xHv4Qs3ULW1tRxXEPsKWqDA2Geuef wdpBba/bZrAUfDtuAPFhbc87aGgol9UeEN/QZI5Y/NLpfw9uDL4EKdSTUisgrHexhxM4 Vwig== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:mime-version :content-transfer-encoding:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature; bh=riev8FH2q2qYN2IoIOv5o5JHtbuAPDl7McYV7hBodWI=; b=u34FkC2j+vCQRfpXSVUMACouDacuxy9sKDfa3wPvwjMTSn2uY/2tq/1o4F8NSdkSdJ xP1EgeJ64SbOyAvMDvjVO/28gaxBPaCsRsGKpLt3oXvcKtqMX0QBM1nRZ0n90ihjwaSs wZfIGfreB2Tlv5+oORwYc1M0sObF8Rbm2ZjjvIQzF5bvic8gXYqXOCEnLiDC2k4ne3co luLBBdkXd8a5PkPofxTXs279NPLz54bSgkZM4JTXQOsLPfIBxIes6wPyOL5JAxUgLUil VETwEGvJ1ZtNbfp0MjpYZytplCHa7BYmPmsJZUa67FyM8+AhP5CRBXuGqgOu/2FZz6jM shVA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@NXP1.onmicrosoft.com header.s=selector2-NXP1-onmicrosoft-com header.b=W2CnWQhw; arc=pass (i=1 spf=pass spfdomain=oss.nxp.com dkim=pass dkdomain=oss.nxp.com dmarc=pass fromdomain=oss.nxp.com); spf=pass (google.com: domain of u-boot-bounces@lists.denx.de designates 85.214.62.61 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Return-Path: Received: from phobos.denx.de (phobos.denx.de. [85.214.62.61]) by mx.google.com with ESMTPS id df23si7325492edb.38.2021.04.12.04.43.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Apr 2021 04:43:00 -0700 (PDT) Received-SPF: pass (google.com: domain of u-boot-bounces@lists.denx.de designates 85.214.62.61 as permitted sender) client-ip=85.214.62.61; Authentication-Results: mx.google.com; dkim=pass header.i=@NXP1.onmicrosoft.com header.s=selector2-NXP1-onmicrosoft-com header.b=W2CnWQhw; arc=pass (i=1 spf=pass spfdomain=oss.nxp.com dkim=pass dkdomain=oss.nxp.com dmarc=pass fromdomain=oss.nxp.com); spf=pass (google.com: domain of u-boot-bounces@lists.denx.de designates 85.214.62.61 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id E349C82037; Mon, 12 Apr 2021 13:42:38 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=oss.nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="W2CnWQhw"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 00BF481F66; Mon, 12 Apr 2021 13:41:57 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER,SPF_HELO_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from EUR03-DB5-obe.outbound.protection.outlook.com (mail-db5eur03on0623.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe0a::623]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 4563781E72 for ; Mon, 12 Apr 2021 13:41:41 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=oss.nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=peng.fan@oss.nxp.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZmHFwUqrZe9vCWcFhrkapBpFHxZm9GUSpgEZAjIr3bjn5sYSU2+9QXOmGQwv5f9OlLkyQOHBGjY8EBFYcxDeDvaDJw1uEr3ZvgRDHZx2UJxRya9eQo66JY+g49W803151V9yby2Vxixag8+NEv6w+1xUQY0iKpeheWdL2NdhRDxVq55t4SmZWnTIlIaPKipispqVV6XF/R03BKMWESpVqa2Af65x0i8fOKNLMSANeYinltJ+voAZMFTKYwbc6dWJ96xjeYP4ygDXd7p3nryWU5fczoDFidYo+RF0f9OfC1O3pl/cHNdSqxoXdauV5DUToP8DB/m3rUcVdBROT3ImdQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=riev8FH2q2qYN2IoIOv5o5JHtbuAPDl7McYV7hBodWI=; b=AxJCpUIK0ksQLxCN9pqF8mYpFfhW9alyCi0OTqNx9trQakGmOjVVizUNr5X2UvPWZE3YcLLq46Np15IgpJppDbjd5H8FcvngHKlFuwQZS+dybwVvIiKbnYrFgkypqLFx6iAi9bNoHrZT2U3nIFiUUfxdkmYpWON7gLoafRrdcWNEwKQn3JxWSEq7ABTxXsaw4XAx2WN4R9HduQpfewQDIY5lPoDBF4ffm6C7GBRXSRipko8WRPm6NU4p5UU8huUHmveUx++tx7bwk1OBlYs5R4ALHq+5DS7l8fY+0oJNXZ4yOxPd0fnqoreZtZXg5REMWHkuEnO7nNcfgAdVgsjNYA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector2-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=riev8FH2q2qYN2IoIOv5o5JHtbuAPDl7McYV7hBodWI=; b=W2CnWQhwpTc2Yl5Zbnylf/gNxsowQ1mmadwK/7x19/hJxgHYDmerclGTQGjl5rsbh/Ha6wRKICkLNQlEXCZpzWIQ58OqxJGPjZUbvWltcXR9TxwFlf7jAx0OiJXufiWmpmI2qckbTVX2g5qY7UabeGe3sQi989OMphJmWwpGhtY= Authentication-Results: denx.de; dkim=none (message not signed) header.d=none; denx.de; dmarc=none action=none header.from=oss.nxp.com; Received: from DB6PR0402MB2760.eurprd04.prod.outlook.com (2603:10a6:4:a1::14) by DB7PR04MB4233.eurprd04.prod.outlook.com (2603:10a6:5:25::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.22; Mon, 12 Apr 2021 11:41:38 +0000 Received: from DB6PR0402MB2760.eurprd04.prod.outlook.com ([fe80::c57a:6964:f72c:21cf]) by DB6PR0402MB2760.eurprd04.prod.outlook.com ([fe80::c57a:6964:f72c:21cf%11]) with mapi id 15.20.3999.032; Mon, 12 Apr 2021 11:41:38 +0000 From: "Peng Fan (OSS)" To: sbabic@denx.de, festevam@gmail.com Cc: u-boot@lists.denx.de, uboot-imx@nxp.com, Peng Fan Subject: [PATCH 05/37] imx: imx8ulp: add get reset cause Date: Mon, 12 Apr 2021 20:12:34 +0800 Message-Id: <20210412121306.11484-6-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20210412121306.11484-1-peng.fan@oss.nxp.com> References: <20210412121306.11484-1-peng.fan@oss.nxp.com> X-Originating-IP: [119.31.174.71] X-ClientProxiedBy: HK2PR0401CA0009.apcprd04.prod.outlook.com (2603:1096:202:2::19) To DB6PR0402MB2760.eurprd04.prod.outlook.com (2603:10a6:4:a1::14) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from linux-1xn6.ap.freescale.net (119.31.174.71) by HK2PR0401CA0009.apcprd04.prod.outlook.com (2603:1096:202:2::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.16 via Frontend Transport; Mon, 12 Apr 2021 11:41:36 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 6fe46500-f21c-4f7c-4920-08d8fda7ef1a X-MS-TrafficTypeDiagnostic: DB7PR04MB4233: X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:93; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: tXHkFvelFsv2o7ardszWeKytsmXxDMSS3fnk47HD/jcTE4thVhwvabYVIxnPLiGGMF2ycE9sChzEENHpV773QPTywn4dKLZbW7TjAbXTi/JGIV78sFN5FSGamxCMK3/9TwH03aAj6TvOymdDIu8D33stybnbAFOG5Oj56nVsFw6sqAa53EmtE/AoYoShg9MJXATO2bHeVRhRlpjaNgZiFntF7QG9B3FZg/AC40qIiy001PlYN74svAt9y4ocZLEs+skcCdG73Z33bvthRZ0VQgsU+VLeXNBQDXHjvJ9YhYdH0elE4Pe+8q1HALEn+iOoSe+xQtTM3GXzPcpIwQxX9dAgKb9VNWFsQGdcBo0IG8Ia17x4nDwTKS9oJkGR8KdyBoTWElgjxB15eKH6KNuKqKHQNm+QgQxYKwbHywJQycXftQYSV0V9cwN56jiVk0QIBV63LScNQyiTOKZhCOHy9bPzWU5lUYCmQSQXWzFknR40nffHZcarZUaW6AGnGqqUvgogxbgsIUbE5wT1Bc/84aD3SV3yqvv6vtdWU8749l8GSYPgDTYRpVecE9zc4QfU8Kyf9nY4H4VEpwUtKjeZl4IbQOoU4uFfKYUBR5Oi22MAadn1EPavywJ097F45OsVEuD3OsklGqJVyDcjuIc/tpq/AaIOdHrPP0QcwOiijsy7JC8EkcwGApWy5JTOZLib X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB6PR0402MB2760.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(396003)(39860400002)(136003)(346002)(366004)(52116002)(83380400001)(956004)(86362001)(2616005)(6506007)(66476007)(8676002)(66556008)(1076003)(2906002)(4326008)(16526019)(316002)(26005)(5660300002)(6512007)(186003)(8936002)(38350700002)(38100700002)(478600001)(6486002)(66946007)(32563001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: mWUTTQK/rd0TpYUGR+7AqTGwQQvgBW4K6oiYbWDKzeqVDXzrUyGS8ybHLVzZ9/Mn5336yn0/Rde+xxTzjiUl2GknVF1k8ynEYqOmaHsg52nDlwhASVuMnE+p9xxSvI5Z9fiArXgCZEH4YUdudMsbZAtpQc78t34py6Qdvuvo12r/UHeh+Un4p1X2DMxxVESjch8a8PuyOJvGPR/qhRigiM2SFWx98FXS65nWCOqlrNe7b72IjDg1yUe+93cpgOlUrZS3i3/f09sOwTyuWikDCMIbixWfhY9MarJGxmYzMarOT9Sr+ZNg0iOo6Jh9KqI3jzL1GXiruLjcoywLRv4ofPP+tkdOtOZn4zUuah+786vN7N83hluGxPoZpxxVF/lpYQZKx9Vz+OONkD44/8Fkj6wQeyWF19yTxOzpjctQ7Z9wKwTeTrOpUHXBbWZnw2B0tF1XK71j7iRdejve5B8tkeNJJJi86d4sS+O5AHtsXbk1tNacBuKUCBlH2o1jRZWK/ANp9Uhn/Vkd9fAI1SmvbMeLtE8PPCiFT2oDd31cP2azCK1xF1mY6VHWxsiQWxuSN+F5GN5zOrKowthaE1HzfSJe+mwgO+gCuSG26wHYzi6T9SbWkZgZE6i3SJYT+35dehXylup6dlE6jUbaLIEqvJEpnbizxuqCQpazsMmSusf7x45lIMVaBPyYeXjsVBziEevqPFm/BrMbcGQpwfcQoqrUfgn4ENKoYAi8Ezj2YGDAb4+5uvVe/OvSQt5oK4zk7b+xnWtL6NMu0om53l0dQmJoIhiwMSnRhd/5qx5Pw0mm1oUsTThjqTAsLhlNNPr66W+4P03nOE9V0yWvXAia4oDzrwrg4IJwJg1CpEtYuRgoWG/m/u85/tkXH2Sb7By2sD61N4IiCXd5V+63QvURLHNfT5xyFLKHadN83vIirQWjUzFseNIK8NEM1ZxFF9/ecDuHPFVMyx12q08Ub4sSoHh2LTR3ogS2xD+/ERHPIN5vo6rYobuL92z5mYKwfnaC5vvDYgbI5eVvMMxJpYf4IlrShKZN/bPC4ydMUxgSrwJBDhmXrRZ5MxFLPFNnKjsfMB+zpbxnCztGqJRu9/Pfm0kYlYf007YbedlL64hXqpGx3bBHkVTlPJPr/zeU6FU0K8/xF+j3UN/rANJf5mMLTJxvSzcEq2GRzT/ow2SzOTfbxCnxxPoLDQVirTp0H40TLEb4py04WjOhe5IipyvcvuH60LOz8dDU91p7sq4pq2HZjqVDFTOfB704I7hGgK7qsynpd8Czii5DR/TQVPQoEDlweQFMxqdtmWjkkU7ggdVz+I5RTg62rRQ6uWIrDAYF X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6fe46500-f21c-4f7c-4920-08d8fda7ef1a X-MS-Exchange-CrossTenant-AuthSource: DB6PR0402MB2760.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2021 11:41:38.7257 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: zvndwu/TvWw29Kbe2YwnO5PRYgg8SXV1hfgSHB7mZMCC5SAmButCRiu/c2etZ8gvspkk4BV4aeCNrGChTiLvog== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR04MB4233 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.4 at phobos.denx.de X-Virus-Status: Clean From: Peng Fan Add get reset cause function to show what triggerred reset. Signed-off-by: Peng Fan --- arch/arm/mach-imx/imx8ulp/soc.c | 69 +++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) -- 2.30.0 diff --git a/arch/arm/mach-imx/imx8ulp/soc.c b/arch/arm/mach-imx/imx8ulp/soc.c index e6ac5f8d25..383dbe6000 100644 --- a/arch/arm/mach-imx/imx8ulp/soc.c +++ b/arch/arm/mach-imx/imx8ulp/soc.c @@ -32,6 +32,73 @@ enum bt_mode get_boot_mode(void) return LOW_POWER_BOOT; } +#define CMC_SRS_TAMPER BIT(31) +#define CMC_SRS_SECURITY BIT(30) +#define CMC_SRS_TZWDG BIT(29) +#define CMC_SRS_JTAG_RST BIT(28) +#define CMC_SRS_CORE1 BIT(16) +#define CMC_SRS_LOCKUP BIT(15) +#define CMC_SRS_SW BIT(14) +#define CMC_SRS_WDG BIT(13) +#define CMC_SRS_PIN_RESET BIT(8) +#define CMC_SRS_WARM BIT(4) +#define CMC_SRS_HVD BIT(3) +#define CMC_SRS_LVD BIT(2) +#define CMC_SRS_POR BIT(1) +#define CMC_SRS_WUP BIT(0) + +static u32 reset_cause = -1; + +static char *get_reset_cause(char *ret) +{ + u32 cause1, cause = 0, srs = 0; + void __iomem *reg_ssrs = (void __iomem *)(SRC_BASE_ADDR + 0x88); + void __iomem *reg_srs = (void __iomem *)(SRC_BASE_ADDR + 0x80); + + if (!ret) + return "null"; + + srs = readl(reg_srs); + cause1 = readl(reg_ssrs); + + reset_cause = cause1; + + cause = cause1 & (CMC_SRS_POR | CMC_SRS_WUP | CMC_SRS_WARM); + + switch (cause) { + case CMC_SRS_POR: + sprintf(ret, "%s", "POR"); + break; + case CMC_SRS_WUP: + sprintf(ret, "%s", "WUP"); + break; + case CMC_SRS_WARM: + cause = cause1 & (CMC_SRS_WDG | CMC_SRS_SW | + CMC_SRS_JTAG_RST); + switch (cause) { + case CMC_SRS_WDG: + sprintf(ret, "%s", "WARM-WDG"); + break; + case CMC_SRS_SW: + sprintf(ret, "%s", "WARM-SW"); + break; + case CMC_SRS_JTAG_RST: + sprintf(ret, "%s", "WARM-JTAG"); + break; + default: + sprintf(ret, "%s", "WARM-UNKN"); + break; + } + break; + default: + sprintf(ret, "%s-%X", "UNKN", cause1); + break; + } + + debug("[%X] SRS[%X] %X - ", cause1, srs, srs ^ cause1); + return ret; +} + #if defined(CONFIG_DISPLAY_CPUINFO) const char *get_imx_type(u32 imxtype) { @@ -50,6 +117,8 @@ int print_cpuinfo(void) (cpurev & 0x000F0) >> 4, (cpurev & 0x0000F) >> 0, mxc_get_clock(MXC_ARM_CLK) / 1000000); + printf("Reset cause: %s\n", get_reset_cause(cause)); + printf("Boot mode: "); switch (get_boot_mode()) { case LOW_POWER_BOOT: From patchwork Mon Apr 12 12:12:35 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Peng Fan \(OSS\)" X-Patchwork-Id: 419540 Delivered-To: patch@linaro.org Received: by 2002:a02:c4d2:0:0:0:0:0 with SMTP id h18csp1659494jaj; Mon, 12 Apr 2021 04:43:14 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxa8CWZN7lY5l08Am26nZUIsIfY8AHvty5xz/b0S8kJBSH1jhvlQ1Ryg6Oau49RCDm5dwmb X-Received: by 2002:a50:9fa1:: with SMTP id c30mr20276017edf.66.1618227794414; Mon, 12 Apr 2021 04:43:14 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1618227794; cv=pass; d=google.com; s=arc-20160816; b=JVge/O6FduMCHWUK2BK/ZwI0GdIMAVT6zjOXDM0KmKqTAaTfSvmqNZonatlt9rdSvX dQSHd4HEt08LaPv4t9CKrjsv2J1ti3gZctogxgLd5l1YURVhL727ob7JFPtAAI2UYwdd QTPEI7iP0LTpiFiDOtuTrVh0dXm4KXOGyap+uEEJKDSxaosu5DZ/QEbzYpplqh9q519v 4YoWSJ0EzDmgPlI11SWgtf4TkB3e7asS9TZtyx+qQ/xj0maPErktSjeGNsfLQSLuk/EO lbueu9jtivxQs/+XYM6Yfnp7W9sll7ru1bq7/QLQIz7m7qzB3239xhtnvBxmuMAsU5At iCNQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:mime-version :content-transfer-encoding:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature; bh=BPsQzgs0cjpF0VxWtxpPOHD/TCiS2iCU1wydKSH+c+o=; b=dP5+4RUPTck1mc3Wtl0VrNUV7kh6DgQjdXdFq3wDaNcLcqHWSHepJTVbhMPc0sV+hz jGPj1Rfvept4etaalOKEhST2Hzan1822a/TJFRTLT6CFkK5RWdDiSU0mvjr4+VYHJwJK DyN7ObaCCxxjJUVgQiqjSHdtyYn5MiGaI19mXB2rfmS3jc6+g7g6nElgnDzL7h2d7IW3 bFAfNxDSa5ikgGb+K26JtAu/VhveP/N6uD1qzR1wtEBQoDJJT3wKGGokTBSHySZtDidG cnY2NqbhGfjPYpmO1LwKMxe06PY4xuRtfJ/GPsBin2NQZyPS8KglYmDB2tpj2KuxOqNs fxag== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@NXP1.onmicrosoft.com header.s=selector2-NXP1-onmicrosoft-com header.b=flFNqkuQ; arc=pass (i=1 spf=pass spfdomain=oss.nxp.com dkim=pass dkdomain=oss.nxp.com dmarc=pass fromdomain=oss.nxp.com); spf=pass (google.com: domain of u-boot-bounces@lists.denx.de designates 85.214.62.61 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Return-Path: Received: from phobos.denx.de (phobos.denx.de. [85.214.62.61]) by mx.google.com with ESMTPS id e6si7490695edr.328.2021.04.12.04.43.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Apr 2021 04:43:14 -0700 (PDT) Received-SPF: pass (google.com: domain of u-boot-bounces@lists.denx.de designates 85.214.62.61 as permitted sender) client-ip=85.214.62.61; Authentication-Results: mx.google.com; dkim=pass header.i=@NXP1.onmicrosoft.com header.s=selector2-NXP1-onmicrosoft-com header.b=flFNqkuQ; arc=pass (i=1 spf=pass spfdomain=oss.nxp.com dkim=pass dkdomain=oss.nxp.com dmarc=pass fromdomain=oss.nxp.com); spf=pass (google.com: domain of u-boot-bounces@lists.denx.de designates 85.214.62.61 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id B2F7E82054; Mon, 12 Apr 2021 13:42:47 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=oss.nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="flFNqkuQ"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 5937781FAB; Mon, 12 Apr 2021 13:41:59 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER,SPF_HELO_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-he1eur02on0613.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe05::613]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id B331781F30 for ; Mon, 12 Apr 2021 13:41:46 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=oss.nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=peng.fan@oss.nxp.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TuVRxkiEDIVNx8pZBn1AUbWehOe4L6YL4PgBHHDQHXifPqKV7hO5/IiaUwK5V29BX+OM9Aw+tXqUAK3iAUIRAjPlOvJOjWroTmNRXC01HkeBFtWjHCKHa92GQS0SMaImMS8fJNuA972KQk/GfwZ+pnTDGIo5EawQTwBVqiOzKLBkCdfosX7L2A07hFOmCoF3GDbjt3zSO651Gi8uKcDVuzVNViaJncfHuUTUG2bC6PQK8W0EEWjF6+WtLVjlFmCAUFJyXZUF98y3BDf58KYGtmo3eIFQb2aSlopOcQTFzkbSh3y1h/PJ40pq8ClcPIOWRxFLShoKWtYAsT3XYf0eIA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=BPsQzgs0cjpF0VxWtxpPOHD/TCiS2iCU1wydKSH+c+o=; b=LkK2z2S2vz2tPY7bafN2/HbHnOwUVfnYAQUiv3uUAChD9LaNK9HsdavbZpbgA5ZZBUJJwXzsK8BPDu6LQqhQ/vQks5lfI31cXqXQQXJGePyW2RrT+Itgh/BYGeHYw3ay43AvOOsrsqTF1T8YgWSUSAW0g0geTccvHLto58Qp8UIdnXaeMxfRN5nKHcIvbXaD1WpSS6L/gOOcQibQDVh45Zi3eHfEnT8avTgxHPxR3bKBgRZtPGrGew4sc5S1hsiTyo7gxr2+6MBPg1NeBfHZebaPYLj3XDaqXyPCw++No9AsbFtDi8AVnJFZEBJ8V3vIH2yMBu2rn1iWgBqZg64Oqg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector2-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=BPsQzgs0cjpF0VxWtxpPOHD/TCiS2iCU1wydKSH+c+o=; b=flFNqkuQqgjqgtkiclR3ffmJht8PVdWHAwjs/g97Tyh1HyTXVeN6JFZi3Yj1b/DmUx1Dvt4vN7qeddGOFVWxZHW/LjjMh+GExQGGNM3bvAsDjf5Kc183IQyX9pjlew3yEF4R/O3aBTWEqAyM1CuspE8CFjRdRzqJb6reiZ4sVmE= Authentication-Results: denx.de; dkim=none (message not signed) header.d=none; denx.de; dmarc=none action=none header.from=oss.nxp.com; Received: from DB6PR0402MB2760.eurprd04.prod.outlook.com (2603:10a6:4:a1::14) by DB7PR04MB5244.eurprd04.prod.outlook.com (2603:10a6:10:21::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.18; Mon, 12 Apr 2021 11:41:41 +0000 Received: from DB6PR0402MB2760.eurprd04.prod.outlook.com ([fe80::c57a:6964:f72c:21cf]) by DB6PR0402MB2760.eurprd04.prod.outlook.com ([fe80::c57a:6964:f72c:21cf%11]) with mapi id 15.20.3999.032; Mon, 12 Apr 2021 11:41:41 +0000 From: "Peng Fan (OSS)" To: sbabic@denx.de, festevam@gmail.com Cc: u-boot@lists.denx.de, uboot-imx@nxp.com, Peng Fan , Ye Li Subject: [PATCH 06/37] arm: imx: basic i.MX8ULP support Date: Mon, 12 Apr 2021 20:12:35 +0800 Message-Id: <20210412121306.11484-7-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20210412121306.11484-1-peng.fan@oss.nxp.com> References: <20210412121306.11484-1-peng.fan@oss.nxp.com> X-Originating-IP: [119.31.174.71] X-ClientProxiedBy: HK2PR0401CA0009.apcprd04.prod.outlook.com (2603:1096:202:2::19) To DB6PR0402MB2760.eurprd04.prod.outlook.com (2603:10a6:4:a1::14) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from linux-1xn6.ap.freescale.net (119.31.174.71) by HK2PR0401CA0009.apcprd04.prod.outlook.com (2603:1096:202:2::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.16 via Frontend Transport; Mon, 12 Apr 2021 11:41:39 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: cfcff1dc-e1c2-42bb-eb12-08d8fda7f09c X-MS-TrafficTypeDiagnostic: DB7PR04MB5244: X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:7691; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: w0euyrR1hBCpvaYxWmSASrwjCaAt5+OOqqyIFdtX5xAxiNi7/H+QujQrvklD0QKw1SwndoiRPzyv4ylWv9EAtSmyDzk0exPrG4aZcR39Lfyzg6eDZ0WdGnyCUtl2VV6AON3FFOSHRUoeanLweYyk0vZ+GtbZn6mfMU+rCkOUyx/43Zg/HOXdSspoJpsJrRkcPYg/ze2lZjTMIPv7aHTkqTCN/4I7E5STt0B8YjeO/jdKWeLnZ0WvCGGo42XCyje8U+4PrPOCjQGsaFjrZ6jDsGFaQVRfdnB0TcsCJ80aEVM5nswPrDgu4gHtI9015F6kn9XAPFi9neysOq1M21jYp4oTGBfbF+tYVBwAu4Xt0KcnPEiqUHzIuFGTLZ9qzujK+Ygi3gge/JytkjSTho7JyDI5hdvz2SUG3ZchrqDL0Sl5iMl2KTKefFMUmU5cFqjlI7IwwiO/4Ic7THrvzy/ZZ9dUJPIOGLdYKvDYXpdt6O8E2VI0BMElnLXIVJ+0+dYZwAps5wh3WJKe2S5jaGNYs0hfYTaienmzYsEYc3BziJfxormppS4Sk1RVN8NmrtQCAYUmXqh6LYJ8poQLebFic2I6psuPPztfMEFJNkTwUF41jyCAP13iQXhtbUvcmBjA2kxyPooow5jMkD63TOUyd5owVGTQ85bJaZRq2leRQKg= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB6PR0402MB2760.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(346002)(136003)(366004)(39860400002)(396003)(16526019)(30864003)(26005)(186003)(6506007)(38100700002)(66946007)(66556008)(66476007)(316002)(8936002)(38350700002)(4326008)(956004)(478600001)(6486002)(5660300002)(6666004)(86362001)(6512007)(2616005)(2906002)(8676002)(54906003)(52116002)(83380400001)(1076003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: XHD0/+bjn4ZcGRlXnTyDRO5pGo1R1lG2hWNyie99GKEtVgF3l7njlFadj3yt3HmvNKvPlqBCwLs00QaI7CBOsgFj2uJlXIiPoxNPlM7gnUwkPl7fSPNK/Lgs1Bns0j21iKxOh1k8/Z5JyoR+p9cEea41fe2AgsxylFKAmrwf9UhHheORIhbPCEYVkQfVI8IXVwnpvEq/ZiYobS9QQSJzHLJOiB3SR6DWj2KBM4I5kIEeQJ0vpHf/FVR35JG3aJxWEKv2SSQ3CYTrgswYK75U34jtHZGu79DYnkJElLVvVxB03vJZDhxLWEmX32JK3+tE9dyM3C9e7AFFZ2TOCFE4sj0jg+jqYR9pkitGW4/BSryuzHtzqQ3qCpt/iZUn3CUYTZRCwUrd9EshyK/rJbO0yT2R0MMxinQV3Qqlupsny8QMEdlPvunY/Tlrcu6ZNiBdGu+2eaTnrxDaslYokPOLdBj7tQv9crfaCOtgeuDZThmUvQsBb/Za6n5kEJkwxAiohGz6WvHtpKWY4mkAxa5IMeWYSoExk5UuZkwgmbXryzmNcXnSDaduQp66Su0vOdJn9zI2D/Am4WplybNN+Fxp9mO0mG2wBiHyUamzZnPF3vlLrci8/Y/Y+kj8GOfA9sF15c+mR1XdpMx5J27cEo8+mQcKn1F/yJa2fXOtmGaAn/0Sm5tJFsQ12fnhFE6per8pd+HaEVRAZlsnP7xWCxZDBZ5Ldv35zgLademX2i+90GaT9/rN4wqdKXr31XpfjRz2Bjw7s3B4BnmYzqAaHgkFvRQigsxHUbnYFTvZnLPBzNqAOEbMi7pDJ4RZOwiO6+HPbqbi6/XsJcdqHdJpj8bz1A4R6BXKfmWCPwQYaCxhYcCC1Tp5c6PDd0ks+38Xzd4/UVIlJvyo5/rsXEW/KEIYwyHXTo7fiGbkmjCGDyXlq4iPyyoLXzUxx2A4YdFftUIB3X7M4zXiqDvjobLTmIBp152iubEfoYDQW52jp9YDg2iOUtKxmEBoagrTSEs2ZbU20d5FDzicVcQn1tViivo3lNs65SmrCaoA091vc+YQxUJQpYfioq8NjkOpJDhGQJdnUP0h/fMuoHEmrTkrfVusgv/WmC1fHF2EjNMOpPr0lUSShR405nu6TI22RFwoy15BrtdRp/WxbBQ5DQrZ93shpoVW1GjSGQ5ZqqFp2k1Eoghob2/ROfI/+gE/FpZDWIxBrR2phQaolVdwFsgcUjh3bC5f0nGvgPZOkVt8FMfXWosbu81nBCchN3mQN0CbnK9ww9fCINq/T2cGthQ+xLxWguZCLkvx4bDn8CY2E2Rpp6vPfQ61RfdmH0+TVjpUYoCTFwwyRfuEEwQbpzbsw0YQrA== X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: cfcff1dc-e1c2-42bb-eb12-08d8fda7f09c X-MS-Exchange-CrossTenant-AuthSource: DB6PR0402MB2760.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2021 11:41:41.4664 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: XEmRF+qfP5qeXJbQhGhsM66JqPPrljPkg+lULjcUc42ZagUoaByKLKdaSNaDSo+edwwfCpJWJNPXJ5T9G5YKOA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR04MB5244 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.4 at phobos.denx.de X-Virus-Status: Clean From: Peng Fan Add basic i.MX8ULP support For the MMU part, Using a simple way the calculate the MMU size to avoid default heavy calcaulation. And align address and size in the table settings to 2MB or 4GB as much as possible. So we can reduce the 4K page allocations in MMU table which will spends much time in create the page table Signed-off-by: Ye Li Signed-off-by: Peng Fan --- arch/arm/Makefile | 4 +- arch/arm/include/asm/arch-imx8ulp/clock.h | 34 ++++ arch/arm/include/asm/arch-imx8ulp/ddr.h | 38 +++++ arch/arm/include/asm/arch-imx8ulp/gpio.h | 20 +++ arch/arm/include/asm/arch-imx8ulp/imx-regs.h | 131 +++++++++++++++ .../include/asm/arch-imx8ulp/imx8ulp-pins.h | 60 +++++++ arch/arm/mach-imx/Makefile | 1 + arch/arm/mach-imx/imx8ulp/Makefile | 7 + arch/arm/mach-imx/imx8ulp/clock.c | 27 ++++ arch/arm/mach-imx/imx8ulp/iomux.c | 4 + arch/arm/mach-imx/imx8ulp/lowlevel_init.S | 32 ++++ arch/arm/mach-imx/imx8ulp/soc.c | 151 +++++++++++++++++- 12 files changed, 505 insertions(+), 4 deletions(-) create mode 100644 arch/arm/include/asm/arch-imx8ulp/clock.h create mode 100644 arch/arm/include/asm/arch-imx8ulp/ddr.h create mode 100644 arch/arm/include/asm/arch-imx8ulp/gpio.h create mode 100644 arch/arm/include/asm/arch-imx8ulp/imx-regs.h create mode 100644 arch/arm/include/asm/arch-imx8ulp/imx8ulp-pins.h create mode 100644 arch/arm/mach-imx/imx8ulp/Makefile create mode 100644 arch/arm/mach-imx/imx8ulp/clock.c create mode 100644 arch/arm/mach-imx/imx8ulp/iomux.c create mode 100644 arch/arm/mach-imx/imx8ulp/lowlevel_init.S -- 2.30.0 diff --git a/arch/arm/Makefile b/arch/arm/Makefile index 28b523b37c..c68e598a67 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile @@ -107,11 +107,11 @@ libs-y += arch/arm/cpu/ libs-y += arch/arm/lib/ ifeq ($(CONFIG_SPL_BUILD),y) -ifneq (,$(CONFIG_MX23)$(CONFIG_MX28)$(CONFIG_MX35)$(filter $(SOC), mx25 mx5 mx6 mx7 mx35 imx8m imx8 imxrt)) +ifneq (,$(CONFIG_MX23)$(CONFIG_MX28)$(CONFIG_MX35)$(filter $(SOC), mx25 mx5 mx6 mx7 mx35 imx8m imx8 imx8ulp imxrt)) libs-y += arch/arm/mach-imx/ endif else -ifneq (,$(filter $(SOC), mx25 mx27 mx5 mx6 mx7 mx7ulp mx31 mx35 mxs imx8m imx8 imxrt vf610)) +ifneq (,$(filter $(SOC), mx25 mx27 mx5 mx6 mx7 mx7ulp mx31 mx35 mxs imx8m imx8 imx8ulp imxrt vf610)) libs-y += arch/arm/mach-imx/ endif endif diff --git a/arch/arm/include/asm/arch-imx8ulp/clock.h b/arch/arm/include/asm/arch-imx8ulp/clock.h new file mode 100644 index 0000000000..e145c33f01 --- /dev/null +++ b/arch/arm/include/asm/arch-imx8ulp/clock.h @@ -0,0 +1,34 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * Copyright 2020 NXP + */ + +#ifndef _ASM_ARCH_IMX8ULP_CLOCK_H +#define _ASM_ARCH_IMX8ULP_CLOCK_H + +/* Mainly for compatible to imx common code. */ +enum mxc_clock { + MXC_ARM_CLK = 0, + MXC_AHB_CLK, + MXC_IPG_CLK, + MXC_UART_CLK, + MXC_CSPI_CLK, + MXC_AXI_CLK, + MXC_DDR_CLK, + MXC_ESDHC_CLK, + MXC_ESDHC2_CLK, + MXC_I2C_CLK, +}; + +u32 mxc_get_clock(enum mxc_clock clk); +u32 get_lpuart_clk(void); +#ifdef CONFIG_SYS_I2C_IMX_LPI2C +int enable_i2c_clk(unsigned char enable, unsigned int i2c_num); +u32 imx_get_i2cclk(unsigned int i2c_num); +#endif +#ifdef CONFIG_MXC_OCOTP +void enable_ocotp_clk(unsigned char enable); +#endif +void init_clk_usdhc(u32 index); +void clock_init(void); +#endif diff --git a/arch/arm/include/asm/arch-imx8ulp/ddr.h b/arch/arm/include/asm/arch-imx8ulp/ddr.h new file mode 100644 index 0000000000..4544431b05 --- /dev/null +++ b/arch/arm/include/asm/arch-imx8ulp/ddr.h @@ -0,0 +1,38 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * Copyright 2020 NXP + */ + +#ifndef __ASM_ARCH_IMX8ULP_DDR_H +#define __ASM_ARCH_IMX8ULP_DDR_H + +#include +#include + +struct dram_cfg_param { + unsigned int reg; + unsigned int val; +}; + +struct dram_timing_info2 { + /* ddr controller config */ + struct dram_cfg_param *ctl_cfg; + unsigned int ctl_cfg_num; + /* pi config */ + struct dram_cfg_param *pi_cfg; + unsigned int pi_cfg_num; + /* phy freq1 config */ + struct dram_cfg_param *phy_f1_cfg; + unsigned int phy_f1_cfg_num; + /* phy freq2 config */ + struct dram_cfg_param *phy_f2_cfg; + unsigned int phy_f2_cfg_num; + /* initialized drate table */ + unsigned int fsp_table[3]; +}; + +extern struct dram_timing_info2 dram_timing; + +int ddr_init(struct dram_timing_info2 *dram_timing); + +#endif diff --git a/arch/arm/include/asm/arch-imx8ulp/gpio.h b/arch/arm/include/asm/arch-imx8ulp/gpio.h new file mode 100644 index 0000000000..b7563bb401 --- /dev/null +++ b/arch/arm/include/asm/arch-imx8ulp/gpio.h @@ -0,0 +1,20 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * Copyright 2020 NXP + */ + +#ifndef __ASM_ARCH_IMX8ULP_GPIO_H +#define __ASM_ARCH_IMX8ULP_GPIO_H + +struct gpio_regs { + u32 gpio_pdor; + u32 gpio_psor; + u32 gpio_pcor; + u32 gpio_ptor; + u32 gpio_pdir; + u32 gpio_pddr; + u32 gpio_pidr; + u8 gpio_pxdr[32]; +}; + +#endif diff --git a/arch/arm/include/asm/arch-imx8ulp/imx-regs.h b/arch/arm/include/asm/arch-imx8ulp/imx-regs.h new file mode 100644 index 0000000000..52831d7262 --- /dev/null +++ b/arch/arm/include/asm/arch-imx8ulp/imx-regs.h @@ -0,0 +1,131 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * Copyright 2020 NXP + */ + +#ifndef _IMX8ULP_REGS_H_ +#define _IMX8ULP_REGS_H_ +#define ARCH_MXC + +#include + +#define PBRIDGE0_BASE 0x28000000 + +#define CMC0_RBASE 0x28025000 + +#define CMC1_BASE_ADDR 0x29240000 + +#define SIM1_BASE_ADDR 0x29290000 + +#define WDG3_RBASE 0x292a0000UL + +#define CGC1_SOSCDIV_ADDR 0x292C0108 +#define CGC1_FRODIV_ADDR 0x292C0208 + +#define CFG1_PLL2CSR_ADDR 0x292C0500 +#define CFG1_PLL2CFG_ADDR 0x292C0510 + +#define PCC_XRDC_MGR_ADDR 0x292d00bc + +#define PCC3_RBASE 0x292d0000 +#define PCC4_RBASE 0x29800000 +#define PCC5_RBASE 0x2da70000 + +#define IOMUXC_BASE_ADDR 0x298c0000 + +#define LPUART4_RBASE 0x29390000 +#define LPUART5_RBASE 0x293a0000 +#define LPUART6_RBASE 0x29860000 +#define LPUART7_RBASE 0x29870000 + +#define LPUART_BASE LPUART5_RBASE + +#define FSB_BASE_ADDR 0x27010000 + +#define USBOTG0_RBASE 0x29900000 +#define USB_PHY0_BASE_ADDR 0x29910000 +#define USBOTG1_RBASE 0x29920000 +#define USB_PHY1_BASE_ADDR 0x29930000 +#define USB_BASE_ADDR USBOTG0_RBASE + +#define DDR_CTL_BASE_ADDR 0x2E060000 +#define DDR_PI_BASE_ADDR 0x2E062000 +#define DDR_PHY_BASE_ADDR 0x2E064000 +#define AVD_SIM_LPDDR_CTRL 0x2DA50014 +#define AVD_SIM_LPDDR_CTRL2 0x2DA50018 + +#if !(defined(__KERNEL_STRICT_NAMES) || defined(__ASSEMBLY__)) +#include + +struct usbphy_regs { + u32 usbphy_pwd; /* 0x000 */ + u32 usbphy_pwd_set; /* 0x004 */ + u32 usbphy_pwd_clr; /* 0x008 */ + u32 usbphy_pwd_tog; /* 0x00c */ + u32 usbphy_tx; /* 0x010 */ + u32 usbphy_tx_set; /* 0x014 */ + u32 usbphy_tx_clr; /* 0x018 */ + u32 usbphy_tx_tog; /* 0x01c */ + u32 usbphy_rx; /* 0x020 */ + u32 usbphy_rx_set; /* 0x024 */ + u32 usbphy_rx_clr; /* 0x028 */ + u32 usbphy_rx_tog; /* 0x02c */ + u32 usbphy_ctrl; /* 0x030 */ + u32 usbphy_ctrl_set; /* 0x034 */ + u32 usbphy_ctrl_clr; /* 0x038 */ + u32 usbphy_ctrl_tog; /* 0x03c */ + u32 usbphy_status; /* 0x040 */ + u32 reserved0[3]; + u32 usbphy_debug; /* 0x050 */ + u32 usbphy_debug_set; /* 0x054 */ + u32 usbphy_debug_clr; /* 0x058 */ + u32 usbphy_debug_tog; /* 0x05c */ + u32 usbphy_debug0_status; /* 0x060 */ + u32 reserved1[3]; + u32 usbphy_debug1; /* 0x070 */ + u32 usbphy_debug1_set; /* 0x074 */ + u32 usbphy_debug1_clr; /* 0x078 */ + u32 usbphy_debug1_tog; /* 0x07c */ + u32 usbphy_version; /* 0x080 */ + u32 reserved2[7]; + u32 usb1_pll_480_ctrl; /* 0x0a0 */ + u32 usb1_pll_480_ctrl_set; /* 0x0a4 */ + u32 usb1_pll_480_ctrl_clr; /* 0x0a8 */ + u32 usb1_pll_480_ctrl_tog; /* 0x0ac */ + u32 reserved3[4]; + u32 usb1_vbus_detect; /* 0xc0 */ + u32 usb1_vbus_detect_set; /* 0xc4 */ + u32 usb1_vbus_detect_clr; /* 0xc8 */ + u32 usb1_vbus_detect_tog; /* 0xcc */ + u32 usb1_vbus_det_stat; /* 0xd0 */ + u32 reserved4[3]; + u32 usb1_chrg_detect; /* 0xe0 */ + u32 usb1_chrg_detect_set; /* 0xe4 */ + u32 usb1_chrg_detect_clr; /* 0xe8 */ + u32 usb1_chrg_detect_tog; /* 0xec */ + u32 usb1_chrg_det_stat; /* 0xf0 */ + u32 reserved5[3]; + u32 usbphy_anactrl; /* 0x100 */ + u32 usbphy_anactrl_set; /* 0x104 */ + u32 usbphy_anactrl_clr; /* 0x108 */ + u32 usbphy_anactrl_tog; /* 0x10c */ + u32 usb1_loopback; /* 0x110 */ + u32 usb1_loopback_set; /* 0x114 */ + u32 usb1_loopback_clr; /* 0x118 */ + u32 usb1_loopback_tog; /* 0x11c */ + u32 usb1_loopback_hsfscnt; /* 0x120 */ + u32 usb1_loopback_hsfscnt_set; /* 0x124 */ + u32 usb1_loopback_hsfscnt_clr; /* 0x128 */ + u32 usb1_loopback_hsfscnt_tog; /* 0x12c */ + u32 usphy_trim_override_en; /* 0x130 */ + u32 usphy_trim_override_en_set; /* 0x134 */ + u32 usphy_trim_override_en_clr; /* 0x138 */ + u32 usphy_trim_override_en_tog; /* 0x13c */ + u32 usb1_pfda_ctrl1; /* 0x140 */ + u32 usb1_pfda_ctrl1_set; /* 0x144 */ + u32 usb1_pfda_ctrl1_clr; /* 0x148 */ + u32 usb1_pfda_ctrl1_tog; /* 0x14c */ +}; +#endif + +#endif diff --git a/arch/arm/include/asm/arch-imx8ulp/imx8ulp-pins.h b/arch/arm/include/asm/arch-imx8ulp/imx8ulp-pins.h new file mode 100644 index 0000000000..d7c07f41b3 --- /dev/null +++ b/arch/arm/include/asm/arch-imx8ulp/imx8ulp-pins.h @@ -0,0 +1,60 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * Copyright 2021 NXP + */ + +#ifndef __ASM_ARCH_IMX8ULP_PINS_H__ +#define __ASM_ARCH_IMX8ULP_PINS_H__ + +#include + +enum { + IMX8ULP_PAD_PTB7__PMIC0_MODE2 = IOMUX_PAD(0x009C, 0x009C, IOMUX_CONFIG_MPORTS | 0xA, 0x0000, 0x0, 0), + IMX8ULP_PAD_PTB8__PMIC0_MODE1 = IOMUX_PAD(0x00A0, 0x00A0, IOMUX_CONFIG_MPORTS | 0xA, 0x0000, 0x0, 0), + IMX8ULP_PAD_PTB9__PMIC0_MODE0 = IOMUX_PAD(0x00A4, 0x00A4, IOMUX_CONFIG_MPORTS | 0xA, 0x0000, 0x0, 0), + IMX8ULP_PAD_PTB10__PMIC0_SDA = IOMUX_PAD(0x00A8, 0x00A8, IOMUX_CONFIG_MPORTS | 0xA, 0x0804, 0x2, 0), + IMX8ULP_PAD_PTB11__PMIC0_SCL = IOMUX_PAD(0x00AC, 0x00AC, IOMUX_CONFIG_MPORTS | 0xA, 0x0800, 0x2, 0), + + IMX8ULP_PAD_PTD0__SDHC0_RESET_b = IOMUX_PAD(0x0000, 0x0000, 0x8, 0x0000, 0x0, 0), + IMX8ULP_PAD_PTD1__SDHC0_CMD = IOMUX_PAD(0x0004, 0x0004, 0x8, 0x0000, 0x0, 0), + IMX8ULP_PAD_PTD2__SDHC0_CLK = IOMUX_PAD(0x0008, 0x0008, 0x8, 0x0000, 0x0, 0), + IMX8ULP_PAD_PTD3__SDHC0_D7 = IOMUX_PAD(0x000C, 0x000C, 0x8, 0x0000, 0x0, 0), + IMX8ULP_PAD_PTD4__SDHC0_D6 = IOMUX_PAD(0x0010, 0x0010, 0x8, 0x0000, 0x0, 0), + IMX8ULP_PAD_PTD5__SDHC0_D5 = IOMUX_PAD(0x0014, 0x0014, 0x8, 0x0000, 0x0, 0), + IMX8ULP_PAD_PTD6__SDHC0_D4 = IOMUX_PAD(0x0018, 0x0018, 0x8, 0x0000, 0x0, 0), + IMX8ULP_PAD_PTD7__SDHC0_D3 = IOMUX_PAD(0x001C, 0x001C, 0x8, 0x0000, 0x0, 0), + IMX8ULP_PAD_PTD8__SDHC0_D2 = IOMUX_PAD(0x0020, 0x0020, 0x8, 0x0000, 0x0, 0), + IMX8ULP_PAD_PTD9__SDHC0_D1 = IOMUX_PAD(0x0024, 0x0024, 0x8, 0x0000, 0x0, 0), + IMX8ULP_PAD_PTD10__SDHC0_D0 = IOMUX_PAD(0x0028, 0x0028, 0x8, 0x0000, 0x0, 0), + IMX8ULP_PAD_PTD11__SDHC0_DQS = IOMUX_PAD(0x002C, 0x002C, 0x8, 0x0000, 0x0, 0), + + IMX8ULP_PAD_PTD11__FLEXSPI2_B_SS0_B = IOMUX_PAD(0x002C, 0x002C, 0x9, 0x0000, 0x0, 0), + IMX8ULP_PAD_PTD11__FLEXSPI2_A_SS1_B = IOMUX_PAD(0x002C, 0x002C, 0xa, 0x0000, 0x0, 0), + IMX8ULP_PAD_PTD12__FLEXSPI2_A_SS0_B = IOMUX_PAD(0x0030, 0x0030, 0x9, 0x0000, 0x0, 0), + IMX8ULP_PAD_PTD12__FLEXSPI2_B_SS1_B = IOMUX_PAD(0x0030, 0x0030, 0xa, 0x0000, 0x0, 0), + IMX8ULP_PAD_PTD13__FLEXSPI2_A_SCLK = IOMUX_PAD(0x0034, 0x0034, 0x9, 0x0000, 0x0, 0), + IMX8ULP_PAD_PTD14__FLEXSPI2_A_DATA3 = IOMUX_PAD(0x0038, 0x0038, 0x9, 0x0000, 0x0, 0), + IMX8ULP_PAD_PTD15__FLEXSPI2_A_DATA2 = IOMUX_PAD(0x003c, 0x003c, 0x9, 0x0000, 0x0, 0), + IMX8ULP_PAD_PTD16__FLEXSPI2_A_DATA1 = IOMUX_PAD(0x0040, 0x0040, 0x9, 0x0000, 0x0, 0), + IMX8ULP_PAD_PTD17__FLEXSPI2_A_DATA0 = IOMUX_PAD(0x0044, 0x0044, 0x9, 0x0000, 0x0, 0), + IMX8ULP_PAD_PTD18__FLEXSPI2_A_DQS = IOMUX_PAD(0x0048, 0x0048, 0x9, 0x0000, 0x0, 0), + IMX8ULP_PAD_PTD19__FLEXSPI2_A_DATA7 = IOMUX_PAD(0x004c, 0x004c, 0x9, 0x0000, 0x0, 0), + IMX8ULP_PAD_PTD20__FLEXSPI2_A_DATA6 = IOMUX_PAD(0x0050, 0x0050, 0x9, 0x0000, 0x0, 0), + IMX8ULP_PAD_PTD21__FLEXSPI2_A_DATA5 = IOMUX_PAD(0x0054, 0x0054, 0x9, 0x0000, 0x0, 0), + IMX8ULP_PAD_PTD22__FLEXSPI2_A_DATA4 = IOMUX_PAD(0x0058, 0x0058, 0x9, 0x0000, 0x0, 0), + IMX8ULP_PAD_PTD23__FLEXSPI2_A_SS0_B = IOMUX_PAD(0x005c, 0x005c, 0x9, 0x0000, 0x0, 0), + IMX8ULP_PAD_PTD23__FLEXSPI2_A_SCLK = IOMUX_PAD(0x005c, 0x005c, 0xa, 0x0000, 0x0, 0), + + IMX8ULP_PAD_PTE19__ENET0_REFCLK = IOMUX_PAD(0x00CC, 0x00CC, 0xA, 0x0AF4, 0x1, 0), + IMX8ULP_PAD_PTF10__ENET0_1588_CLKIN = IOMUX_PAD(0x0128, 0x0128, 0x9, 0x0AD0, 0x2, 0), + + IMX8ULP_PAD_PTF11__SDHC1_RESET_b = IOMUX_PAD(0x012C, 0x012C, 0x8, 0x0000, 0x0, 0), + IMX8ULP_PAD_PTF3__SDHC1_CMD = IOMUX_PAD(0x010C, 0x010C, 0x8, 0x0A60, 0x2, 0), + IMX8ULP_PAD_PTF2__SDHC1_CLK = IOMUX_PAD(0x0108, 0x0108, 0x8, 0x0A5C, 0x2, 0), + IMX8ULP_PAD_PTF4__SDHC1_D3 = IOMUX_PAD(0x0110, 0x0110, 0x8, 0x0A70, 0x2, 0), + IMX8ULP_PAD_PTF5__SDHC1_D2 = IOMUX_PAD(0x0114, 0x0114, 0x8, 0x0A6C, 0x2, 0), + IMX8ULP_PAD_PTF0__SDHC1_D1 = IOMUX_PAD(0x0100, 0x0100, 0x8, 0x0A68, 0x2, 0), + IMX8ULP_PAD_PTF1__SDHC1_D0 = IOMUX_PAD(0x0104, 0x0104, 0x8, 0x0A64, 0x2, 0), + +}; +#endif /* __ASM_ARCH_IMX8ULP_PINS_H__ */ diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile index 82aa39dee7..36224d8db9 100644 --- a/arch/arm/mach-imx/Makefile +++ b/arch/arm/mach-imx/Makefile @@ -227,6 +227,7 @@ obj-$(CONFIG_MX5) += mx5/ obj-$(CONFIG_MX6) += mx6/ obj-$(CONFIG_MX7) += mx7/ obj-$(CONFIG_ARCH_MX7ULP) += mx7ulp/ +obj-$(CONFIG_ARCH_IMX8ULP) += imx8ulp/ obj-$(CONFIG_IMX8M) += imx8m/ obj-$(CONFIG_ARCH_IMX8) += imx8/ obj-$(CONFIG_ARCH_IMXRT) += imxrt/ diff --git a/arch/arm/mach-imx/imx8ulp/Makefile b/arch/arm/mach-imx/imx8ulp/Makefile new file mode 100644 index 0000000000..e8970dc04f --- /dev/null +++ b/arch/arm/mach-imx/imx8ulp/Makefile @@ -0,0 +1,7 @@ +# SPDX-License-Identifier: GPL-2.0+ +# +# Copyright 2020 NXP +# + +obj-y += lowlevel_init.o +obj-y += soc.o clock.o iomux.o diff --git a/arch/arm/mach-imx/imx8ulp/clock.c b/arch/arm/mach-imx/imx8ulp/clock.c new file mode 100644 index 0000000000..f866809fc2 --- /dev/null +++ b/arch/arm/mach-imx/imx8ulp/clock.c @@ -0,0 +1,27 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright 2020 NXP + */ + +#include +#include +#include +#include +#include +#include + +DECLARE_GLOBAL_DATA_PTR; + +void clock_init(void) +{ +} + +unsigned int mxc_get_clock(enum mxc_clock clk) +{ + return 0; +} + +u32 get_lpuart_clk(void) +{ + return 24000000; +} diff --git a/arch/arm/mach-imx/imx8ulp/iomux.c b/arch/arm/mach-imx/imx8ulp/iomux.c new file mode 100644 index 0000000000..c52ccdeaea --- /dev/null +++ b/arch/arm/mach-imx/imx8ulp/iomux.c @@ -0,0 +1,4 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright 2020 NXP + */ diff --git a/arch/arm/mach-imx/imx8ulp/lowlevel_init.S b/arch/arm/mach-imx/imx8ulp/lowlevel_init.S new file mode 100644 index 0000000000..7d81a75639 --- /dev/null +++ b/arch/arm/mach-imx/imx8ulp/lowlevel_init.S @@ -0,0 +1,32 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * Copyright 2020 NXP + */ + +#include + +.align 8 +.global rom_pointer +rom_pointer: + .space 256 + +/* + * Routine: save_boot_params (called after reset from start.S) + */ + +.global save_boot_params +save_boot_params: + /* The firmware provided ATAG/FDT address can be found in r2/x0 */ + adr x0, rom_pointer + stp x1, x2, [x0], #16 + stp x3, x4, [x0], #16 + + /* Returns */ + b save_boot_params_ret + +.global restore_boot_params +restore_boot_params: + adr x0, rom_pointer + ldp x1, x2, [x0], #16 + ldp x3, x4, [x0], #16 + ret diff --git a/arch/arm/mach-imx/imx8ulp/soc.c b/arch/arm/mach-imx/imx8ulp/soc.c index 383dbe6000..92998e9146 100644 --- a/arch/arm/mach-imx/imx8ulp/soc.c +++ b/arch/arm/mach-imx/imx8ulp/soc.c @@ -7,8 +7,11 @@ #include #include #include +#include #include +DECLARE_GLOBAL_DATA_PTR; + u32 get_cpu_rev(void) { return (MXC_CPU_IMX8ULP << 12) | CHIP_REV_1_0; @@ -52,8 +55,8 @@ static u32 reset_cause = -1; static char *get_reset_cause(char *ret) { u32 cause1, cause = 0, srs = 0; - void __iomem *reg_ssrs = (void __iomem *)(SRC_BASE_ADDR + 0x88); - void __iomem *reg_srs = (void __iomem *)(SRC_BASE_ADDR + 0x80); + void __iomem *reg_ssrs = (void __iomem *)(CMC1_BASE_ADDR + 0x88); + void __iomem *reg_srs = (void __iomem *)(CMC1_BASE_ADDR + 0x80); if (!ret) return "null"; @@ -137,3 +140,147 @@ int print_cpuinfo(void) } #endif +void init_wdog(void) +{ + /* TODO */ +} + +void s_init(void) +{ + /* Disable wdog */ + init_wdog(); +} + +static struct mm_region imx8ulp_arm64_mem_map[] = { + { + /* ROM */ + .virt = 0x0, + .phys = 0x0, + .size = 0x40000UL, + .attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL) | + PTE_BLOCK_OUTER_SHARE + }, + { + /* SSRAM (align with 2M) */ + .virt = 0x1FE00000UL, + .phys = 0x1FE00000UL, + .size = 0x400000UL, + .attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL) | + PTE_BLOCK_OUTER_SHARE | + PTE_BLOCK_PXN | PTE_BLOCK_UXN + }, { + /* SRAM1 (align with 2M) */ + .virt = 0x21000000UL, + .phys = 0x21000000UL, + .size = 0x200000UL, + .attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL) | + PTE_BLOCK_OUTER_SHARE | + PTE_BLOCK_PXN | PTE_BLOCK_UXN + }, { + /* SRAM0 (align with 2M) */ + .virt = 0x22000000UL, + .phys = 0x22000000UL, + .size = 0x200000UL, + .attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL) | + PTE_BLOCK_OUTER_SHARE | + PTE_BLOCK_PXN | PTE_BLOCK_UXN + }, { + /* Peripherals */ + .virt = 0x27000000UL, + .phys = 0x27000000UL, + .size = 0x3000000UL, + .attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | + PTE_BLOCK_NON_SHARE | + PTE_BLOCK_PXN | PTE_BLOCK_UXN + }, { + /* Peripherals */ + .virt = 0x2D000000UL, + .phys = 0x2D000000UL, + .size = 0x1600000UL, + .attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | + PTE_BLOCK_NON_SHARE | + PTE_BLOCK_PXN | PTE_BLOCK_UXN + }, { + /* FLEXSPI1-2 */ + .virt = 0x40000000UL, + .phys = 0x40000000UL, + .size = 0x40000000UL, + .attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | + PTE_BLOCK_NON_SHARE | + PTE_BLOCK_PXN | PTE_BLOCK_UXN + }, { + /* DRAM1 */ + .virt = 0x80000000UL, + .phys = 0x80000000UL, + .size = PHYS_SDRAM_SIZE, + .attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL) | + PTE_BLOCK_OUTER_SHARE + }, { + /* + * empty entrie to split table entry 5 + * if needed when TEEs are used + */ + 0, + }, { + /* List terminator */ + 0, + } +}; + +struct mm_region *mem_map = imx8ulp_arm64_mem_map; + +/* simplify the page table size to enhance boot speed */ +#define MAX_PTE_ENTRIES 512 +#define MAX_MEM_MAP_REGIONS 16 +u64 get_page_table_size(void) +{ + u64 one_pt = MAX_PTE_ENTRIES * sizeof(u64); + u64 size = 0; + + /* + * For each memory region, the max table size: + * 2 level 3 tables + 2 level 2 tables + 1 level 1 table + */ + size = (2 + 2 + 1) * one_pt * MAX_MEM_MAP_REGIONS + one_pt; + + /* + * We need to duplicate our page table once to have an emergency pt to + * resort to when splitting page tables later on + */ + size *= 2; + + /* + * We may need to split page tables later on if dcache settings change, + * so reserve up to 4 (random pick) page tables for that. + */ + size += one_pt * 4; + + return size; +} + +void enable_caches(void) +{ + /* TODO: add TEE memmap region */ + + icache_enable(); + dcache_enable(); +} + +int dram_init(void) +{ + gd->ram_size = PHYS_SDRAM_SIZE; + + return 0; +} + +#ifdef CONFIG_SERIAL_TAG +void get_board_serial(struct tag_serialnr *serialnr) +{ + /* TODO */ +} +#endif + +int arch_cpu_init(void) +{ + return 0; +} From patchwork Mon Apr 12 12:12:38 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Peng Fan \(OSS\)" X-Patchwork-Id: 419541 Delivered-To: patch@linaro.org Received: by 2002:a02:c4d2:0:0:0:0:0 with SMTP id h18csp1659885jaj; Mon, 12 Apr 2021 04:43:53 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzHg15B1k7wQauF4X4fiW/qec0Qy62875K+eRzaK+TRCwXZrMjgI+j2uAiwg5F27X7RMH0E X-Received: by 2002:aa7:c64b:: with SMTP id z11mr29572516edr.8.1618227833723; Mon, 12 Apr 2021 04:43:53 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1618227833; cv=pass; d=google.com; s=arc-20160816; b=jI3Cu8Imu95ZIv+jC0bTNvYJzXtkAxEYIo8PgUIWLw3DDfQm8Ovhaw7WiwAq/+zMzp /PsEgrlH/hoZ2HhxiQ9CoD4WSTmGwyiZZqGL2Nbsi7bfM/wUT9sgeSoqV/UlX5HP//48 1YbRZqrxY4ZGY+bJpIAAZXMJottlIOnY5u2IH/QMo2jdyL00ka6snumpfQcSeSyIH/hN NglORa1x1oKSlhaZ9OkA1XpFKbRcv9zv2IDYSQMjKArYsMNDomgyijGjVGnudTjlFhIB qWM22uufEzU4mhYdN1bq7s3A4bsYC+f00aFNWipAl6PI8DgQN40tueXnhVvIUlln8HQK b0Dg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:mime-version :content-transfer-encoding:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature; bh=j261ZSLhhCvpgiG1nAlLCio7x+otahcqA6Np7C4EkXk=; b=IddMSpM814i6FlGCjAb37iLzTeor4VRfbzrBI1AZh5t+sHxcYL/Hy21vvWeV7ocJcM I9g6GWhvORhFa5Exk+PRjGEyOtPsrBkbkwvatUelgHvDNdOa/OD5GHtlFfZvLTHPv4jW dKXQrPWIz8+/MFpIu3+Ldw23/8PyN90Tsw5Op5DSGuObQuDkHA97INRRWIhicHCb2T+E JAdBjmdLE84oEc6Hj1FzblKCOQ7Y8VJZVBL+PmRb76Q2nxicB+wZ6lwgtqeEBs84zAeS nTf5+qP6QggfjA7tYIQJwGIPVyKbHapxXtTkhnyiRNmFmQIbA2R8jncQo5TfeAkvUHsk kcMw== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@NXP1.onmicrosoft.com header.s=selector2-NXP1-onmicrosoft-com header.b=mm5tnRFb; arc=pass (i=1 spf=pass spfdomain=oss.nxp.com dkim=pass dkdomain=oss.nxp.com dmarc=pass fromdomain=oss.nxp.com); spf=pass (google.com: domain of u-boot-bounces@lists.denx.de designates 2a01:238:438b:c500:173d:9f52:ddab:ee01 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Return-Path: Received: from phobos.denx.de (phobos.denx.de. [2a01:238:438b:c500:173d:9f52:ddab:ee01]) by mx.google.com with ESMTPS id vz14si3449392ejb.138.2021.04.12.04.43.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Apr 2021 04:43:53 -0700 (PDT) Received-SPF: pass (google.com: domain of u-boot-bounces@lists.denx.de designates 2a01:238:438b:c500:173d:9f52:ddab:ee01 as permitted sender) client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; Authentication-Results: mx.google.com; dkim=pass header.i=@NXP1.onmicrosoft.com header.s=selector2-NXP1-onmicrosoft-com header.b=mm5tnRFb; arc=pass (i=1 spf=pass spfdomain=oss.nxp.com dkim=pass dkdomain=oss.nxp.com dmarc=pass fromdomain=oss.nxp.com); spf=pass (google.com: domain of u-boot-bounces@lists.denx.de designates 2a01:238:438b:c500:173d:9f52:ddab:ee01 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 4AB3581E72; Mon, 12 Apr 2021 13:43:10 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=oss.nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="mm5tnRFb"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id B6D0C81FD5; Mon, 12 Apr 2021 13:42:17 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER,SPF_HELO_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from EUR03-DB5-obe.outbound.protection.outlook.com (mail-db5eur03on061b.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe0a::61b]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id A20B981F9B for ; Mon, 12 Apr 2021 13:41:50 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=oss.nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=peng.fan@oss.nxp.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RoIikssedYfi9Ybe96HeZoil+d/1uFRJzGVd0B3L78ptkFWXee2V9QMCz3b6dS2k+88ryA08g3KU1PXcNEXKBmCllz4Ri+pjdjdvxohwQOVfZ5LcP124M9dRo9JVs+7rRMZLJolXl7khO1aEYIxBkx6jqtUahdJQt8+18dr8chjvfkiLEcoTn1QdcX1Wc4tSa81zoM1KhhvetWM/EXIYHzz5wWbXcHStsvSOmDVhK/eOtNrOe+kflIXN+9Mn+YoNF+UKyvCoqgVtfHaFlBI82qe7WSpOqPgAgWOy/SvdQq7/u/yV4Ao/2P+b46XNHxQNoEMi6h/zdD2GsV/zxHGsiw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=j261ZSLhhCvpgiG1nAlLCio7x+otahcqA6Np7C4EkXk=; b=Wlg+iboRbhJC4IcOyMW51IYZzdhP4KnhyxQ9iLFn/DkY65Bcxtam/CGmhK58iW3lImOEaYNPLgB488BI4ZE+j/hlhv8f//HW5WdxRwSm4ukbcssCIuEhC2o/ck3qGIw69145CDS+zFXgdR3qQt6SEas9L/VY4zNd6jnwXqbZX4P0WCAWvzix7D1W6XaY+36ys05JI4BoQRnUGbkPweg8rO2+GaY/EtkHx9sSLIhpNaYAMD7f5uBbs41kxeVXgpJLl0tX92i1IzpQ5R2N7V4MWe0vF1TiugEHXJRYYdOjpdlKHw4+0UCOtI6tt50nwJ+4WjpIUcH2kVnfW44Hyqyrzw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector2-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=j261ZSLhhCvpgiG1nAlLCio7x+otahcqA6Np7C4EkXk=; b=mm5tnRFbQThN1Xjdvx7iP9ogUvoL0CWSDGeKi4OusFkK7cdFlSEBiJ68axyO0iQXsif3rsvnfmGB2cudpN1Xko1sBJ6QDn9CIopEsOgnlxytXf20PG8/6tSHHdsgOx51sdHh+QfiDAxgLG1uEwPzKqF16CrtW+SihuUFM+HGl/c= Authentication-Results: denx.de; dkim=none (message not signed) header.d=none; denx.de; dmarc=none action=none header.from=oss.nxp.com; Received: from DB6PR0402MB2760.eurprd04.prod.outlook.com (2603:10a6:4:a1::14) by DB7PR04MB4233.eurprd04.prod.outlook.com (2603:10a6:5:25::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.22; Mon, 12 Apr 2021 11:41:49 +0000 Received: from DB6PR0402MB2760.eurprd04.prod.outlook.com ([fe80::c57a:6964:f72c:21cf]) by DB6PR0402MB2760.eurprd04.prod.outlook.com ([fe80::c57a:6964:f72c:21cf%11]) with mapi id 15.20.3999.032; Mon, 12 Apr 2021 11:41:49 +0000 From: "Peng Fan (OSS)" To: sbabic@denx.de, festevam@gmail.com Cc: u-boot@lists.denx.de, uboot-imx@nxp.com, Peng Fan Subject: [PATCH 09/37] arm: imx: parse-container: guard included header files Date: Mon, 12 Apr 2021 20:12:38 +0800 Message-Id: <20210412121306.11484-10-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20210412121306.11484-1-peng.fan@oss.nxp.com> References: <20210412121306.11484-1-peng.fan@oss.nxp.com> X-Originating-IP: [119.31.174.71] X-ClientProxiedBy: HK2PR0401CA0009.apcprd04.prod.outlook.com (2603:1096:202:2::19) To DB6PR0402MB2760.eurprd04.prod.outlook.com (2603:10a6:4:a1::14) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from linux-1xn6.ap.freescale.net (119.31.174.71) by HK2PR0401CA0009.apcprd04.prod.outlook.com (2603:1096:202:2::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.16 via Frontend Transport; Mon, 12 Apr 2021 11:41:46 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: cf26da47-1f89-4458-ded6-08d8fda7f50c X-MS-TrafficTypeDiagnostic: DB7PR04MB4233: X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:923; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: SyHS9raYy7hTUVFXrFslK5EbAVyR1lMABQedU2iscVDH9UDXkQ/dkAe4W3llUmL+S9/CfOUdTaZCUOpxjAySqEQGS/uH4zTBhSJ5HNsTlhV+VVk45N1PZwXMaSKHdsqDnsHhDvpzzYEqpcrbgl8DA+uPLIn34S6dlqe1DcnH4k0ykz6SyB36XzyxKxWVuaMCrrsGBMIEByewEwnQ4PV+AKpF7yccd/RQIbdQva6CxJMhNWOzJiWFqN8NG1PJmCN954rqj74zFC6RpTTccMAN+PDwoNSiC6FoX8Zghsu4CQ4AGCmaLYLJByP0+CpX/5A3LbGCov92d2SYpatY4p1nPJz+37PtJ0F4B+8s34jUgZbXtUYwe4Dl/lZ0dbdGxiZMIgkQzeMrAgJ22wlK1oh1Y3LuObJpWqSf3fl/mK24kqcFdZice2ge+hID1v70B5QG3r2tozIwG78l3db120psfezGZwo0M4lhJ17m2lYYNdev3nXwXtj5R4T0h7bFnqvwxMFJ9w0+VgXiF3M39gcoEYIBnJl5L34MmYPohFJDEh3sA+BDA/vKGfsMLReQ5WRUXp5LpqkIdItLD3FvXi0D7gn8/6JEXgXj6woC+bHxhh4KSI56QZLvD0EJwreU2xoNrpBPYONhlbpg1BTO4h/l7D59En1/vXNAOnHb+e/KUJE= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB6PR0402MB2760.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(396003)(39860400002)(136003)(346002)(366004)(4744005)(52116002)(83380400001)(956004)(86362001)(2616005)(6506007)(66476007)(8676002)(66556008)(1076003)(2906002)(4326008)(16526019)(316002)(26005)(5660300002)(6512007)(186003)(8936002)(38350700002)(38100700002)(478600001)(6666004)(6486002)(66946007); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: 65hFjxq06wpmu2Q0NYf1tIeCKRDo0r/WlTYJ+47eXwmxZSLCO1DpbND3gdcPFcueVkPPBTbrANFmLX1cngkENkXr8Ev2B/xtpOfxaxDw52Rf4CVr1TkFJ/aZ9rSecdGz+Zt5afwcSlNypmLTqz0dGzEhIPl4SuyU70ZsgdLUJJPq+CBCg3Hr+Uld8DhVXytkWWYPg1oQkoGVgfqtVFLuUxJvjLhXhsBCdmmMSd0JiS+6ZhEwjh/K/BpCaUZ+FmDzTtBHmKuzjwVLJi8FmzUxvercxmytQf1q3aNtLBYGgkeVsujv1f3eag70OZfM2Qaam5cSjChAL4rjg0jSTVBS30TMPhsvz8eUXHz0vhIFXbIdU5CdicONGUxBM0dJqQvyTXcKamQ+4MfOVOsPOsnIfHmjFVQrTWIjm/vWUuX7/+F6syaFUE/Ns3LkEq6HTvcOmTNOeGtqsM1K5nb64ZAzgLU/hFSf03Lr4cvn3K/AaB6kahc5sWuAyOSJJuwMGDoUIVLU3OhddmvbYHAvsJIzauEmPZzvW2rIsquAykgW1hZ5uCup7YYMqWtjLeucf/R49rtBx4YFVlb9CkaOtXat/h672FGRT6tKyo48H2uxNYf86fiC9EB/nbQ6Rk9WEoW/laxg2Tf1+uNLvGZsh354h/WVPEVFQWmZhhWRZTWWW130wO5XDtioHYhju+ILlracH/1EV4SrAccBE86x7qCOn6h1ZWcxGp+0pF/EkY8pymaP35rg/GIXs41kW/JMmUwkkSQFuSr0qy3X/4O1iVOifp7S4Um1lfAWQY1zz7nUkBKWLxAbxSInWYKaddgiQANwnTo+9MgwrUdQ5KU9UdqwoYSz8kLZW/pUavUzSpIIflg2GQTrzJRHCjGdmS/+1etYvaxv/RRftWTJZo6SYwmluLaQDJLBf9STF+/eVgB2n5Bp2ZCslF3Gb5kh7U7eaWkAWfN2TYCmV1CIIk/RMLQ1e7V0FqF+llKrSHep5PtS5cOe07zqdAQUqxXRDcYNmldqWDHtIgpgK9zMuQlTt6z7TK45LJ/GPm41E3tF5GxCL96yvxxii1bzEqUrcobjd3uLxunmmPF+wWWEE7cl0fzQTLoRa7z8poQ8xxZYgjoFdTO48ME22OahXd8RnYMeNdjMqZFbnMqi3XhVWSnsRRv9Ghkpa3Ei1JJxvOm88ukhQC0mZIn/FlD703Tdzp+IiHWfBPCaPEFMyRFDYLwf7Rd/4I49T/Hc61ru/Thh5gR5nBqjrFhY8Ff30gUEk6b3g819n0EwCJapMNHgh3T4Sji51jyYF0Uwn+bJHV+KBadtRHFLpIys+FYGadPzjXybOu6ws6/Yr8mdXa4o1GqnnGjB6A== X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: cf26da47-1f89-4458-ded6-08d8fda7f50c X-MS-Exchange-CrossTenant-AuthSource: DB6PR0402MB2760.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2021 11:41:48.9440 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: VkGDI/v4rxA0PO43Zigzag1X79yIx+bZxZ8PUWNEAAdl2AeH+TSfunLmvQ7tuKexxcIvl3NagE6t2bY8TktLzQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR04MB4233 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.4 at phobos.denx.de X-Virus-Status: Clean From: Peng Fan Guard included sci.h with CONFIG_AHAB_BOOT to avoid build failure for i.MX8ULP Signed-off-by: Peng Fan --- arch/arm/mach-imx/parse-container.c | 2 ++ 1 file changed, 2 insertions(+) -- 2.30.0 diff --git a/arch/arm/mach-imx/parse-container.c b/arch/arm/mach-imx/parse-container.c index e4354bf930..039a4c7303 100644 --- a/arch/arm/mach-imx/parse-container.c +++ b/arch/arm/mach-imx/parse-container.c @@ -8,7 +8,9 @@ #include #include #include +#ifdef CONFIG_AHAB_BOOT #include +#endif #define SEC_SECURE_RAM_BASE 0x31800000UL #define SEC_SECURE_RAM_END_BASE (SEC_SECURE_RAM_BASE + 0xFFFFUL) From patchwork Mon Apr 12 12:12:40 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Peng Fan \(OSS\)" X-Patchwork-Id: 419542 Delivered-To: patch@linaro.org Received: by 2002:a02:c4d2:0:0:0:0:0 with SMTP id h18csp1660059jaj; Mon, 12 Apr 2021 04:44:12 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxnvuXfup/VbAAt1HnAKI6LmCWKoSaNXwF3s4SdLX3T7A2G7wr/9dlE+9SQVSfSLF5+Coid X-Received: by 2002:a05:6402:3079:: with SMTP id bs25mr18065199edb.369.1618227852826; Mon, 12 Apr 2021 04:44:12 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1618227852; cv=pass; d=google.com; s=arc-20160816; b=ukjLpIVlLIQMgzt/EFW7DjsvwB1AH8QGYhGy0XmKUyryx1HafrXk+vOKlU0XkCwlgl WIgJzUPvlEqNZzE2bt+1SlHAI0luQ5PZUEyRE59E6Sz+rIimWEqH0yFY2B/tNreffx8W GXUaLS2tv/VSPhmWP9YizWGrgVYXJGuVHBXJiMZr0XWoJtpErowfWw5e5sb03QlCkbMD FTWCt/7Zt+TTgfOM4I5e4p10y9hzWjGJJJH0m42x61trDQgtTnmFdcm9GSXRnUBVUfgl +XmNmq39AAszh4P4PnsAELLmMUfG0Du2R64g7k5wjAELcdNt0cZj7v9Itc7YKZ0OyPje ZMXw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:mime-version :content-transfer-encoding:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature; bh=AbCdaQKiRxoYFbQvL0geRTMdiB73U4KDQWlNmwb2ipM=; b=EQV1PYf6ZQNmhOrySPdKqR2PnlwB6Xge/RHcRUF3mn7VpEBf5Vr5yvH7CyEY2kdcv5 ao8TDeZKYFf3AfVz+Dc8dUssCXqumoxOQstqAG7iuK0/yBy39nYP9cjSonpcTLTvw4oB 3I59SzTe95nRXn2FA9sB6CnjiFOY5lBVu/LwcUutteMgdY27RtnySxZKIerrTJYQFZad VdTpcsIkEaaWt539d67yoBS2C0FDUTqhdMbIo/ZoPZqQ/L0i3nR8DgkLhyccAQq/7brL T5oQcZbE0iXlw8BrT96ehMUyHBMHf5HnpDKAEyK87KQv8BlMEm1eZheo7fFGzwAFUtkQ aPyA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@NXP1.onmicrosoft.com header.s=selector2-NXP1-onmicrosoft-com header.b=AI4Rjn2h; arc=pass (i=1 spf=pass spfdomain=oss.nxp.com dkim=pass dkdomain=oss.nxp.com dmarc=pass fromdomain=oss.nxp.com); spf=pass (google.com: domain of u-boot-bounces@lists.denx.de designates 85.214.62.61 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Return-Path: Received: from phobos.denx.de (phobos.denx.de. [85.214.62.61]) by mx.google.com with ESMTPS id ds7si8281138ejc.534.2021.04.12.04.44.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Apr 2021 04:44:12 -0700 (PDT) Received-SPF: pass (google.com: domain of u-boot-bounces@lists.denx.de designates 85.214.62.61 as permitted sender) client-ip=85.214.62.61; Authentication-Results: mx.google.com; dkim=pass header.i=@NXP1.onmicrosoft.com header.s=selector2-NXP1-onmicrosoft-com header.b=AI4Rjn2h; arc=pass (i=1 spf=pass spfdomain=oss.nxp.com dkim=pass dkdomain=oss.nxp.com dmarc=pass fromdomain=oss.nxp.com); spf=pass (google.com: domain of u-boot-bounces@lists.denx.de designates 85.214.62.61 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id A49D882022; Mon, 12 Apr 2021 13:43:46 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=oss.nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="AI4Rjn2h"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 2233781FB2; Mon, 12 Apr 2021 13:42:25 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER,SPF_HELO_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from EUR03-DB5-obe.outbound.protection.outlook.com (mail-db5eur03on0602.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe0a::602]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id CB32E81FB2 for ; Mon, 12 Apr 2021 13:41:55 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=oss.nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=peng.fan@oss.nxp.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EfEhZJVXBxt2D96R7lLw8WDjHd42JrP5PCD37uofQZfIOgRfbiXxPSUsUl8YeLD84DHF34YTNd3SaCtbwwAlWrlOovttIyIbBsxQPMTeQDo50vTvGCGsopl1oYpUlg1Q6boPy1WZxUnhWikCMaE5GznTxVafs3j9vaQ8pYKgKzF4F37Ykn96P9V6u4/S9Wd6Zte1NCplP6q/mhxpsbB3bU0yuOv7bQNrcLQfV536KHi3tEkotVIzaEmcAYON6gydwvlhyVfJDRBqHStdUj/btY5y31zA6nDvlSweRfW7bAlw3+xX7n0QXvgTZ3RffpLmbRlpp6lFWiVE+pVU1lju4Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=AbCdaQKiRxoYFbQvL0geRTMdiB73U4KDQWlNmwb2ipM=; b=PXjUt1QOj2gF6UYwffVoPi/N7l9w8J6IhbA6I/X+AC4GrOtQSJ8yIcAi3p6F2qAtKULYjWE96kXY/vk05TPk+2Am/VFIkJirvC9FzexKuQdjJ88RwOfbqV+QpQpuiUzxN5OZRHRvT06DJIWhRCVU8BJoE0jet8xyfZWdrLpCl3+/8dXleEa1qqZNZJjqQ84vcLfLNDJbkMK7hhKph1d1KQnC+lhVZSEBWT17o57WxgGClkUMgONCQNrJ6uwaOxmW4EDZsEeC2nUwLGQUBgbtxstfay2O7DXihmPBrejZH5v1EFM9/L5ZnGBOSqn75eTz28Hf8ERrOj2pbP5oImvh2w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector2-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=AbCdaQKiRxoYFbQvL0geRTMdiB73U4KDQWlNmwb2ipM=; b=AI4Rjn2h/idVJkXTw8TLHRM/iK2J9ZG48pmWbpx2v9pfOqHrF2C8fdCWDOvEsgRec/1UCcL/TBIcYmbmfRaOC4j3SN42VJ0JuPg9g9KE5jJQyXslG1r9LoCXpIdZ0Q8O2oo72OT4n2upPBZ9pvpPQKsBeu69a5HgQLMxYTlv5/k= Authentication-Results: denx.de; dkim=none (message not signed) header.d=none; denx.de; dmarc=none action=none header.from=oss.nxp.com; Received: from DB6PR0402MB2760.eurprd04.prod.outlook.com (2603:10a6:4:a1::14) by DB7PR04MB4233.eurprd04.prod.outlook.com (2603:10a6:5:25::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.22; Mon, 12 Apr 2021 11:41:54 +0000 Received: from DB6PR0402MB2760.eurprd04.prod.outlook.com ([fe80::c57a:6964:f72c:21cf]) by DB6PR0402MB2760.eurprd04.prod.outlook.com ([fe80::c57a:6964:f72c:21cf%11]) with mapi id 15.20.3999.032; Mon, 12 Apr 2021 11:41:54 +0000 From: "Peng Fan (OSS)" To: sbabic@denx.de, festevam@gmail.com Cc: u-boot@lists.denx.de, uboot-imx@nxp.com, Peng Fan Subject: [PATCH 11/37] arm: imx: move container Kconfig under mach-imx Date: Mon, 12 Apr 2021 20:12:40 +0800 Message-Id: <20210412121306.11484-12-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20210412121306.11484-1-peng.fan@oss.nxp.com> References: <20210412121306.11484-1-peng.fan@oss.nxp.com> X-Originating-IP: [119.31.174.71] X-ClientProxiedBy: HK2PR0401CA0009.apcprd04.prod.outlook.com (2603:1096:202:2::19) To DB6PR0402MB2760.eurprd04.prod.outlook.com (2603:10a6:4:a1::14) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from linux-1xn6.ap.freescale.net (119.31.174.71) by HK2PR0401CA0009.apcprd04.prod.outlook.com (2603:1096:202:2::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.16 via Frontend Transport; Mon, 12 Apr 2021 11:41:52 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 4c2e9628-c612-4202-7be8-08d8fda7f842 X-MS-TrafficTypeDiagnostic: DB7PR04MB4233: X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:4502; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: hMrSR+jFP3Zz7jT1/qZu8YwtudoGtsKLRK5SBv5/4CFDE1fibJkhhI61pPcXCBH6WIfpDbrhNMKN10j+OJriYMAdDKfI1C+ajItuIo32bOo6V/E4NDvdv3vvfAkS8TAD4dDQSEU7qG4tmEzgHFJtFtzXQcrRPYu7dLuW9dfnW+M8zj1o4y9JqQosc3lCW91OhXNZyl3ABdwxh17NWtiUholUfYDNIQcv21nf/TF8Da6Q7GsRKC+g8/qNKaa9sVHBXAvWf5XnW7HaePcN81hm+i1nSmmt9tJdVw0NmlvhHn3xms7Y+GR0lFMWMRHwWwHOG1ZeZYXtyQcftpTUb2nJcreNO9IFmcKERbpHcB5LYqTJem6TXNSb2Pfsp8HzkGh+I+JuU2/WYVeEvXcSOfueeWFKNadMT1JkAiKacAnDMrVZRwXbFtuoyIgcnrZD1lW6OdWKTIvivHs4GFASnLFQ2t7AdgyHiy6mO+jyTB+lXMrb0m7wBywRz160Ueznv3PReYuwKFJTdfrmBOhMxv1jLzxYRT8kITZqshY5YRRKbKQA8zYzfMAKjyNCFnFOmGHJAKVDAbYySyRVQV3V6pv0+LlrBU8mzjm64h7G3C8hcDN6WFenceZvbkbeB7rkZHck3+0JLhooeIOH/XjQDprTKd9sjNoBIpGZ+7xCTGAJUWE= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB6PR0402MB2760.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(396003)(39860400002)(136003)(346002)(366004)(52116002)(83380400001)(956004)(86362001)(2616005)(6506007)(66476007)(8676002)(66556008)(1076003)(2906002)(4326008)(16526019)(316002)(26005)(5660300002)(6512007)(186003)(8936002)(38350700002)(38100700002)(478600001)(6666004)(6486002)(66946007); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: 6PmhN6cpEbyhp5C6c0ji7Pz1HQpJLumP8VOQCPdMATroyhmOCEzogfTsiYJYxvwzGu4ryG9624o0iWiggH0pitqnu+pJgPKbnGXXJssXzAOBc25T//kafUvR/PiFEUp2ex4jtboDBA5rpHs854bj/9syOjQbDOqGNWCFMVZJfSVMPhuvkl/J6K/BTPCxt1gPOejivCpLwMfPYYdIaIw1jidXZI4xE9x/gIKo/RlpyI1MKsQ7ge0phaMhsCCnFQSdq3xtvT9+1rpO8pgkvMeEMm2gp0OPDJGr77vbmBdzWjjR8sDNP93ucrh04o8fOYBPqyuPnjZJada2rDff89ugw0j5lfD+l/4qhGlBquPVOHom/g1rokmCWpuEubmDms2Rw067BvIbOnxkILMcwZ1RQPeQ3A0oLTHMlCPfaQAJgZgbz4BoRlSMuBvZX2Uut4h1wJ9Z7C8BWHOOJWod0/3yDHo98vya8pbjM4NXCTrN2EAhfIQxBlFV1vaSfZ6hfv7aAN8tprsUwGfydrlQq3JdkkoFKh8fCuvRqCt42yTh6AnWn/+rgg1/XZHgM7WaAB0BvQLX1KMK1wbccydu85465LPpgwvCvC4SO8HMVzAXJDZ2+IEqx/TmzciVk6/SHtWRNu+wKyGWwZHWFtHtFL4bRbBbvepIOC9PLROBXE2M9cmAwwLnGU8DDDpAXMj0CnLXF+a7zxiU1bwOgy3YiHp1XOqhbhoxIccJcKHcAjy/0kEBbq6Fuioub61AA82YkQKJaI8GRPEZxNWIM9Bc8CkbNqT1FPg9PwxiNQqA+kletNMkH4gKQD7nHLdtauW7d58vPfqq+KFNM87xcTUEzBD7Y9Twq1anooyVvJNJ/ga5aWcMRthCjIQ6oEovVOaJDCfE5cyz4tgsYgRSLdDDS3HdqyRzspvpavOxAPF2uAPeQlitSzlRHKSH8KzD05WMbfISGOU/n7CfjGrbocsGlPjcXvjbUX49cxKeQP2crS5ETiawS1QGU1xf5VD4VW/UpQpKgJZzD7A0Xh9TV+ptGXpoesh1L754rbyrHmlRaYKzCSTb4TwfGchJfQG8Vmj/WLVPwTWIeTEYVIgZaAk6IMymy1DRelrB7pmtGbiOl6h+UZS5+14mDcBsFqjP6RgkxbKzoKBtE3lpJ9j//TkNiDGyT+gCefpQpt0yc34qUO7VsjilKCA3L7mVEZW6WNA9hm6W0JfJ+ii5PtCpbQy/QVjHu/NKW0LlZAdJZ6uyP0Zw57/0tSaW11XOAEoMWJcSior5/a6XjJpX2ygBxGwLsSapMj95pFQsJ2mXVKBkK8sZ26WVPFqZHjCyP10cW28iEq1iS9u3ZDoe9RSAZoreUsNVEA== X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4c2e9628-c612-4202-7be8-08d8fda7f842 X-MS-Exchange-CrossTenant-AuthSource: DB6PR0402MB2760.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2021 11:41:54.0766 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: DZxfJYX4bchc3cFKv8QO0zxwaX2JbG+aCB3g+PMPekcnUIk5Dc5lVjy0sQb1Xz+vfZTkE4hNEGgg/FTic6XyBQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR04MB4233 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.4 at phobos.denx.de X-Virus-Status: Clean From: Peng Fan Since i.MX8 and i.MX8ULP reuse common container, so move the Kconfig public to both. Signed-off-by: Peng Fan --- arch/arm/mach-imx/Kconfig | 13 +++++++++++++ arch/arm/mach-imx/imx8/Kconfig | 13 ------------- 2 files changed, 13 insertions(+), 13 deletions(-) -- 2.30.0 diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig index c089664375..653463ab46 100644 --- a/arch/arm/mach-imx/Kconfig +++ b/arch/arm/mach-imx/Kconfig @@ -172,3 +172,16 @@ config IMX_DCD_ADDR the ROM code to configure the device at early boot stage, is located. This information is shared with the user via mkimage -l just so the image can be signed. + +config SPL_LOAD_IMX_CONTAINER + bool "Enable SPL loading U-Boot as a i.MX Container image" + depends on SPL + help + This is to let SPL could load i.MX Container image + +config IMX_CONTAINER_CFG + string "i.MX Container config file" + depends on SPL + help + This is to specific the cfg file for generating container + image which will be loaded by SPL. diff --git a/arch/arm/mach-imx/imx8/Kconfig b/arch/arm/mach-imx/imx8/Kconfig index 4e76612d05..4ad9ca8191 100644 --- a/arch/arm/mach-imx/imx8/Kconfig +++ b/arch/arm/mach-imx/imx8/Kconfig @@ -31,19 +31,6 @@ config IMX8QXP config SYS_SOC default "imx8" -config SPL_LOAD_IMX_CONTAINER - bool "Enable SPL loading U-Boot as a i.MX Container image" - depends on SPL - help - This is to let SPL could load i.MX8 Container image - -config IMX_CONTAINER_CFG - string "i.MX Container config file" - depends on SPL - help - This is to specific the cfg file for generating container - image which will be loaded by SPL. - config BOOTAUX_RESERVED_MEM_BASE hex "i.MX auxiliary core dram memory base" default 0 From patchwork Mon Apr 12 12:12:42 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Peng Fan \(OSS\)" X-Patchwork-Id: 419549 Delivered-To: patch@linaro.org Received: by 2002:a02:c4d2:0:0:0:0:0 with SMTP id h18csp1665392jaj; Mon, 12 Apr 2021 04:53:06 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz9CvqTPay+96CCVaLs47xiKWTPa9ZJztGvzL1Xz7gk7w8cjzxaXTQgy21CTd8eUbZcLA/J X-Received: by 2002:a05:6402:6c2:: with SMTP id n2mr29043219edy.110.1618228386135; Mon, 12 Apr 2021 04:53:06 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1618228386; cv=pass; d=google.com; s=arc-20160816; b=cYPUpADJ5FjhvQ3MyBrgIu+ccTxw1V0n5gpIsGigSE03Rsi+G4FnphscgUGkktqu3n qhJP5RhnIPo+WPyZUHem/VMY+EeKrZdfveDo4cUAHVpzTpBk9hm9tIDGjGume74V0dpE aWgoXCoP7LX05TF02nbkcz0moRwPzt00USulnEruIobS5ZTOGHKu2B6qRPjWhAMa6h5J GW6FzhCtfoJrimv3gWB4uNDzm93yvcKAUQwmYmIW2E1xRNrngFZOXznyY5fCjsheSV01 sHs6nm59w6ydMfyU8RVaFUs0TLX//SE15tJqFlyLoJ4a45bNUzBhoMgMX3Fk20aE2J4d cQ0Q== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:mime-version :content-transfer-encoding:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature; bh=GKlBHmGbTziVdM/cywAUGSY2XM6NmXhpPbWtgVNQDyk=; b=QuY/Lx/hXIzxBFdO+St7Y0Lq+zoFdzFnBNr+pguDzJCy0PHDuyDU1SucqSGwCZJ6b9 8oy/iujP8V9UnVN6sPP/i1y/i9LxX5kduwaGFemWM4S9RuKgP3d8HA7GHI4QDZ7l5v4g N+vnoTwA6+8afCmaFCdPi9jW9VHm/H646BhQB5C/svUwmEKooT120IVn7o6n2BnSSWqC oii5u9VAsOF8j1FHj8o1dxDeDuhJBJv9k8mzs1XXF8gBkeuZbH2ivWqOpXybMfBC4Byi 7Ps+dajc/Wpe/3NCaePD/WRiKgVpzb5CNhR8wHhihXIoraHQiSvbqZdb4SpH5w/9hzFu VCRQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@NXP1.onmicrosoft.com header.s=selector2-NXP1-onmicrosoft-com header.b=WMebJYYF; arc=pass (i=1 spf=pass spfdomain=oss.nxp.com dkim=pass dkdomain=oss.nxp.com dmarc=pass fromdomain=oss.nxp.com); spf=pass (google.com: domain of u-boot-bounces@lists.denx.de designates 2a01:238:438b:c500:173d:9f52:ddab:ee01 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Return-Path: Received: from phobos.denx.de (phobos.denx.de. [2a01:238:438b:c500:173d:9f52:ddab:ee01]) by mx.google.com with ESMTPS id i25si7511798edt.491.2021.04.12.04.53.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Apr 2021 04:53:06 -0700 (PDT) Received-SPF: pass (google.com: domain of u-boot-bounces@lists.denx.de designates 2a01:238:438b:c500:173d:9f52:ddab:ee01 as permitted sender) client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; Authentication-Results: mx.google.com; dkim=pass header.i=@NXP1.onmicrosoft.com header.s=selector2-NXP1-onmicrosoft-com header.b=WMebJYYF; arc=pass (i=1 spf=pass spfdomain=oss.nxp.com dkim=pass dkdomain=oss.nxp.com dmarc=pass fromdomain=oss.nxp.com); spf=pass (google.com: domain of u-boot-bounces@lists.denx.de designates 2a01:238:438b:c500:173d:9f52:ddab:ee01 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 2CBC881FE0; Mon, 12 Apr 2021 13:52:38 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=oss.nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="WMebJYYF"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id B65EC82046; Mon, 12 Apr 2021 13:42:43 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER,SPF_HELO_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on20601.outbound.protection.outlook.com [IPv6:2a01:111:f400:7d00::601]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id E865B81FBC for ; Mon, 12 Apr 2021 13:42:00 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=oss.nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=peng.fan@oss.nxp.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nn5dLi/GHMpyCW3gSWIA5nupgPSuGRR/wGyNS3O68fYIZUKshDCZmP8MA1F+zR4ETmJGki6Bmp08tddSLu/OhuT7FkGIcWFt9TNL8xmlRuvRTySOec7dZRatFBf00NrFoIarBhIsh6zWzv4i/dWUwDBOjEeubxRCTM2tM/qw4Hvc/qkKuhVZUKQYulF4zFQpA9mDbaE2MHOgElI/vHuHbNWmUN/3OD5WJZaiwYQXpFmvEMiqvcGn0c7i9elJNHGjfIbxKCe7dWsU7uYXOdh828IDI8YrIimVIwpseDVi7s2pH1O/fhNRDOcQLuSoNk57FywGGcuex5BxgNIjkPfILw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=GKlBHmGbTziVdM/cywAUGSY2XM6NmXhpPbWtgVNQDyk=; b=RsNqoKP10lmfuXsZxdS84BDacMo/61Q+tetUdbpngJkK4rlwWDSXU6FGlapkP02vP0NNlczm4IyaCtyUTi+fKey4G7f+CsYzD3akxK4agCP+AbUcFvf8+99jXsqleCTCPgnOwfOlZtm3Ft/hzD/TGC+MH+R4bFE4ZUttDMdsiAjOmyBR+aH/Y6APWe5HrEy5NrLAIC1+lAnxREK70WKUyoXDOhnewOQ73mc6QxkpKUaHy5bhT5ALvzmZGWsTKKrvHxBdzjQESa4ilmJ3pNP2c+S6uPXWuUFhwo+BCFPJFMRAsFMRjurg9ej27S1MD11qQnA6faftfb8N+zYlQtEwiw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector2-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=GKlBHmGbTziVdM/cywAUGSY2XM6NmXhpPbWtgVNQDyk=; b=WMebJYYFLEJIZ91TUKB9haWKYY++wX6UI8HpjnhE5mOETuBQcQCQsDtLVfbPBM7GyFf3q++v3Nf4GTfaZtUZNZWe0q0ObJhN2t/3Z8M8plr/guaNwopVyPkLMIlTlALMH/SdLZ/xm01M1qlNa18r2Qq8usxOBCS1TBuo+HPG4gI= Authentication-Results: denx.de; dkim=none (message not signed) header.d=none; denx.de; dmarc=none action=none header.from=oss.nxp.com; Received: from DB6PR0402MB2760.eurprd04.prod.outlook.com (2603:10a6:4:a1::14) by DB7PR04MB5244.eurprd04.prod.outlook.com (2603:10a6:10:21::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.18; Mon, 12 Apr 2021 11:41:59 +0000 Received: from DB6PR0402MB2760.eurprd04.prod.outlook.com ([fe80::c57a:6964:f72c:21cf]) by DB6PR0402MB2760.eurprd04.prod.outlook.com ([fe80::c57a:6964:f72c:21cf%11]) with mapi id 15.20.3999.032; Mon, 12 Apr 2021 11:41:59 +0000 From: "Peng Fan (OSS)" To: sbabic@denx.de, festevam@gmail.com Cc: u-boot@lists.denx.de, uboot-imx@nxp.com, Peng Fan Subject: [PATCH 13/37] net: fec_mxc: support i.MX8ULP Date: Mon, 12 Apr 2021 20:12:42 +0800 Message-Id: <20210412121306.11484-14-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20210412121306.11484-1-peng.fan@oss.nxp.com> References: <20210412121306.11484-1-peng.fan@oss.nxp.com> X-Originating-IP: [119.31.174.71] X-ClientProxiedBy: HK2PR0401CA0009.apcprd04.prod.outlook.com (2603:1096:202:2::19) To DB6PR0402MB2760.eurprd04.prod.outlook.com (2603:10a6:4:a1::14) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from linux-1xn6.ap.freescale.net (119.31.174.71) by HK2PR0401CA0009.apcprd04.prod.outlook.com (2603:1096:202:2::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.16 via Frontend Transport; Mon, 12 Apr 2021 11:41:57 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 35a47b3e-b8b3-4b86-8dc7-08d8fda7fb17 X-MS-TrafficTypeDiagnostic: DB7PR04MB5244: X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:2958; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: j2hX2eB4qCX3XWrQ6+h6js7zNAeTIMhJE1IOVMyoLlVDZspfUVh1BHpAoGB+4d7Ov56E1VsfTRXkObo3kO1KLYdjaHKeVsZ/l63MW0Py11/PGknb+/8o7K50QxuZ8W6qQhd7pVeP1LaMRKOMyoOBpWWxqprd2RPfFwlTR2PqF+Wr2PjbXWf76EhFDfxqNbdF22CrGDu8/Y87+HYNUthglbPoHNwRUq70hohTVibk6yLL5pqSjAHOy2Ks+uhPB4iwEw5HRL20qU7oiS4NDRBT0RjSqyTSLnX1SvevkAd/TV440pvt/Frg5q03F//EXiMSt4z6QCmpGY4osJyMxsZsBNMtqKEA+W23ogpzjx46y8B8tcNIpLkaXvK//P/Ckzfz9nCSGj8bXqdkpyPMfmH5qNnaQkLX+p6zn/rcCTf6sitcalTBIEYcgrzZrf894DSNUsnr8qHCzZDinUC4CbMxdrqIqUPEpFNApg+zCep+CqkKnCiV4bVs5T7bOVLHOuMkszWLuMplYXSPYMPPkNZUhtBKbJfogZ0oz02dxMa3B0R14c71P7FxZQfWqb2XedgZPLHod/hGrfM++B+pJ7AOps2FY3fQvh5pJbzehrY/CIQNcISW/AQijANTSUwMbN/rZlAGiZUMo9ozCPJ8TN4oShTYj0aTk1ErT3BISgTIimE= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB6PR0402MB2760.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(346002)(136003)(366004)(39860400002)(396003)(16526019)(26005)(186003)(6506007)(38100700002)(66946007)(66556008)(66476007)(316002)(8936002)(38350700002)(4326008)(956004)(478600001)(6486002)(5660300002)(6666004)(86362001)(6512007)(2616005)(2906002)(8676002)(52116002)(83380400001)(1076003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: UcZaEB/69O1y4zgLkxCQhCENjEjM1scflM2UufyIp/XeWemQli1YBBG6dLvHYFYiD/nLdHEQvg+jxHApThX3KTOZXzX497rSJuybe80GlJJSCM3PNb+PgDXsXkkRBMCJWRo6FvTkluPRTiWBHoiNwYqXYFXBreft16G/f5yg6Cv16gxAFtalGo95pT1FqsbqQ/nqI57lLwAHEtDSag+2fJJ0RFQ6WGfhAgT4YVvROX6YbKcgu4nDdNVn8yOzOV+bl0VY6fxM8qVAtEFFRtt6eEDfcUvQU4jXEB6/Cmgce4YGbY5RXSj17bw5JbAoDdsqFRmZ8qkRE8krgZhZa3iZchNxCuk6UtI3F8Ref0n5E0qweipYwbVz8WH4VZpJE72VRt7Bm/VH5r4ZhUBnI2CGU9XFO0Rbe5qAVs9X1sSGZGgVag2muslKioZnVNOe2x4TsbEnc8p0SCNraHGyEZ2egbzyJsMFDwp7Grn/Ur69rQIa6/ELAWdMYd/Il4zuT+vhQbX8kxxX5iZRD1Pjav2MdkPPb6SORRY2Ho50ZYT4lKHw494zcdnm3sZ3bdZypc/Kf6Xz07XmSVWv7yyOD9tEFnH3J+IGfygjnKvoqtAMfXYvYyd3YmRoqWPU9QECQfmPYayh7TG876TtTGWRGjpz/76giXETW5Wd3+4CnukAaIl4nZnqp+q/UrHfwEVsOvELxOIrCnkbUmqqq88DfRcOQg5/PxwhdgJEolVEGA3Y88tIfPEP6eTYGr5y6CLWW2L9E/oS6Lo1QyxlEkHQdxzIXUdn1dPIFmdOieSSmuMtzHJBX7i1Ofssl4idkF0VEnzXv+hGZfuNJCJD3n6TzV/bbSdHndpeqolvLJx+GoSiKWt2diPceJRcrBsFwhb8lwSv1SnzXSwZYAGcSAZaTHYsBK0J0oPWOjMSClBzRI/rTC+84nhYc9JrgSgz/NVnf9ILWGRaaYL6FK2IbxbwM6gBrTeaY36ZoH6A/uiEpa390VDK5dYgSlV465x4GY+oNG6UCGePLLNjuF0zeShgGkma1MHa8LctAg9k87beAxa3hmTR2cShx+pVJn/yowqYT2RtWgoeAV8gpgsV1vrma4X8P2ohjsKfJiNG511o9s7fV2z5Hou9U/Dz99faxfDCNq/rdVykZe2GwylYHmxGUCTvyFdpUYLuIAPjfjkHnHC+5csMpVrDWtPkzDhCvLt4RITh56KztkyXo6UU+G8LTymFoXA0xCQYCpE9JZ2niUMxuC98+5IV0vo5ACSyXAW3cy5QNzn6eJafKTdC4E0PvMYtSQ2Q8iGuPLurZ92K4sVDOY0z+qt1NQIJHwMuH/lambyN9fUguWfIpT9PHScFyD+Xmg== X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 35a47b3e-b8b3-4b86-8dc7-08d8fda7fb17 X-MS-Exchange-CrossTenant-AuthSource: DB6PR0402MB2760.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2021 11:41:59.0044 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: +UuyjhCcYNpVmRLF32xSOL/oEbdgqXROfRb5K02b1n9nxk7OFVRE62PDNtEJwBNg8/xt1fZrBaRjaSWcAOru8w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR04MB5244 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.4 at phobos.denx.de X-Virus-Status: Clean From: Peng Fan Support i.MX8ULP in fec_mxc Signed-off-by: Peng Fan --- drivers/net/Kconfig | 2 +- drivers/net/fec_mxc.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) -- 2.30.0 Reviewed-by: Ramon Fried diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig index cf062fad4d..a443b499ba 100644 --- a/drivers/net/Kconfig +++ b/drivers/net/Kconfig @@ -314,7 +314,7 @@ config FEC_MXC_MDIO_BASE config FEC_MXC bool "FEC Ethernet controller" - depends on MX28 || MX5 || MX6 || MX7 || IMX8 || IMX8M || VF610 + depends on MX28 || MX5 || MX6 || MX7 || IMX8 || IMX8M || IMX8ULP || VF610 help This driver supports the 10/100 Fast Ethernet controller for NXP i.MX processors. diff --git a/drivers/net/fec_mxc.c b/drivers/net/fec_mxc.c index ec21157d71..57ba856915 100644 --- a/drivers/net/fec_mxc.c +++ b/drivers/net/fec_mxc.c @@ -628,7 +628,7 @@ static int fec_init(struct eth_device *dev, struct bd_info *bd) writel(0x00000000, &fec->eth->gaddr2); /* Do not access reserved register */ - if (!is_mx6ul() && !is_mx6ull() && !is_imx8() && !is_imx8m()) { + if (!is_mx6ul() && !is_mx6ull() && !is_imx8() && !is_imx8m() && !is_imx8ulp()) { /* clear MIB RAM */ for (i = mib_ptr; i <= mib_ptr + 0xfc; i += 4) writel(0, i); From patchwork Mon Apr 12 12:12:44 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Peng Fan \(OSS\)" X-Patchwork-Id: 419548 Delivered-To: patch@linaro.org Received: by 2002:a02:c4d2:0:0:0:0:0 with SMTP id h18csp1665178jaj; Mon, 12 Apr 2021 04:52:45 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxRORUelW1rA46jGFLlrjezE3dXpOgKc8mreCj9t01MzqI8y+aq7IPbBNZEXiZiRfPrCdhI X-Received: by 2002:a05:6402:c1b:: with SMTP id co27mr20594858edb.61.1618228365472; Mon, 12 Apr 2021 04:52:45 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1618228365; cv=pass; d=google.com; s=arc-20160816; b=dVWogQX8J8ANfJr6GmVbSaQJv4xF6g6VgD9y3U5PMNQA/bI8Ap58dsU0CoVVV0dIpf cbf7PekuUdxY6L/PmdXE4tp2VY0IHBDxKW9ePp14wmE9ponh+3Ak1Mt2SjP9EH9GLEcy sgtdTrcRTEXGnEBZO15e6X96rGdQ6w3c8kiEM+hvmWsZETg3Zw8UKkeC+4+41was9+Vb JGk9bODQTGHBtAwituOLaOcRm/WdQmApC3Q34UGi8lD3Yj9n2GdDXt05zId4a3TqkbuZ xTILtaZVKy4Tv/yYvjWxT0gXSIwxEmEwivoN9toQyTRuN8REMyLEoxLHhsLh9NTe4qsb BzNw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:mime-version :content-transfer-encoding:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature; bh=BTOe0P5nfHfgleMHQKP6xM/be/g84GQXqAgK+z6Z1Aw=; b=jD4I+X5zFweHUOEOhxBwm0c2ajZ8a7Rz7mM29KMT74XrF8AMXGFvcRW5T1JpGmx9Qj kx0990hXviS5mJtsL6cSe+10f4w8geu/oroGPH8t1PVYVfi77jahhjTfkpjUhbfrWMpT xhzHQVikv6N5zIo0uKyyTsBn49XnGFaCBH0i5NBsoQRtvVkv196GHwCS28zojDZmY6i+ qlfUpFayQj9k/bf2EU+L5lZc76wIruFzzvIoCB/+sR5UgQWsLS4JXeDh94INl2YGWSsv 8s/u2gt6k1QrlkizMELTBDHavrrjXAKNbvWLSEIn6z4mApTQL67ecnc778EXz0MCVp2A 510g== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@NXP1.onmicrosoft.com header.s=selector2-NXP1-onmicrosoft-com header.b=jqIb6pyR; arc=pass (i=1 spf=pass spfdomain=oss.nxp.com dkim=pass dkdomain=oss.nxp.com dmarc=pass fromdomain=oss.nxp.com); spf=pass (google.com: domain of u-boot-bounces@lists.denx.de designates 85.214.62.61 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Return-Path: Received: from phobos.denx.de (phobos.denx.de. [85.214.62.61]) by mx.google.com with ESMTPS id i6si6818448edc.376.2021.04.12.04.52.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Apr 2021 04:52:45 -0700 (PDT) Received-SPF: pass (google.com: domain of u-boot-bounces@lists.denx.de designates 85.214.62.61 as permitted sender) client-ip=85.214.62.61; Authentication-Results: mx.google.com; dkim=pass header.i=@NXP1.onmicrosoft.com header.s=selector2-NXP1-onmicrosoft-com header.b=jqIb6pyR; arc=pass (i=1 spf=pass spfdomain=oss.nxp.com dkim=pass dkdomain=oss.nxp.com dmarc=pass fromdomain=oss.nxp.com); spf=pass (google.com: domain of u-boot-bounces@lists.denx.de designates 85.214.62.61 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id D686D81ED8; Mon, 12 Apr 2021 13:52:28 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=oss.nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="jqIb6pyR"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 9058F8208C; Mon, 12 Apr 2021 13:43:05 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER,SPF_HELO_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on20624.outbound.protection.outlook.com [IPv6:2a01:111:f400:7d00::624]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 69EF381FD4 for ; Mon, 12 Apr 2021 13:42:05 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=oss.nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=peng.fan@oss.nxp.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Udd/eIZ1ob4inIKyyXIp7HtzDfTsF+dVxNAH0GzOdQ1piGWacKhEh/I2blTWT2sKf7xyTYixaD+tq+pnRBjp2P/nvN5Pt4ziW3Xl2MELAAnVomNtICKCG7d7wG4tCEhIRWq94wT89Zngg0+tDwjhPKTMK5Cy1OucXkBayf3xv4SZjkLfqDerUPeB3KnvooE9dpciEkL628ggpSLcR2VnhPbacJkrSaq/tTEjSgMUMbz9mJxi6QX58o9N+UhMFaqkpaNSUIhxcxHAkUGhajhj47FRQg54kbtiFBJch9Rt+ePeNa0nTkkIrU1ZQe4K+N6GXEKT663MupPxI01E0JC6tA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=BTOe0P5nfHfgleMHQKP6xM/be/g84GQXqAgK+z6Z1Aw=; b=GgWQWt9nTtw8a1njzCYSUHstNkEDtIY1+D6Bw5GWmQTSw6T8lrmyKkfWH04OsS69N4G54jTWNWYZLkZJ08HUX3T13WM3bEWT+DX6wxnxSdVCT11YCyXuo1bOB+P3ElbCKhlR89CLPh6Vhwm/BtFs6wqY/ieYV0kfAa4fPoRTYs6YTOrtEmijTFL4oMPIsb/4x8HzLLlkMqQ+mhJk3MBorRBeDVSYw7OT5qDlO107IohL91v4OkDHiuFsdPvyoAFysLClFL+LWPYVVwZWytOk3sRIejRqs9vhTqmqvtwYBnsx9vjDo1pv8eYlZrrlIjc/r05as9gR/BVR1lMjRyVNzg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector2-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=BTOe0P5nfHfgleMHQKP6xM/be/g84GQXqAgK+z6Z1Aw=; b=jqIb6pyR3ZMX70PVm3M5T6BVQ+99jCqwW2yPS4t/hscBSFoNP6GOAxj6gBjV4xKo3fBwSqcxYCQ0C6J3rUld5Dt5XoLzU/X9USoIlbR/ygxSWlUUy+Rh4elTZsuy0YfEJ/cVDch+8TorPKAGkeLv4+a+eoWGbZ7DhX6hqPDNimE= Authentication-Results: denx.de; dkim=none (message not signed) header.d=none; denx.de; dmarc=none action=none header.from=oss.nxp.com; Received: from DB6PR0402MB2760.eurprd04.prod.outlook.com (2603:10a6:4:a1::14) by DB7PR04MB5244.eurprd04.prod.outlook.com (2603:10a6:10:21::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.18; Mon, 12 Apr 2021 11:42:04 +0000 Received: from DB6PR0402MB2760.eurprd04.prod.outlook.com ([fe80::c57a:6964:f72c:21cf]) by DB6PR0402MB2760.eurprd04.prod.outlook.com ([fe80::c57a:6964:f72c:21cf%11]) with mapi id 15.20.3999.032; Mon, 12 Apr 2021 11:42:04 +0000 From: "Peng Fan (OSS)" To: sbabic@denx.de, festevam@gmail.com Cc: u-boot@lists.denx.de, uboot-imx@nxp.com, Peng Fan Subject: [PATCH 15/37] driver: serial: fsl_lpuart: support i.MX8ULP Date: Mon, 12 Apr 2021 20:12:44 +0800 Message-Id: <20210412121306.11484-16-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20210412121306.11484-1-peng.fan@oss.nxp.com> References: <20210412121306.11484-1-peng.fan@oss.nxp.com> X-Originating-IP: [119.31.174.71] X-ClientProxiedBy: HK2PR0401CA0009.apcprd04.prod.outlook.com (2603:1096:202:2::19) To DB6PR0402MB2760.eurprd04.prod.outlook.com (2603:10a6:4:a1::14) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from linux-1xn6.ap.freescale.net (119.31.174.71) by HK2PR0401CA0009.apcprd04.prod.outlook.com (2603:1096:202:2::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.16 via Frontend Transport; Mon, 12 Apr 2021 11:42:02 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: dc6f18fd-11a0-4a8c-3599-08d8fda7fe1c X-MS-TrafficTypeDiagnostic: DB7PR04MB5244: X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:336; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 92Mh8Uup5QLgMGfi3TRQByfbOb4D+vbnsIq9/ORVlb2bbI1gFpO1SIcLx0bCCBlfYk0BV/cvwrqAYNpYrRHfXoHeg9BQ/CI4ZB/FHvaug6pUWQvyuad1aZ6SvYER9CtHhUeegJT7rohidbNGD7SiHW44a/umogHGFOwY3yCb9/AZ1253fmnSEtV00Ibu9fwrW9fcCN7Mx5XpuSTCw7wY58Kl3JSN4rxXsQaQqDF17w6KO+/TgJUQYu2hX84Fm0r9Msk5tPpNVVxXeKXPSuX5SoXyJ/qRpgaTvSOT4hfcqpsNu0QbGa64UFc6M5sj+OA4L2cZD0TNrW9MC0Juv45Jo5uT0g+aiKVslkkXELSlCGmrzET1FLAxjFvwPC1tAm6rRjjgNA1gGJDyi8bLHAPspHQ4ynXZ/CMLnVb2YWPx2oZeaelg7Jw+KlACSNpLfmYFGjnDpRn/P7QKd/s/u99UEJFUl3xiA/au20Bt2Z6lgK6L2WVk+HzOA7szbb9GznO45+4jmQSXK+ylZ1vrAcwcoSsVltpVaDRU8YCvUsvC/BUEAk3+dENC/kjYb1dp8NDEjgkJIaCBU44FOzyrRCds7qQ0Smlpuw7crMAi69igVb+ER8+/cB34MKoLZseMZmf8an6rlFGc7XM7x7m0ERaRwteJj4DYjec+WVS8V29AFpo= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB6PR0402MB2760.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(346002)(136003)(366004)(39860400002)(396003)(16526019)(26005)(186003)(6506007)(4744005)(38100700002)(66946007)(66556008)(66476007)(316002)(8936002)(38350700002)(4326008)(956004)(478600001)(6486002)(5660300002)(6666004)(86362001)(6512007)(2616005)(2906002)(8676002)(52116002)(83380400001)(1076003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: FpDti+NqvbWk7uNM+gp7ArLfuAApvjNOuvt/i+Ko0di6ReyqQWbSaOy9ZecQc+uH+sYn6A+Df9Uo63B4nWouI12Kj7hU9ivXK57CqIUKod6HTmldKlFYe+4CqxX4KrZx9xFzw4Ui1yIxOnK0cZYpfL9AsvII5L7OofPj1LB+SsI2edcfnxmSOVrZOA00FI/2NQ9BUWP4PH0Avm7uKkBQlGeBdh+bScZNK9RsJ1/qGSHQaMvetGA4lWssvU3nbIQTiF2oUzPPlLsO/apinLROfWIuKuUhqkNUAvNwecAqUxNxEV91Vesj4jOwQgbbSK/Csh5ObvY2edJHDwsDKwPAbQLzACIJThvTbUPDW+/Q5TDE+v75MLZTp4UiO8fIptqDSxSC1ZP8eHJht9ibJECMe5+0bl686+9fqMVMpwOq9LN83fYAEwCMFh76cnjjH1FwFIZhTR+sFbSrwfhZuuVS3GxTP3LGVoSoHLOAvKPdpbUSypNeRArt0widDs+/PeYSV2u0InFxh0xT0j4XMI/H0gGHOK0kOfX/1AFqwh2MSZtWI0IYqBvTnPmzhpfFOmI6ojHYS1mEQic9BFaPTTY+6YHBHeUgBavqjaKjhr6EByAzyxIphsNJ+wJ7Q5t5rVRtdoTYNyWBO4YWY+muBjP/DOxd7GpMQA8i63sfWw4HfPhYprFiytMeZpjwjCbz1UlvUk6xWzf/FMQNTh7DdB+FF8+FL3i5dvyzV7RzGgDNFwDo2SAGL0RqMVQxn7wYhW2+s/r/kujwx4P7yzWIgnv4Efl441T2CeutpB1+ECbPp1emMf824JGvXIOUEzN5cUJmu6g/2TQC0up1KMZCROzRn+vjYkpy9DsC09C9loAIdrIPnnzXFZY4Dkn7tqaCofp/v8d28Om3pyxHoltt+/FDLb3Zu09E/rrfnztgJRFHAxieqoiKcwueq+H6WVM2B8N0S98k/sodKKOzZ2zhvs6hlErH07jtE/jrKAvsRd78x85XQBfOUIU5vqDj4GoEdKQAeeD7gXN6aA93QPtaE8NOGJnOwuWGF8gozza2KluiDAieL16rsYhFEAod547YoxWlzKmgjyNf60SlrcFfCLqskfEqcRBYsiczpTnJJmHdHv7Rj25JKZnJ/wzbMMjIiaGpvgtQV3Lg1ppYkGzoRrvqocDCe4J9s2TFqe7d/pXM7ux1thAiija1S9AQXpbvlcvbxrsvq/sl6nIP5nf4wWCvLVFk+hbdnt/U4ZPAHQ1u9ZU5aV8LBaGqkdELVc4uN66aStMg9c1FoNLipaUszQ+6L4MeU3LroypI7cCKuo/WICqcGyf7VhdneWjzfkxOyzNTU7YOLK7hojJ9SMHLMUaEUw== X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: dc6f18fd-11a0-4a8c-3599-08d8fda7fe1c X-MS-Exchange-CrossTenant-AuthSource: DB6PR0402MB2760.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2021 11:42:04.0970 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 1qb/lVuq8h4AsCugAihFKUDwoHSdssLa/jUG1N7BxM2/cDyY+xLX4nS+4fingyMFfsME4GeFLoy3DbvtMnUQGQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR04MB5244 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.4 at phobos.denx.de X-Virus-Status: Clean From: Peng Fan i.MX8ULP lpuart has same register layout as i.MX7ULP and i.MX8 Signed-off-by: Peng Fan --- include/fsl_lpuart.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- 2.30.0 diff --git a/include/fsl_lpuart.h b/include/fsl_lpuart.h index 511fb84367..18e5cc15d6 100644 --- a/include/fsl_lpuart.h +++ b/include/fsl_lpuart.h @@ -5,7 +5,7 @@ */ #if defined(CONFIG_ARCH_MX7ULP) || defined(CONFIG_ARCH_IMX8) || \ - defined(CONFIG_ARCH_IMXRT) + defined(CONFIG_ARCH_IMXRT) || defined(CONFIG_ARCH_IMX8ULP) struct lpuart_fsl_reg32 { u32 verid; u32 param; From patchwork Mon Apr 12 12:12:45 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Peng Fan \(OSS\)" X-Patchwork-Id: 419553 Delivered-To: patch@linaro.org Received: by 2002:a02:c4d2:0:0:0:0:0 with SMTP id h18csp1666185jaj; Mon, 12 Apr 2021 04:54:21 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxjVRSeUArc4ZQ3LKKECE55UKLKSlZpjC0wa5BG/iTVMSg+GC5PJEw0C/uhHVyfk/skdmwp X-Received: by 2002:a17:906:2e14:: with SMTP id n20mr26307174eji.16.1618228461271; Mon, 12 Apr 2021 04:54:21 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1618228461; cv=pass; d=google.com; s=arc-20160816; b=P78kyqVwexiUtvwE9B8hu6EAr31hoNGblScO1MnDd9WDw8RvuA2O0Zp0xft/jD6Erk yUk355fZOZS5XTZiXnEAxr/eRInJe5RZx6x4A6DybXBtnUeCtCPVXBaXa+Bwl8CM2hsL lehbSS9V72UAqQW1ZkADkmUCjdeZJXDhPiviIFK4N5yUnxJheyyio85h7Gs1ZyDtklEf dL5ij6aLgL1u2OhSyM+cheGhuVQaXVPWgJIsdCPx2ilk2wUipdfECz+BAihNB2ePOzPQ 5+H4quC3gN+vn8366pCqfui23Q757fERnthyejR6b2B0goFuRtEAUnfhQ9YVC4gh/+CW Bl6g== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:mime-version :content-transfer-encoding:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature; bh=ubhwOHRCAV8ne+O3XK0i6k/l96Al6HaOt02D1D6sK6E=; b=RCzIJmaXbm5irh2XLm1c5NN0OQ2i9yW9sx+PgkJfeyd04+LV27iFLoff1nVhG62RHV Y5rpEelu9H9L9ci4pntABJLW+wVnJUlYF/iK2xGzg8kre2JxWCSDf2x7VAMLkAh0h6ZT EGjTevRQC+S7HvPB7lh9fVGu1k9yDZvutQwgTV9WJk7sioFGZlmV9uWEFBPaMy3RLfRh fja2TNPoh2/x9dGwySURcycm/7eZ6G2ZD10/smtlKSS7tGpnoCO+voxRqNxG+ReDvrnp AzOxVIxd6M/7TzFTD/1r6cOXHYj8xRSmDTLq0GqhOiupDjcVcQLPiP6SJtcxlBgW/UQG kngw== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@NXP1.onmicrosoft.com header.s=selector2-NXP1-onmicrosoft-com header.b=kjDef0xF; arc=pass (i=1 spf=pass spfdomain=oss.nxp.com dkim=pass dkdomain=oss.nxp.com dmarc=pass fromdomain=oss.nxp.com); spf=pass (google.com: domain of u-boot-bounces@lists.denx.de designates 2a01:238:438b:c500:173d:9f52:ddab:ee01 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Return-Path: Received: from phobos.denx.de (phobos.denx.de. [2a01:238:438b:c500:173d:9f52:ddab:ee01]) by mx.google.com with ESMTPS id f7si8179834edd.239.2021.04.12.04.54.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Apr 2021 04:54:21 -0700 (PDT) Received-SPF: pass (google.com: domain of u-boot-bounces@lists.denx.de designates 2a01:238:438b:c500:173d:9f52:ddab:ee01 as permitted sender) client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; Authentication-Results: mx.google.com; dkim=pass header.i=@NXP1.onmicrosoft.com header.s=selector2-NXP1-onmicrosoft-com header.b=kjDef0xF; arc=pass (i=1 spf=pass spfdomain=oss.nxp.com dkim=pass dkdomain=oss.nxp.com dmarc=pass fromdomain=oss.nxp.com); spf=pass (google.com: domain of u-boot-bounces@lists.denx.de designates 2a01:238:438b:c500:173d:9f52:ddab:ee01 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id E74AF82064; Mon, 12 Apr 2021 13:53:50 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=oss.nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="kjDef0xF"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 7EB4582037; Mon, 12 Apr 2021 13:53:34 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER,SPF_HELO_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2061b.outbound.protection.outlook.com [IPv6:2a01:111:f400:7d00::61b]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id B998F81F71 for ; Mon, 12 Apr 2021 13:42:11 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=oss.nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=peng.fan@oss.nxp.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=m4/S11/hI+lK00oVAAA8oULbCOhNUOUWrWcn97Jq5KojwkP94upvUeqSVuyrTym37NkGTBTYx+KxWRm0xZsUo4h/4EXFEGZeuc8pPdAy+6IurLrGh4knd5PpuuLDDiu7MU1yAbzjiO99bUNUHpGb5gmty4uqTZS6T/nWpIwxn1z2jc53XKqnX7m3qoSbn34YaFvtrx34s2rusib5CGsCJExKX3ak2z4u9YSVWknHBYENFXINUkr18yzihjZ5cY41q7Q1i/aAxmvsI+9WzvzRBuPi1apre7FKPGsx5whxLU8zVpsN8KZ0w8AvTWJFQFwk1OOUEEQhQOWMjRNh80YJFA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ubhwOHRCAV8ne+O3XK0i6k/l96Al6HaOt02D1D6sK6E=; b=dB1pb6KLtHEV7syHjIL6H1AmuLfvJM4+8hXcWbW/gFHqMvoXryBilEB/DUnmSyp618OHybcWttQJzj9i/Ne9T2tiSvTZgD93tTHdsN1DdGzVcVSFMR4QQ6NYTD3SbtsLLY8rjz1ZdR19lUV5yAePFLT6ZcgaL8nXo5ohTx96R/L0mBLkyvLDKRoWMb1JGgj++FJ6G7IB1Le041CMa3zmmbJ8W44kDiDe2V5iAjBjWbfnbLWTo1lygOe+dIcnx0IIbNdlxer6UV6z9MgDX/sLiiaI6soJI4hKQ/3dDcSXY0H3+G8qGrVPPE63MHIW7nsHCkk4TzPVo4wz72rCRKcatg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector2-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ubhwOHRCAV8ne+O3XK0i6k/l96Al6HaOt02D1D6sK6E=; b=kjDef0xF0Ba3zT0HZCZl60uz/bc11w3YY6VP8yNjOmkLB9eRPcOCvaltN2HgPmC3lE23R8Bf9aZ1Q2E+WWX/qgA0+udHfFz8utrDi0XC8M/tVZGWmNXauGLO2rYadOOM1H0BZ20BU4IpjSlE8rIlmlFzGJymhG9QTMEnutJz0ZI= Authentication-Results: denx.de; dkim=none (message not signed) header.d=none; denx.de; dmarc=none action=none header.from=oss.nxp.com; Received: from DB6PR0402MB2760.eurprd04.prod.outlook.com (2603:10a6:4:a1::14) by DB7PR04MB5244.eurprd04.prod.outlook.com (2603:10a6:10:21::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.18; Mon, 12 Apr 2021 11:42:08 +0000 Received: from DB6PR0402MB2760.eurprd04.prod.outlook.com ([fe80::c57a:6964:f72c:21cf]) by DB6PR0402MB2760.eurprd04.prod.outlook.com ([fe80::c57a:6964:f72c:21cf%11]) with mapi id 15.20.3999.032; Mon, 12 Apr 2021 11:42:07 +0000 From: "Peng Fan (OSS)" To: sbabic@denx.de, festevam@gmail.com Cc: u-boot@lists.denx.de, uboot-imx@nxp.com, Peng Fan Subject: [PATCH 16/37] arm: imx8ulp: add clock support Date: Mon, 12 Apr 2021 20:12:45 +0800 Message-Id: <20210412121306.11484-17-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20210412121306.11484-1-peng.fan@oss.nxp.com> References: <20210412121306.11484-1-peng.fan@oss.nxp.com> X-Originating-IP: [119.31.174.71] X-ClientProxiedBy: HK2PR0401CA0009.apcprd04.prod.outlook.com (2603:1096:202:2::19) To DB6PR0402MB2760.eurprd04.prod.outlook.com (2603:10a6:4:a1::14) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from linux-1xn6.ap.freescale.net (119.31.174.71) by HK2PR0401CA0009.apcprd04.prod.outlook.com (2603:1096:202:2::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.16 via Frontend Transport; Mon, 12 Apr 2021 11:42:04 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: f5feea33-53bf-462f-1055-08d8fda7ff97 X-MS-TrafficTypeDiagnostic: DB7PR04MB5244: X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:4714; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: CwI8ze7OuNHz5DGlgyQ8O/vxv+sCm2WO3Tx4KHXieqPS0R2nLaN4Q83sCPxFLUFL5q1VVTCHIhfUe4juZaV+ZdFmZTEZR35YFG0ZEgjE6n70K7uNLzE3DrSm7CP8J2GTj235QmTh24uYGdenyNNeoXNGGSj3hAy47alnFVf5okNO30M1cIObFTioE6p5/itQsFKQkJhYWmQFhE6E7fYd6c/P/A59yxexfehbvGNetFclosryTRlGJBnUOl/sL0wQcnNY+cvKWiRnoRTTluUc92hmkbxHUsZmT9uZP2cQ7swsAYnQ2hRC5UuXCgJlgsrfXGUvCeHn9FvesuIN714dztIgcfNqK/0tbK5o06GAbY6t/MoHlwuXGDiizhUEBZzNjxV64rPlrSDqePgMmlNAlyTSjwAD2+H6tu7Hx5znB/+/ReGjBwBxd80ju+4/6heGIxn99Q/loKaWnJs8/OjtqCp2kmReYSkuRZEyHvJzI/iY4PlY0Cg2u6deYRKV9b5MiuieQQYAYMLSNucCNzQdFfC6eYU7qzg5YZsVkoieBqltGKrHH3ED8mIwPsr+nXnU6Sc8BV8reo6r5Q92UyRw600NkIv09mnPpFRth6he2xxBRoEFMxU0NRgSLpkpSxsVZDIA/6xG74+JccLTPJe7Mo2sB6Fcv4EQSS6ehJnOpXO4GHEk7A/tj7Drgi92x6qPjiqmCWupguOq0cY14KuYlsxJdcpLhYnIjjyjkuFqAu0SsNFdqlHfS4j/yPH2T/Fs X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB6PR0402MB2760.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(346002)(136003)(366004)(39860400002)(396003)(16526019)(30864003)(26005)(186003)(6506007)(38100700002)(66946007)(66556008)(66476007)(316002)(8936002)(38350700002)(4326008)(956004)(478600001)(6486002)(5660300002)(6666004)(86362001)(6512007)(2616005)(2906002)(8676002)(52116002)(83380400001)(1076003)(32563001)(579004)(414714003)(473944003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: I4Z8Gb3QtmXkudjzKoZl7kdU8NEb9eQko1mPqtqSFXEeExuj+gERv/EyL/wkplhpT4hrAXu4mVCKzmGnKI1WUSeOw6s1rNOhT0Sc30hgG34tbHYgmrs2KeaKN5y569kjrFUAaJpwW6XgVTYsDc611etkNAOiaAYiX0hmFxOnPKJujz85vYD4cW4xso8UwHUtjxFEU7bRpITtqsJaqqF41MuptQwyeg2NwM8niFfRiDILTTBm6gS7rLGBhEauQSr3tjIlWt18GjxSodIfM24+cGApBK6XXGdz/hERidX9gkkPbq3hEqmo8WDJ4TRRo1U5nqlhduePKhCqANwIN9VLhWWbO/Ka1NV5R6EBDxu0QuiK6RV81+aW5WwpN8JGGWW4Xgb20TN7ZuNiIMVcgTXBb6EugVy44vXwSvBDbesgYi2qz0v3QaWttrrqEoicui1BZvPdzW/y74s+0tiNRhEci0V3v4yLftTDmGZlfEItV5OdkJGK9ja2T6us4I/qNgFxnngDPLckutzkT5bnoFgdRmTY2c2mwcG3Yz3GgiL2TNjQnSAWzL7j719ab1F9OmgIOJIx4sJ6VMAB4p1Rkmi8xSEvbaJoYmvMMXXQrlUc6d9UGFoHastSBgySAzSAhWyzwlqMFnNWYnTTw+n2pTbRatDQBkPdhChETl5TZZH2n7vin1L+46AOFJO32PZZ7fKRncaqrDyVPE2fHb8MWxebm7kg7zvoh0H/kG7QxYUxnoMMYPHmfnQf15/UrzhJoQvb37MpbZj/LKuM0GtMbqaxpEtfN2TU6GKZJkbwjynzVf5W7u810Zt5tZfus9yeLwvinYBhmr/TaKtFCMXsZhWUVb+9gTzNa26Ena2PXW4qJw64qLWBRJCVL1zgy83ZuLW57UUMhk3K53GbQ050EIJfIgskM5RscfnXp/HE4DoyIHP4neqaZiPEDyiCfBq4P5sMMJ+KTNAGnHi+D038+An91k3cIZlaW2hqe8ue+5utLtipIaL4htHBkNy0vv4NA9D27tw54xbpQBUAObDq5RXzwV6k4ejsvxGVEcUssJIocVkHTLWpZIAVTJNcpAHFaF3wZVIopUe1JUuluO24lADKE2u4v7XnCLLb7UNM5Ft+HmR/H0T5spNpb6VtWuPYUiglVEqkUjs5ilFp3O/AfqB2fUXNRBh53IqG2QE2vQmWxTgFkfquQt+Pn2ga6Ry8MO9UL4rxmtuaGkIcRPpbm53CWlZYeNJvclIHivJRLSSC9Q+xo9ovjGEk8kA9kCe/juL4dBH70J9IriMuOJ4ZoCvygNdgFqL3KePdjOUP1NLUWRWmEhbHO9b/AKrVlflZMYsbS8Bep+8W9bglkTgAlv04GA== X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: f5feea33-53bf-462f-1055-08d8fda7ff97 X-MS-Exchange-CrossTenant-AuthSource: DB6PR0402MB2760.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2021 11:42:07.0317 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: mH486r0ANr9NKwWL5n+STLjNlR9D2Mufb+3Uamkno3/FFK6QZ6awVi4N3MfXuacaRMDxpug3+4ZeI0VA3u6uFA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR04MB5244 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.4 at phobos.denx.de X-Virus-Status: Clean From: Peng Fan Add i.MX8ULP clock support Signed-off-by: Peng Fan --- arch/arm/include/asm/arch-imx8ulp/cgc.h | 130 ++++++ arch/arm/include/asm/arch-imx8ulp/clock.h | 9 +- arch/arm/include/asm/arch-imx8ulp/imx-regs.h | 1 + arch/arm/include/asm/arch-imx8ulp/pcc.h | 139 ++++++ arch/arm/mach-imx/imx8ulp/Makefile | 2 +- arch/arm/mach-imx/imx8ulp/cgc.c | 459 +++++++++++++++++++ arch/arm/mach-imx/imx8ulp/clock.c | 367 ++++++++++++++- arch/arm/mach-imx/imx8ulp/pcc.c | 449 ++++++++++++++++++ arch/arm/mach-imx/imx8ulp/soc.c | 3 + 9 files changed, 1555 insertions(+), 4 deletions(-) create mode 100644 arch/arm/include/asm/arch-imx8ulp/cgc.h create mode 100644 arch/arm/include/asm/arch-imx8ulp/pcc.h create mode 100644 arch/arm/mach-imx/imx8ulp/cgc.c create mode 100644 arch/arm/mach-imx/imx8ulp/pcc.c -- 2.30.0 diff --git a/arch/arm/include/asm/arch-imx8ulp/cgc.h b/arch/arm/include/asm/arch-imx8ulp/cgc.h new file mode 100644 index 0000000000..34a15fb59c --- /dev/null +++ b/arch/arm/include/asm/arch-imx8ulp/cgc.h @@ -0,0 +1,130 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * Copyright 2021 NXP + */ + +#ifndef _ASM_ARCH_CGC_H +#define _ASM_ARCH_CGC_H + +enum cgc1_clk { + DUMMY0_CLK, + DUMMY1_CLK, + LPOSC, + XBAR_BUSCLK, + SOSC, + SOSC_DIV1, + SOSC_DIV2, + SOSC_DIV3, + FRO, + FRO_DIV1, + FRO_DIV2, + FRO_DIV3, + PLL2, + PLL3, + PLL3_VCODIV, + PLL3_PFD0, + PLL3_PFD1, + PLL3_PFD2, + PLL3_PFD3, + PLL3_PFD0_DIV1, + PLL3_PFD0_DIV2, + PLL3_PFD1_DIV1, + PLL3_PFD1_DIV2, + PLL3_PFD2_DIV1, + PLL3_PFD2_DIV2, + PLL3_PFD3_DIV1, + PLL3_PFD3_DIV2, +}; + +struct cgc1_regs { + u32 verid; + u32 rsvd1[4]; + u32 ca35clk; + u32 rsvd2[2]; + u32 clkoutcfg; + u32 rsvd3[4]; + u32 nicclk; + u32 xbarclk; + u32 rsvd4[21]; + u32 clkdivrst; + u32 rsvd5[29]; + u32 soscdiv; + u32 rsvd6[63]; + u32 frodiv; + u32 rsvd7[189]; + u32 pll2csr; + u32 rsvd8[3]; + u32 pll2cfg; + u32 rsvd9; + u32 pll2denom; + u32 pll2num; + u32 pll2ss; + u32 rsvd10[55]; + u32 pll3csr; + u32 pll3div_vco; + u32 pll3div_pfd0; + u32 pll3div_pfd1; + u32 pll3cfg; + u32 pll3pfdcfg; + u32 pll3denom; + u32 pll3num; + u32 pll3ss; + u32 pll3lock; + u32 rsvd11[54]; + u32 enetstamp; + u32 rsvd12[67]; + u32 pllusbcfg; + u32 rsvd13[59]; + u32 aud_clk1; + u32 sai5_4_clk; + u32 tpm6_7clk; + u32 mqs1clk; + u32 rsvd14[60]; + u32 lvdscfg; +}; + +struct cgc2_regs { + u32 verid; + u32 rsvd1[4]; + u32 hificlk; + u32 rsvd2[2]; + u32 clkoutcfg; + u32 rsvd3[6]; + u32 niclpavclk; + u32 ddrclk; + u32 rsvd4[19]; + u32 clkdivrst; + u32 rsvd5[29]; + u32 soscdiv; + u32 rsvd6[63]; + u32 frodiv; + u32 rsvd7[253]; + u32 pll4csr; + u32 pll4div_vco; + u32 pll4div_pfd0; + u32 pll4div_pfd1; + u32 pll4cfg; + u32 pll4pfdcfg; + u32 pll4denom; + u32 pll4num; + u32 pll4ss; + u32 pll4lock; + u32 rsvd8[128]; + u32 aud_clk2; + u32 sai7_6_clk; + u32 tpm8clk; + u32 rsvd9[1]; + u32 spdifclk; + u32 rsvd10[59]; + u32 lvdscfg; +}; + +u32 cgc1_clk_get_rate(enum cgc1_clk clk); +void cgc1_pll3_init(void); +void cgc1_pll2_init(void); +void cgc1_soscdiv_init(void); +void cgc1_init_core_clk(void); +void cgc2_pll4_init(void); +void cgc2_ddrclk_config(u32 src, u32 div); +u32 cgc1_sosc_div(enum cgc1_clk clk); +#endif diff --git a/arch/arm/include/asm/arch-imx8ulp/clock.h b/arch/arm/include/asm/arch-imx8ulp/clock.h index e145c33f01..58e3356e32 100644 --- a/arch/arm/include/asm/arch-imx8ulp/clock.h +++ b/arch/arm/include/asm/arch-imx8ulp/clock.h @@ -1,6 +1,6 @@ /* SPDX-License-Identifier: GPL-2.0+ */ /* - * Copyright 2020 NXP + * Copyright 2021 NXP */ #ifndef _ASM_ARCH_IMX8ULP_CLOCK_H @@ -17,6 +17,7 @@ enum mxc_clock { MXC_DDR_CLK, MXC_ESDHC_CLK, MXC_ESDHC2_CLK, + MXC_ESDHC3_CLK, MXC_I2C_CLK, }; @@ -26,9 +27,15 @@ u32 get_lpuart_clk(void); int enable_i2c_clk(unsigned char enable, unsigned int i2c_num); u32 imx_get_i2cclk(unsigned int i2c_num); #endif +void enable_usboh3_clk(unsigned char enable); +int enable_usb_pll(ulong usb_phy_base); #ifdef CONFIG_MXC_OCOTP void enable_ocotp_clk(unsigned char enable); #endif void init_clk_usdhc(u32 index); +void init_clk_fspi(int index); +void init_clk_ddr(void); +int set_ddr_clk(u32 phy_freq_mhz); void clock_init(void); +void cgc1_enet_stamp_sel(u32 clk_src); #endif diff --git a/arch/arm/include/asm/arch-imx8ulp/imx-regs.h b/arch/arm/include/asm/arch-imx8ulp/imx-regs.h index 52831d7262..9f76bc85fc 100644 --- a/arch/arm/include/asm/arch-imx8ulp/imx-regs.h +++ b/arch/arm/include/asm/arch-imx8ulp/imx-regs.h @@ -7,6 +7,7 @@ #define _IMX8ULP_REGS_H_ #define ARCH_MXC +#include #include #define PBRIDGE0_BASE 0x28000000 diff --git a/arch/arm/include/asm/arch-imx8ulp/pcc.h b/arch/arm/include/asm/arch-imx8ulp/pcc.h new file mode 100644 index 0000000000..091d0175dd --- /dev/null +++ b/arch/arm/include/asm/arch-imx8ulp/pcc.h @@ -0,0 +1,139 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * Copyright 2021 NXP + */ + +#ifndef _ASM_ARCH_IMX8ULP_PCC_H +#define _ASM_ARCH_IMX8ULP_PCC_H + +#include + +enum pcc3_entry { + DMA1_MP_PCC3_SLOT = 1, + DMA1_CH0_PCC3_SLOT = 2, + DMA1_CH1_PCC3_SLOT = 3, + DMA1_CH2_PCC3_SLOT = 4, + DMA1_CH3_PCC3_SLOT = 5, + DMA1_CH4_PCC3_SLOT = 6, + DMA1_CH5_PCC3_SLOT = 7, + DMA1_CH6_PCC3_SLOT = 8, + DMA1_CH7_PCC3_SLOT = 9, + DMA1_CH8_PCC3_SLOT = 10, + DMA1_CH9_PCC3_SLOT = 11, + DMA1_CH10_PCC3_SLOT = 12, + DMA1_CH11_PCC3_SLOT = 13, + DMA1_CH12_PCC3_SLOT = 14, + DMA1_CH13_PCC3_SLOT = 15, + DMA1_CH14_PCC3_SLOT = 16, + DMA1_CH15_PCC3_SLOT = 17, + DMA1_CH16_PCC3_SLOT = 18, + DMA1_CH17_PCC3_SLOT = 19, + DMA1_CH18_PCC3_SLOT = 20, + DMA1_CH19_PCC3_SLOT = 21, + DMA1_CH20_PCC3_SLOT = 22, + DMA1_CH21_PCC3_SLOT = 23, + DMA1_CH22_PCC3_SLOT = 24, + DMA1_CH23_PCC3_SLOT = 25, + DMA1_CH24_PCC3_SLOT = 26, + DMA1_CH25_PCC3_SLOT = 27, + DMA1_CH26_PCC3_SLOT = 28, + DMA1_CH27_PCC3_SLOT = 29, + DMA1_CH28_PCC3_SLOT = 30, + DMA1_CH29_PCC3_SLOT = 31, + DMA1_CH30_PCC3_SLOT = 32, + DMA1_CH31_PCC3_SLOT = 33, + MU0_B_PCC3_SLOT = 34, + MU3_A_PCC3_SLOT = 35, + LLWU1_PCC3_SLOT = 38, + UPOWER_PCC3_SLOT = 40, + WDOG3_PCC3_SLOT = 42, + WDOG4_PCC3_SLOT = 43, + XRDC_MGR_PCC3_SLOT = 47, + SEMA42_1_PCC3_SLOT = 48, + ROMCP1_PCC3_SLOT = 49, + LPIT1_PCC3_SLOT = 50, + TPM4_PCC3_SLOT = 51, + TPM5_PCC3_SLOT = 52, + FLEXIO1_PCC3_SLOT = 53, + I3C2_PCC3_SLOT = 54, + LPI2C4_PCC3_SLOT = 55, + LPI2C5_PCC3_SLOT = 56, + LPUART4_PCC3_SLOT = 57, + LPUART5_PCC3_SLOT = 58, + LPSPI4_PCC3_SLOT = 59, + LPSPI5_PCC3_SLOT = 60, +}; + +enum pcc4_entry { + FLEXSPI2_PCC4_SLOT = 1, + TPM6_PCC4_SLOT = 2, + TPM7_PCC4_SLOT = 3, + LPI2C6_PCC4_SLOT = 4, + LPI2C7_PCC4_SLOT = 5, + LPUART6_PCC4_SLOT = 6, + LPUART7_PCC4_SLOT = 7, + SAI4_PCC4_SLOT = 8, + SAI5_PCC4_SLOT = 9, + PCTLE_PCC4_SLOT = 10, + PCTLF_PCC4_SLOT = 11, + SDHC0_PCC4_SLOT = 13, + SDHC1_PCC4_SLOT = 14, + SDHC2_PCC4_SLOT = 15, + USB0_PCC4_SLOT = 16, + USBPHY_PCC4_SLOT = 17, + USB1_PCC4_SLOT = 18, + USB1PHY_PCC4_SLOT = 19, + USB_XBAR_PCC4_SLOT = 20, + ENET_PCC4_SLOT = 21, + SFA1_PCC4_SLOT = 22, + RGPIOE_PCC4_SLOT = 30, + RGPIOF_PCC4_SLOT = 31, +}; + +/* PCC registers */ +#define PCC_PR_OFFSET 31 +#define PCC_PR_MASK (0x1 << PCC_PR_OFFSET) +#define PCC_CGC_OFFSET 30 +#define PCC_CGC_MASK (0x1 << PCC_CGC_OFFSET) +#define PCC_INUSE_OFFSET 29 +#define PCC_INUSE_MASK (0x1 << PCC_INUSE_OFFSET) +#define PCC_PCS_OFFSET 24 +#define PCC_PCS_MASK (0x7 << PCC_PCS_OFFSET) +#define PCC_FRAC_OFFSET 3 +#define PCC_FRAC_MASK (0x1 << PCC_FRAC_OFFSET) +#define PCC_PCD_OFFSET 0 +#define PCC_PCD_MASK (0x7 << PCC_PCD_OFFSET) + +enum pcc_clksrc_type { + CLKSRC_PER_PLAT = 0, + CLKSRC_PER_BUS = 1, + CLKSRC_NO_PCS = 2, +}; + +enum pcc_div_type { + PCC_HAS_DIV, + PCC_NO_DIV, +}; + +enum pcc_rst_b { + PCC_HAS_RST_B, + PCC_NO_RST_B, +}; + +/* This structure keeps info for each pcc slot */ +struct pcc_entry { + u32 pcc_base; + u32 pcc_slot; + enum pcc_clksrc_type clksrc; + enum pcc_div_type div; + enum pcc_rst_b rst_b; +}; + +int pcc_clock_enable(int pcc_controller, int pcc_clk_slot, bool enable); +int pcc_clock_sel(int pcc_controller, int pcc_clk_slot, enum cgc1_clk src); +int pcc_clock_div_config(int pcc_controller, int pcc_clk_slot, bool frac, u8 div); +bool pcc_clock_is_enable(int pcc_controller, int pcc_clk_slot); +int pcc_clock_get_clksrc(int pcc_controller, int pcc_clk_slot, enum cgc1_clk *src); +int pcc_reset_peripheral(int pcc_controller, int pcc_clk_slot, bool reset); +u32 pcc_clock_get_rate(int pcc_controller, int pcc_clk_slot); +#endif diff --git a/arch/arm/mach-imx/imx8ulp/Makefile b/arch/arm/mach-imx/imx8ulp/Makefile index e8970dc04f..78c81d78bb 100644 --- a/arch/arm/mach-imx/imx8ulp/Makefile +++ b/arch/arm/mach-imx/imx8ulp/Makefile @@ -4,4 +4,4 @@ # obj-y += lowlevel_init.o -obj-y += soc.o clock.o iomux.o +obj-y += soc.o clock.o iomux.o pcc.o cgc.o diff --git a/arch/arm/mach-imx/imx8ulp/cgc.c b/arch/arm/mach-imx/imx8ulp/cgc.c new file mode 100644 index 0000000000..a636592c7f --- /dev/null +++ b/arch/arm/mach-imx/imx8ulp/cgc.c @@ -0,0 +1,459 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright 2021 NXP + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +DECLARE_GLOBAL_DATA_PTR; + +static struct cgc1_regs *cgc1_regs = (struct cgc1_regs *)0x292C0000UL; +static struct cgc2_regs *cgc2_regs = (struct cgc2_regs *)0x2da60000UL; + +void cgc1_soscdiv_init(void) +{ + /* Configure SOSC/FRO DIV1 ~ DIV3 */ + clrbits_le32(&cgc1_regs->soscdiv, BIT(7)); + clrbits_le32(&cgc1_regs->soscdiv, BIT(15)); + clrbits_le32(&cgc1_regs->soscdiv, BIT(23)); + clrbits_le32(&cgc1_regs->soscdiv, BIT(31)); + + clrbits_le32(&cgc1_regs->frodiv, BIT(7)); +} + +void cgc1_pll2_init(void) +{ + u32 reg; + + if (readl(&cgc1_regs->pll2csr) & BIT(23)) + clrbits_le32(&cgc1_regs->pll2csr, BIT(23)); + + /* Disable PLL2 */ + clrbits_le32(&cgc1_regs->pll2csr, BIT(0)); + mdelay(1); + + /* wait valid bit false */ + while ((readl(&cgc1_regs->pll2csr) & BIT(24))) + ; + + /* Select SOSC as source, freq = 42 * 24 =1008mhz */ + reg = 42 << 16; + writel(reg, &cgc1_regs->pll2cfg); + + /* Enable PLL2 */ + setbits_le32(&cgc1_regs->pll2csr, BIT(0)); + + /* Wait for PLL2 clock ready */ + while (!(readl(&cgc1_regs->pll2csr) & BIT(24))) + ; +} + +static void cgc1_set_a35_clk(u32 clk_src, u32 div_core) +{ + u32 reg; + + /* ulock */ + if (readl(&cgc1_regs->ca35clk) & BIT(31)) + clrbits_le32(&cgc1_regs->ca35clk, BIT(31)); + + reg = readl(&cgc1_regs->ca35clk); + reg &= ~GENMASK(29, 21); + reg |= ((clk_src & 0x3) << 28); + reg |= (((div_core - 1) & 0x3f) << 21); + writel(reg, &cgc1_regs->ca35clk); + + while (!(readl(&cgc1_regs->ca35clk) & BIT(27))) + ; +} + +void cgc1_init_core_clk(void) +{ + u32 reg = readl(&cgc1_regs->ca35clk); + + /* if already selected to PLL2, switch to FRO firstly */ + if (((reg >> 28) & 0x3) == 0x1) + cgc1_set_a35_clk(0, 1); + + /* Set pll2 to 1Ghz */ + cgc1_pll2_init(); + + /* Set A35 clock to 1GHz */ + cgc1_set_a35_clk(1, 1); +} + +void cgc1_enet_stamp_sel(u32 clk_src) +{ + writel((clk_src & 0x7) << 24, &cgc1_regs->enetstamp); +} + +void cgc1_pll3_init(void) +{ + /* Gate off VCO */ + setbits_le32(&cgc1_regs->pll3div_vco, BIT(7)); + + /* Disable PLL3 */ + clrbits_le32(&cgc1_regs->pll3csr, BIT(0)); + + /* Gate off PFDxDIV */ + setbits_le32(&cgc1_regs->pll3div_pfd0, BIT(7) | BIT(15) | BIT(23) | BIT(31)); + setbits_le32(&cgc1_regs->pll3div_pfd1, BIT(7) | BIT(15) | BIT(23) | BIT(31)); + + /* Gate off PFDx */ + setbits_le32(&cgc1_regs->pll3pfdcfg, BIT(7)); + setbits_le32(&cgc1_regs->pll3pfdcfg, BIT(15)); + setbits_le32(&cgc1_regs->pll3pfdcfg, BIT(23)); + setbits_le32(&cgc1_regs->pll3pfdcfg, BIT(31)); + + /* Select SOSC as source */ + clrbits_le32(&cgc1_regs->pll3cfg, BIT(0)); + + //setbits_le32(&cgc1_regs->pll3cfg, 22 << 16); + writel(22 << 16, &cgc1_regs->pll3cfg); + + writel(578, &cgc1_regs->pll3num); + writel(1000, &cgc1_regs->pll3denom); + + /* Enable PLL3 */ + setbits_le32(&cgc1_regs->pll3csr, BIT(0)); + + /* Wait for PLL3 clock ready */ + while (!(readl(&cgc1_regs->pll3csr) & BIT(24))) + ; + /* Gate on VCO */ + clrbits_le32(&cgc1_regs->pll3div_vco, BIT(7)); + + /* + * PFD0: 380MHz/396/396/328 + */ + clrbits_le32(&cgc1_regs->pll3pfdcfg, 0x3F); + setbits_le32(&cgc1_regs->pll3pfdcfg, 25 << 0); + clrbits_le32(&cgc1_regs->pll3pfdcfg, BIT(7)); + while (!(readl(&cgc1_regs->pll3pfdcfg) & BIT(6))) + ; + + clrbits_le32(&cgc1_regs->pll3pfdcfg, 0x3F << 8); + setbits_le32(&cgc1_regs->pll3pfdcfg, 24 << 8); + clrbits_le32(&cgc1_regs->pll3pfdcfg, BIT(15)); + while (!(readl(&cgc1_regs->pll3pfdcfg) & BIT(14))) + ; + + clrbits_le32(&cgc1_regs->pll3pfdcfg, 0x3F << 16); + setbits_le32(&cgc1_regs->pll3pfdcfg, 24 << 16); + clrbits_le32(&cgc1_regs->pll3pfdcfg, BIT(23)); + while (!(readl(&cgc1_regs->pll3pfdcfg) & BIT(22))) + ; + + clrbits_le32(&cgc1_regs->pll3pfdcfg, 0x3F << 24); + setbits_le32(&cgc1_regs->pll3pfdcfg, 29 << 24); + clrbits_le32(&cgc1_regs->pll3pfdcfg, BIT(31)); + while (!(readl(&cgc1_regs->pll3pfdcfg) & BIT(30))) + ; + + clrbits_le32(&cgc1_regs->pll3div_pfd0, BIT(7)); + clrbits_le32(&cgc1_regs->pll3div_pfd0, BIT(15)); + clrbits_le32(&cgc1_regs->pll3div_pfd0, BIT(23)); + clrbits_le32(&cgc1_regs->pll3div_pfd0, BIT(31)); + + clrbits_le32(&cgc1_regs->pll3div_pfd1, BIT(7)); + clrbits_le32(&cgc1_regs->pll3div_pfd1, BIT(15)); + clrbits_le32(&cgc1_regs->pll3div_pfd1, BIT(23)); + clrbits_le32(&cgc1_regs->pll3div_pfd1, BIT(31)); +} + +void cgc2_pll4_init(void) +{ + /* Disable PFD DIV and clear DIV */ + writel(0x80808080, &cgc2_regs->pll4div_pfd0); + writel(0x80808080, &cgc2_regs->pll4div_pfd1); + + /* Gate off and clear PFD */ + writel(0x80808080, &cgc2_regs->pll4pfdcfg); + + /* Disable PLL4 */ + writel(0x0, &cgc2_regs->pll4csr); + + /* Configure PLL4 to 528Mhz and clock source from SOSC */ + writel(22 << 16, &cgc2_regs->pll4cfg); + writel(0x1, &cgc2_regs->pll4csr); + + /* wait for PLL4 output valid */ + while (!(readl(&cgc2_regs->pll4csr) & BIT(24))) + ; + + /* Enable all 4 PFDs */ + setbits_le32(&cgc2_regs->pll4pfdcfg, 18 << 0); + setbits_le32(&cgc2_regs->pll4pfdcfg, 18 << 8); + setbits_le32(&cgc2_regs->pll4pfdcfg, 12 << 16); + setbits_le32(&cgc2_regs->pll4pfdcfg, 24 << 24); + + /* on Emulator, the valid bit can't work */ + while ((readl(&cgc2_regs->pll4pfdcfg) & (BIT(30) | BIT(22) | BIT(14) | BIT(6))) + != (BIT(30) | BIT(22) | BIT(14) | BIT(6))) + ; + + clrbits_le32(&cgc2_regs->pll4pfdcfg, BIT(7) | BIT(15) | BIT(23) | BIT(31)); + + /* Have to delay since pfd valid can't work on zebu */ + mdelay(1); + + /* Enable PFD DIV */ + clrbits_le32(&cgc2_regs->pll4div_pfd0, BIT(7) | BIT(15) | BIT(23) | BIT(31)); + clrbits_le32(&cgc2_regs->pll4div_pfd1, BIT(7) | BIT(15) | BIT(23) | BIT(31)); +} + +void cgc2_ddrclk_config(u32 src, u32 div) +{ + writel((src << 28) | (div << 21), &cgc2_regs->ddrclk); + /* wait for DDRCLK switching done */ + while (!(readl(&cgc2_regs->ddrclk) & BIT(27))) + ; +} + +u32 decode_pll(enum cgc1_clk pll) +{ + u32 reg, infreq, mult; + u32 num, denom; + + infreq = 24000000U; + /* + * Alought there are four choices for the bypass src, + * we choose SOSC 24M which is the default set in ROM. + * TODO: check more the comments + */ + switch (pll) { + case PLL2: + reg = readl(&cgc1_regs->pll2csr); + if (!(reg & BIT(24))) + return 0; + + reg = readl(&cgc1_regs->pll2cfg); + mult = (reg >> 16) & 0x7F; + denom = readl(&cgc1_regs->pll2denom) & 0x3FFFFFFF; + num = readl(&cgc1_regs->pll2num) & 0x3FFFFFFF; + + return (u64)infreq * mult + (u64)infreq * num / denom; + case PLL3: + reg = readl(&cgc1_regs->pll3csr); + if (!(reg & BIT(24))) + return 0; + + reg = readl(&cgc1_regs->pll3cfg); + mult = (reg >> 16) & 0x7F; + denom = readl(&cgc1_regs->pll3denom) & 0x3FFFFFFF; + num = readl(&cgc1_regs->pll3num) & 0x3FFFFFFF; + + return (u64)infreq * mult + (u64)infreq * num / denom; + default: + printf("Unsupported pll clocks %d\n", pll); + break; + } + + return 0; +} + +u32 cgc1_pll3_vcodiv_rate(void) +{ + u32 reg, gate, div; + + reg = readl(&cgc1_regs->pll3div_vco); + gate = BIT(7) & reg; + div = reg & 0x3F; + + return gate ? 0 : decode_pll(PLL3) / (div + 1); +} + +u32 cgc1_pll3_pfd_rate(enum cgc1_clk clk) +{ + u32 index, gate, vld, reg; + + switch (clk) { + case PLL3_PFD0: + index = 0; + break; + case PLL3_PFD1: + index = 1; + break; + case PLL3_PFD2: + index = 2; + break; + case PLL3_PFD3: + index = 3; + break; + default: + return 0; + } + + reg = readl(&cgc1_regs->pll3pfdcfg); + gate = reg & (BIT(7) << (index * 8)); + vld = reg & (BIT(6) << (index * 8)); + + if (gate || !vld) + return 0; + + return (u64)decode_pll(PLL3) * 18 / ((reg >> (index * 8)) & 0x3F); +} + +u32 cgc1_pll3_pfd_div(enum cgc1_clk clk) +{ + void __iomem *base; + u32 pfd, index, gate, reg; + + switch (clk) { + case PLL3_PFD0_DIV1: + base = &cgc1_regs->pll3div_pfd0; + pfd = PLL3_PFD0; + index = 0; + break; + case PLL3_PFD0_DIV2: + base = &cgc1_regs->pll3div_pfd0; + pfd = PLL3_PFD0; + index = 1; + break; + case PLL3_PFD1_DIV1: + base = &cgc1_regs->pll3div_pfd0; + pfd = PLL3_PFD1; + index = 2; + break; + case PLL3_PFD1_DIV2: + base = &cgc1_regs->pll3div_pfd0; + pfd = PLL3_PFD1; + index = 3; + break; + case PLL3_PFD2_DIV1: + base = &cgc1_regs->pll3div_pfd1; + pfd = PLL3_PFD2; + index = 0; + break; + case PLL3_PFD2_DIV2: + base = &cgc1_regs->pll3div_pfd1; + pfd = PLL3_PFD2; + index = 1; + break; + case PLL3_PFD3_DIV1: + base = &cgc1_regs->pll3div_pfd1; + pfd = PLL3_PFD3; + index = 2; + break; + case PLL3_PFD3_DIV2: + base = &cgc1_regs->pll3div_pfd1; + pfd = PLL3_PFD3; + index = 3; + break; + default: + return 0; + } + + reg = readl(base); + gate = reg & (BIT(7) << (index * 8)); + + if (gate) + return 0; + + return cgc1_pll3_pfd_rate(pfd) / (((reg >> (index * 8)) & 0x3F) + 1); +} + +u32 cgc1_sosc_div(enum cgc1_clk clk) +{ + u32 reg, gate, index; + + switch (clk) { + case SOSC: + return 24000000; + case SOSC_DIV1: + index = 0; + break; + case SOSC_DIV2: + index = 1; + break; + case SOSC_DIV3: + index = 2; + break; + default: + return 0; + } + + reg = readl(&cgc1_regs->soscdiv); + gate = reg & (BIT(7) << (index * 8)); + + if (gate) + return 0; + + return 24000000 / (((reg >> (index * 8)) & 0x3F) + 1); +} + +u32 cgc1_fro_div(enum cgc1_clk clk) +{ + u32 reg, gate, vld, index; + + switch (clk) { + case FRO: + return 192000000; + case FRO_DIV1: + index = 0; + break; + case FRO_DIV2: + index = 1; + break; + case FRO_DIV3: + index = 2; + break; + default: + return 0; + } + + reg = readl(&cgc1_regs->frodiv); + gate = reg & (BIT(7) << (index * 8)); + vld = reg & (BIT(6) << (index * 8)); + + if (gate || !vld) + return 0; + + return 24000000 / (((reg >> (index * 8)) & 0x3F) + 1); +} + +u32 cgc1_clk_get_rate(enum cgc1_clk clk) +{ + switch (clk) { + case SOSC: + case SOSC_DIV1: + case SOSC_DIV2: + case SOSC_DIV3: + return cgc1_sosc_div(clk); + case FRO: + case FRO_DIV1: + case FRO_DIV2: + case FRO_DIV3: + return cgc1_fro_div(clk); + case PLL2: + return decode_pll(PLL2); + case PLL3: + return decode_pll(PLL3); + case PLL3_VCODIV: + return cgc1_pll3_vcodiv_rate(); + case PLL3_PFD0: + case PLL3_PFD1: + case PLL3_PFD2: + case PLL3_PFD3: + return cgc1_pll3_pfd_rate(clk); + case PLL3_PFD0_DIV1: + case PLL3_PFD0_DIV2: + case PLL3_PFD1_DIV1: + case PLL3_PFD1_DIV2: + case PLL3_PFD2_DIV1: + case PLL3_PFD2_DIV2: + case PLL3_PFD3_DIV1: + case PLL3_PFD3_DIV2: + return cgc1_pll3_pfd_div(clk); + default: + printf("Unsupported cgc1 clock: %d\n", clk); + return 0; + } +} diff --git a/arch/arm/mach-imx/imx8ulp/clock.c b/arch/arm/mach-imx/imx8ulp/clock.c index f866809fc2..d6633f05bf 100644 --- a/arch/arm/mach-imx/imx8ulp/clock.c +++ b/arch/arm/mach-imx/imx8ulp/clock.c @@ -4,24 +4,387 @@ */ #include +#include #include +#include #include #include #include +#include +#include #include +#include +#include DECLARE_GLOBAL_DATA_PTR; +#define PLL_USB_EN_USB_CLKS_MASK (0x01 << 6) +#define PLL_USB_PWR_MASK (0x01 << 12) +#define PLL_USB_ENABLE_MASK (0x01 << 13) +#define PLL_USB_BYPASS_MASK (0x01 << 16) +#define PLL_USB_REG_ENABLE_MASK (0x01 << 21) +#define PLL_USB_DIV_SEL_MASK (0x07 << 22) +#define PLL_USB_LOCK_MASK (0x01 << 31) +#define PCC5_LPDDR4_ADDR 0x2da70108 + +static void lpuart_set_clk(u32 index, enum cgc1_clk clk) +{ + const u32 lpuart_pcc_slots[] = { + LPUART4_PCC3_SLOT, + LPUART5_PCC3_SLOT, + LPUART6_PCC4_SLOT, + LPUART7_PCC4_SLOT, + }; + + const u32 lpuart_pcc[] = { + 3, 3, 4, 4, + }; + + if (index > 3) + return; + + pcc_clock_enable(lpuart_pcc[index], lpuart_pcc_slots[index], false); + pcc_clock_sel(lpuart_pcc[index], lpuart_pcc_slots[index], clk); + pcc_clock_enable(lpuart_pcc[index], lpuart_pcc_slots[index], true); + + pcc_reset_peripheral(lpuart_pcc[index], lpuart_pcc_slots[index], false); +} + +static void init_clk_lpuart(void) +{ + u32 index = 0, i; + + const u32 lpuart_array[] = { + LPUART4_RBASE, + LPUART5_RBASE, + LPUART6_RBASE, + LPUART7_RBASE, + }; + + for (i = 0; i < 4; i++) { + if (lpuart_array[i] == LPUART_BASE) { + index = i; + break; + } + } + + lpuart_set_clk(index, SOSC_DIV2); +} + +void init_clk_fspi(int index) +{ + pcc_clock_enable(4, FLEXSPI2_PCC4_SLOT, false); + pcc_clock_sel(4, FLEXSPI2_PCC4_SLOT, PLL3_PFD2_DIV1); + pcc_clock_div_config(4, FLEXSPI2_PCC4_SLOT, false, 8); + pcc_clock_enable(4, FLEXSPI2_PCC4_SLOT, true); + pcc_reset_peripheral(4, FLEXSPI2_PCC4_SLOT, false); +} + +void setclkout_ddr(void) +{ + writel(0x12800000, 0x2DA60020); + writel(0xa00, 0x298C0000); /* PTD0 */ +} + +void ddrphy_pll_lock(void) +{ + writel(0x00011542, 0x2E065964); + writel(0x00011542, 0x2E06586C); + + writel(0x00000B01, 0x2E062000); + writel(0x00000B01, 0x2E060000); +} + +void init_clk_ddr(void) +{ + /* enable pll4 and ddrclk*/ + cgc2_pll4_init(); + cgc2_ddrclk_config(1, 1); + + /* enable ddr pcc */ + writel(0xd0000000, PCC5_LPDDR4_ADDR); + + /* for debug */ + setclkout_ddr(); +} + +int set_ddr_clk(u32 phy_freq_mhz) +{ + debug("%s %u\n", __func__, phy_freq_mhz); + + if (phy_freq_mhz == 48) { + writel(0x90000000, PCC5_LPDDR4_ADDR); /* disable ddr pcc */ + cgc2_ddrclk_config(2, 0); /* 24Mhz DDR clock */ + writel(0xd0000000, PCC5_LPDDR4_ADDR); /* enable ddr pcc */ + } else if (phy_freq_mhz == 384) { + writel(0x90000000, PCC5_LPDDR4_ADDR); /* disable ddr pcc */ + cgc2_ddrclk_config(0, 0); /* 192Mhz DDR clock */ + writel(0xd0000000, PCC5_LPDDR4_ADDR); /* enable ddr pcc */ + } else if (phy_freq_mhz == 528) { + writel(0x90000000, PCC5_LPDDR4_ADDR); /* disable ddr pcc */ + cgc2_ddrclk_config(1, 1); /* 264Mhz DDR clock */ + writel(0xd0000000, PCC5_LPDDR4_ADDR); /* enable ddr pcc */ + } else if (phy_freq_mhz == 192) { + writel(0x90000000, PCC5_LPDDR4_ADDR); /* disable ddr pcc */ + cgc2_ddrclk_config(0, 1); /* 96Mhz DDR clock */ + writel(0xd0000000, PCC5_LPDDR4_ADDR); /* enable ddr pcc */ + } else if (phy_freq_mhz == 50) { + writel(0x90000000, PCC5_LPDDR4_ADDR); /* disable ddr pcc */ + cgc2_ddrclk_config(1, 9); /* 96Mhz DDR clock */ + writel(0xd0000000, PCC5_LPDDR4_ADDR); /* enable ddr pcc */ + } else { + printf("ddr phy clk %uMhz is not supported\n", phy_freq_mhz); + return -EINVAL; + } + + return 0; +} + void clock_init(void) { + init_clk_lpuart(); + + pcc_clock_enable(4, SDHC0_PCC4_SLOT, false); + pcc_clock_sel(4, SDHC0_PCC4_SLOT, PLL3_PFD1_DIV2); + pcc_clock_enable(4, SDHC0_PCC4_SLOT, true); + pcc_reset_peripheral(4, SDHC0_PCC4_SLOT, false); + + pcc_clock_enable(4, SDHC1_PCC4_SLOT, false); + pcc_clock_sel(4, SDHC1_PCC4_SLOT, PLL3_PFD2_DIV1); + pcc_clock_enable(4, SDHC1_PCC4_SLOT, true); + pcc_reset_peripheral(4, SDHC1_PCC4_SLOT, false); + + pcc_clock_enable(4, SDHC2_PCC4_SLOT, false); + pcc_clock_sel(4, SDHC2_PCC4_SLOT, PLL3_PFD2_DIV1); + pcc_clock_enable(4, SDHC2_PCC4_SLOT, true); + pcc_reset_peripheral(4, SDHC2_PCC4_SLOT, false); + + /* Enable upower mu1 clk */ + pcc_clock_enable(3, UPOWER_PCC3_SLOT, true); + + /* + * Enable clock division + * TODO: may not needed after ROM ready. + */ } -unsigned int mxc_get_clock(enum mxc_clock clk) +#if CONFIG_IS_ENABLED(CONFIG_SYS_I2C_IMX_LPI2C) +int enable_i2c_clk(unsigned char enable, u32 int i2c_num) { + /* Set parent to FIRC DIV2 clock */ + const u32 lpi2c_pcc_clks[] = { + LPI2C4_PCC3_SLOT << 8 | 3, + LPI2C5_PCC3_SLOT << 8 | 3, + LPI2C6_PCC4_SLOT << 8 | 4, + LPI2C7_PCC4_SLOT << 8 | 4, + }; + + if (i2c_num < 4 || i2c_num > 7) + return -EINVAL; + + if (enable) { + pcc_clock_enable(lpi2c_pcc_clks[i2c_num - 4] & 0xff, + lpi2c_pcc_clks[i2c_num - 4] >> 8, false); + pcc_clock_sel(lpi2c_pcc_clks[i2c_num - 4] & 0xff, + lpi2c_pcc_clks[i2c_num - 4] >> 8, SOSC_DIV2); + pcc_clock_enable(lpi2c_pcc_clks[i2c_num - 4] & 0xff, + lpi2c_pcc_clks[i2c_num - 4] >> 8, true); + pcc_reset_peripheral(lpi2c_pcc_clks[i2c_num - 4] & 0xff, + lpi2c_pcc_clks[i2c_num - 4] >> 8, false); + } else { + pcc_clock_enable(lpi2c_pcc_clks[i2c_num - 4] & 0xff, + lpi2c_pcc_clks[i2c_num - 4] >> 8, false); + } return 0; } +u32 imx_get_i2cclk(u32 i2c_num) +{ + const u32 lpi2c_pcc_clks[] = { + LPI2C4_PCC3_SLOT << 8 | 3, + LPI2C5_PCC3_SLOT << 8 | 3, + LPI2C6_PCC4_SLOT << 8 | 4, + LPI2C7_PCC4_SLOT << 8 | 4, + }; + + if (i2c_num < 4 || i2c_num > 7) + return 0; + + return pcc_clock_get_rate(lpi2c_pcc_clks[i2c_num - 4] & 0xff, + lpi2c_pcc_clks[i2c_num - 4] >> 8); +} +#endif + +void enable_usboh3_clk(unsigned char enable) +{ + if (enable) { + pcc_clock_enable(4, USB0_PCC4_SLOT, true); + pcc_clock_enable(4, USBPHY_PCC4_SLOT, true); + pcc_reset_peripheral(4, USB0_PCC4_SLOT, false); + pcc_reset_peripheral(4, USBPHY_PCC4_SLOT, false); + +#ifdef CONFIG_USB_MAX_CONTROLLER_COUNT + if (CONFIG_USB_MAX_CONTROLLER_COUNT > 1) { + pcc_clock_enable(4, USB1_PCC4_SLOT, true); + pcc_clock_enable(4, USB1PHY_PCC4_SLOT, true); + pcc_reset_peripheral(4, USB1_PCC4_SLOT, false); + pcc_reset_peripheral(4, USB1PHY_PCC4_SLOT, false); + } +#endif + + pcc_clock_enable(4, USB_XBAR_PCC4_SLOT, true); + } else { + pcc_clock_enable(4, USB0_PCC4_SLOT, false); + pcc_clock_enable(4, USB1_PCC4_SLOT, false); + pcc_clock_enable(4, USBPHY_PCC4_SLOT, false); + pcc_clock_enable(4, USB1PHY_PCC4_SLOT, false); + pcc_clock_enable(4, USB_XBAR_PCC4_SLOT, false); + } +} + +int enable_usb_pll(ulong usb_phy_base) +{ + u32 sosc_rate; + s32 timeout = 1000000; + + struct usbphy_regs *usbphy = + (struct usbphy_regs *)usb_phy_base; + + sosc_rate = cgc1_sosc_div(SOSC); + if (!sosc_rate) + return -EPERM; + + if (!(readl(&usbphy->usb1_pll_480_ctrl) & PLL_USB_LOCK_MASK)) { + writel(0x1c00000, &usbphy->usb1_pll_480_ctrl_clr); + + switch (sosc_rate) { + case 24000000: + writel(0xc00000, &usbphy->usb1_pll_480_ctrl_set); + break; + + case 30000000: + writel(0x800000, &usbphy->usb1_pll_480_ctrl_set); + break; + + case 19200000: + writel(0x1400000, &usbphy->usb1_pll_480_ctrl_set); + break; + + default: + writel(0xc00000, &usbphy->usb1_pll_480_ctrl_set); + break; + } + + /* Enable the regulator first */ + writel(PLL_USB_REG_ENABLE_MASK, + &usbphy->usb1_pll_480_ctrl_set); + + /* Wait at least 15us */ + udelay(15); + + /* Enable the power */ + writel(PLL_USB_PWR_MASK, &usbphy->usb1_pll_480_ctrl_set); + + /* Wait lock */ + while (timeout--) { + if (readl(&usbphy->usb1_pll_480_ctrl) & + PLL_USB_LOCK_MASK) + break; + } + + if (timeout <= 0) { + /* If timeout, we power down the pll */ + writel(PLL_USB_PWR_MASK, + &usbphy->usb1_pll_480_ctrl_clr); + return -ETIME; + } + } + + /* Clear the bypass */ + writel(PLL_USB_BYPASS_MASK, &usbphy->usb1_pll_480_ctrl_clr); + + /* Enable the PLL clock out to USB */ + writel((PLL_USB_EN_USB_CLKS_MASK | PLL_USB_ENABLE_MASK), + &usbphy->usb1_pll_480_ctrl_set); + + return 0; +} + +u32 mxc_get_clock(enum mxc_clock clk) +{ + switch (clk) { + case MXC_ESDHC_CLK: + return pcc_clock_get_rate(4, SDHC0_PCC4_SLOT); + case MXC_ESDHC2_CLK: + return pcc_clock_get_rate(4, SDHC1_PCC4_SLOT); + case MXC_ESDHC3_CLK: + return pcc_clock_get_rate(4, SDHC2_PCC4_SLOT); + case MXC_ARM_CLK: + return cgc1_clk_get_rate(PLL2); + default: + return 0; + } +} + u32 get_lpuart_clk(void) { - return 24000000; + int index = 0; + + const u32 lpuart_array[] = { + LPUART4_RBASE, + LPUART5_RBASE, + LPUART6_RBASE, + LPUART7_RBASE, + }; + + const u32 lpuart_pcc_slots[] = { + LPUART4_PCC3_SLOT, + LPUART5_PCC3_SLOT, + LPUART6_PCC4_SLOT, + LPUART7_PCC4_SLOT, + }; + + const u32 lpuart_pcc[] = { + 3, 3, 4, 4, + }; + + for (index = 0; index < 4; index++) { + if (lpuart_array[index] == LPUART_BASE) + break; + } + + if (index > 3) + return 0; + + return pcc_clock_get_rate(lpuart_pcc[index], lpuart_pcc_slots[index]); +} + +#ifndef CONFIG_SPL_BUILD +/* + * Dump some core clockes. + */ +int do_mx8ulp_showclocks(struct cmd_tbl *cmdtp, int flag, int argc, char * const argv[]) +{ + printf("SDHC0 %8d MHz\n", pcc_clock_get_rate(4, SDHC0_PCC4_SLOT) / 1000000); + printf("SDHC1 %8d MHz\n", pcc_clock_get_rate(4, SDHC1_PCC4_SLOT) / 1000000); + printf("SDHC2 %8d MHz\n", pcc_clock_get_rate(4, SDHC2_PCC4_SLOT) / 1000000); + + printf("SOSC %8d MHz\n", cgc1_clk_get_rate(SOSC) / 1000000); + printf("FRO %8d MHz\n", cgc1_clk_get_rate(FRO) / 1000000); + printf("PLL2 %8d MHz\n", cgc1_clk_get_rate(PLL2) / 1000000); + printf("PLL3 %8d MHz\n", cgc1_clk_get_rate(PLL3) / 1000000); + printf("PLL3_VCODIV %8d MHz\n", cgc1_clk_get_rate(PLL3_VCODIV) / 1000000); + printf("PLL3_PFD0 %8d MHz\n", cgc1_clk_get_rate(PLL3_PFD0) / 1000000); + printf("PLL3_PFD1 %8d MHz\n", cgc1_clk_get_rate(PLL3_PFD1) / 1000000); + printf("PLL3_PFD2 %8d MHz\n", cgc1_clk_get_rate(PLL3_PFD2) / 1000000); + printf("PLL3_PFD3 %8d MHz\n", cgc1_clk_get_rate(PLL3_PFD3) / 1000000); + + return 0; } + +U_BOOT_CMD( + clocks, CONFIG_SYS_MAXARGS, 1, do_mx8ulp_showclocks, + "display clocks", + "" +); +#endif diff --git a/arch/arm/mach-imx/imx8ulp/pcc.c b/arch/arm/mach-imx/imx8ulp/pcc.c new file mode 100644 index 0000000000..a41056b3b1 --- /dev/null +++ b/arch/arm/mach-imx/imx8ulp/pcc.c @@ -0,0 +1,449 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright 2021 NXP + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#define cgc1_clk_TYPES 2 +#define cgc1_clk_NUM 8 + +static enum cgc1_clk pcc3_clksrc[][8] = { + { + }, + { DUMMY0_CLK, + LPOSC, + SOSC_DIV2, + FRO_DIV2, + XBAR_BUSCLK, + PLL3_PFD1_DIV1, + PLL3_PFD0_DIV2, + PLL3_PFD0_DIV1 + } +}; + +static enum cgc1_clk pcc4_clksrc[][8] = { + { + DUMMY0_CLK, + SOSC_DIV1, + FRO_DIV1, + PLL3_PFD3_DIV2, + PLL3_PFD3_DIV1, + PLL3_PFD2_DIV2, + PLL3_PFD2_DIV1, + PLL3_PFD1_DIV2 + }, + { + DUMMY0_CLK, + DUMMY1_CLK, + LPOSC, + SOSC_DIV2, + FRO_DIV2, + XBAR_BUSCLK, + PLL3_VCODIV, + PLL3_PFD0_DIV1 + } +}; + +static struct pcc_entry pcc3_arrays[] = { + {PCC3_RBASE, DMA1_MP_PCC3_SLOT, CLKSRC_NO_PCS, PCC_NO_DIV, PCC_NO_RST_B}, + {PCC3_RBASE, DMA1_CH0_PCC3_SLOT, CLKSRC_NO_PCS, PCC_NO_DIV, PCC_NO_RST_B}, + {PCC3_RBASE, DMA1_CH1_PCC3_SLOT, CLKSRC_NO_PCS, PCC_NO_DIV, PCC_NO_RST_B}, + {PCC3_RBASE, DMA1_CH2_PCC3_SLOT, CLKSRC_NO_PCS, PCC_NO_DIV, PCC_NO_RST_B}, + {PCC3_RBASE, DMA1_CH3_PCC3_SLOT, CLKSRC_NO_PCS, PCC_NO_DIV, PCC_NO_RST_B}, + {PCC3_RBASE, DMA1_CH4_PCC3_SLOT, CLKSRC_NO_PCS, PCC_NO_DIV, PCC_NO_RST_B}, + {PCC3_RBASE, DMA1_CH5_PCC3_SLOT, CLKSRC_NO_PCS, PCC_NO_DIV, PCC_NO_RST_B}, + {PCC3_RBASE, DMA1_CH6_PCC3_SLOT, CLKSRC_NO_PCS, PCC_NO_DIV, PCC_NO_RST_B}, + {PCC3_RBASE, DMA1_CH7_PCC3_SLOT, CLKSRC_NO_PCS, PCC_NO_DIV, PCC_NO_RST_B}, + {PCC3_RBASE, DMA1_CH8_PCC3_SLOT, CLKSRC_NO_PCS, PCC_NO_DIV, PCC_NO_RST_B}, + {PCC3_RBASE, DMA1_CH9_PCC3_SLOT, CLKSRC_NO_PCS, PCC_NO_DIV, PCC_NO_RST_B}, + {PCC3_RBASE, DMA1_CH10_PCC3_SLOT, CLKSRC_NO_PCS, PCC_NO_DIV, PCC_NO_RST_B}, + {PCC3_RBASE, DMA1_CH11_PCC3_SLOT, CLKSRC_NO_PCS, PCC_NO_DIV, PCC_NO_RST_B}, + {PCC3_RBASE, DMA1_CH12_PCC3_SLOT, CLKSRC_NO_PCS, PCC_NO_DIV, PCC_NO_RST_B}, + {PCC3_RBASE, DMA1_CH13_PCC3_SLOT, CLKSRC_NO_PCS, PCC_NO_DIV, PCC_NO_RST_B}, + {PCC3_RBASE, DMA1_CH14_PCC3_SLOT, CLKSRC_NO_PCS, PCC_NO_DIV, PCC_NO_RST_B}, + {PCC3_RBASE, DMA1_CH15_PCC3_SLOT, CLKSRC_NO_PCS, PCC_NO_DIV, PCC_NO_RST_B}, + {PCC3_RBASE, DMA1_CH16_PCC3_SLOT, CLKSRC_NO_PCS, PCC_NO_DIV, PCC_NO_RST_B}, + {PCC3_RBASE, DMA1_CH17_PCC3_SLOT, CLKSRC_NO_PCS, PCC_NO_DIV, PCC_NO_RST_B}, + {PCC3_RBASE, DMA1_CH18_PCC3_SLOT, CLKSRC_NO_PCS, PCC_NO_DIV, PCC_NO_RST_B}, + {PCC3_RBASE, DMA1_CH19_PCC3_SLOT, CLKSRC_NO_PCS, PCC_NO_DIV, PCC_NO_RST_B}, + {PCC3_RBASE, DMA1_CH20_PCC3_SLOT, CLKSRC_NO_PCS, PCC_NO_DIV, PCC_NO_RST_B}, + {PCC3_RBASE, DMA1_CH21_PCC3_SLOT, CLKSRC_NO_PCS, PCC_NO_DIV, PCC_NO_RST_B}, + {PCC3_RBASE, DMA1_CH22_PCC3_SLOT, CLKSRC_NO_PCS, PCC_NO_DIV, PCC_NO_RST_B}, + {PCC3_RBASE, DMA1_CH23_PCC3_SLOT, CLKSRC_NO_PCS, PCC_NO_DIV, PCC_NO_RST_B}, + {PCC3_RBASE, DMA1_CH24_PCC3_SLOT, CLKSRC_NO_PCS, PCC_NO_DIV, PCC_NO_RST_B}, + {PCC3_RBASE, DMA1_CH25_PCC3_SLOT, CLKSRC_NO_PCS, PCC_NO_DIV, PCC_NO_RST_B}, + {PCC3_RBASE, DMA1_CH26_PCC3_SLOT, CLKSRC_NO_PCS, PCC_NO_DIV, PCC_NO_RST_B}, + {PCC3_RBASE, DMA1_CH27_PCC3_SLOT, CLKSRC_NO_PCS, PCC_NO_DIV, PCC_NO_RST_B}, + {PCC3_RBASE, DMA1_CH28_PCC3_SLOT, CLKSRC_NO_PCS, PCC_NO_DIV, PCC_NO_RST_B}, + {PCC3_RBASE, DMA1_CH29_PCC3_SLOT, CLKSRC_NO_PCS, PCC_NO_DIV, PCC_NO_RST_B}, + {PCC3_RBASE, DMA1_CH30_PCC3_SLOT, CLKSRC_NO_PCS, PCC_NO_DIV, PCC_NO_RST_B}, + {PCC3_RBASE, DMA1_CH31_PCC3_SLOT, CLKSRC_NO_PCS, PCC_NO_DIV, PCC_NO_RST_B}, + {PCC3_RBASE, MU0_B_PCC3_SLOT, CLKSRC_NO_PCS, PCC_NO_DIV, PCC_NO_RST_B}, + {PCC3_RBASE, MU3_A_PCC3_SLOT, CLKSRC_NO_PCS, PCC_NO_DIV, PCC_NO_RST_B}, + {PCC3_RBASE, LLWU1_PCC3_SLOT, CLKSRC_NO_PCS, PCC_NO_DIV, PCC_NO_RST_B}, + {PCC3_RBASE, UPOWER_PCC3_SLOT, CLKSRC_NO_PCS, PCC_NO_DIV, PCC_NO_RST_B}, + {PCC3_RBASE, WDOG3_PCC3_SLOT, CLKSRC_PER_BUS, PCC_HAS_DIV, PCC_HAS_RST_B}, + {PCC3_RBASE, WDOG4_PCC3_SLOT, CLKSRC_PER_BUS, PCC_HAS_DIV, PCC_HAS_RST_B}, + {PCC3_RBASE, XRDC_MGR_PCC3_SLOT, CLKSRC_NO_PCS, PCC_NO_DIV, PCC_NO_RST_B}, + {PCC3_RBASE, SEMA42_1_PCC3_SLOT, CLKSRC_PER_BUS, PCC_NO_DIV, PCC_NO_RST_B}, + {PCC3_RBASE, ROMCP1_PCC3_SLOT, CLKSRC_NO_PCS, PCC_NO_DIV, PCC_NO_RST_B}, + {PCC3_RBASE, LPIT1_PCC3_SLOT, CLKSRC_PER_BUS, PCC_HAS_DIV, PCC_HAS_RST_B}, + {PCC3_RBASE, TPM4_PCC3_SLOT, CLKSRC_PER_BUS, PCC_HAS_DIV, PCC_HAS_RST_B}, + {PCC3_RBASE, TPM5_PCC3_SLOT, CLKSRC_PER_BUS, PCC_HAS_DIV, PCC_HAS_RST_B}, + {PCC3_RBASE, FLEXIO1_PCC3_SLOT, CLKSRC_PER_BUS, PCC_HAS_DIV, PCC_HAS_RST_B}, + {PCC3_RBASE, I3C2_PCC3_SLOT, CLKSRC_PER_BUS, PCC_HAS_DIV, PCC_HAS_RST_B}, + {PCC3_RBASE, LPI2C4_PCC3_SLOT, CLKSRC_PER_BUS, PCC_HAS_DIV, PCC_HAS_RST_B}, + {PCC3_RBASE, LPI2C5_PCC3_SLOT, CLKSRC_PER_BUS, PCC_HAS_DIV, PCC_HAS_RST_B}, + {PCC3_RBASE, LPUART4_PCC3_SLOT, CLKSRC_PER_BUS, PCC_HAS_DIV, PCC_HAS_RST_B}, + {PCC3_RBASE, LPUART5_PCC3_SLOT, CLKSRC_PER_BUS, PCC_HAS_DIV, PCC_HAS_RST_B}, + {PCC3_RBASE, LPSPI4_PCC3_SLOT, CLKSRC_PER_BUS, PCC_HAS_DIV, PCC_HAS_RST_B}, + {PCC3_RBASE, LPSPI5_PCC3_SLOT, CLKSRC_PER_BUS, PCC_HAS_DIV, PCC_HAS_RST_B}, + {} +}; + +static struct pcc_entry pcc4_arrays[] = { + {PCC4_RBASE, FLEXSPI2_PCC4_SLOT, CLKSRC_PER_PLAT, PCC_HAS_DIV, PCC_HAS_RST_B }, + {PCC4_RBASE, TPM6_PCC4_SLOT, CLKSRC_PER_BUS, PCC_HAS_DIV, PCC_HAS_RST_B }, + {PCC4_RBASE, TPM7_PCC4_SLOT, CLKSRC_PER_BUS, PCC_HAS_DIV, PCC_HAS_RST_B }, + {PCC4_RBASE, LPI2C6_PCC4_SLOT, CLKSRC_PER_BUS, PCC_HAS_DIV, PCC_HAS_RST_B }, + {PCC4_RBASE, LPI2C7_PCC4_SLOT, CLKSRC_PER_BUS, PCC_HAS_DIV, PCC_HAS_RST_B }, + {PCC4_RBASE, LPUART6_PCC4_SLOT, CLKSRC_PER_BUS, PCC_HAS_DIV, PCC_HAS_RST_B }, + {PCC4_RBASE, LPUART7_PCC4_SLOT, CLKSRC_PER_BUS, PCC_HAS_DIV, PCC_HAS_RST_B }, + {PCC4_RBASE, SAI4_PCC4_SLOT, CLKSRC_NO_PCS, PCC_NO_DIV, PCC_HAS_RST_B }, + {PCC4_RBASE, SAI5_PCC4_SLOT, CLKSRC_NO_PCS, PCC_NO_DIV, PCC_HAS_RST_B }, + {PCC4_RBASE, PCTLE_PCC4_SLOT, CLKSRC_NO_PCS, PCC_NO_DIV, PCC_NO_RST_B }, + {PCC4_RBASE, PCTLF_PCC4_SLOT, CLKSRC_NO_PCS, PCC_NO_DIV, PCC_NO_RST_B }, + {PCC4_RBASE, SDHC0_PCC4_SLOT, CLKSRC_PER_PLAT, PCC_HAS_DIV, PCC_HAS_RST_B }, + {PCC4_RBASE, SDHC1_PCC4_SLOT, CLKSRC_PER_PLAT, PCC_HAS_DIV, PCC_HAS_RST_B }, + {PCC4_RBASE, SDHC2_PCC4_SLOT, CLKSRC_PER_PLAT, PCC_HAS_DIV, PCC_HAS_RST_B }, + {PCC4_RBASE, USB0_PCC4_SLOT, CLKSRC_NO_PCS, PCC_NO_DIV, PCC_HAS_RST_B }, + {PCC4_RBASE, USBPHY_PCC4_SLOT, CLKSRC_NO_PCS, PCC_NO_DIV, PCC_HAS_RST_B }, + {PCC4_RBASE, USB1_PCC4_SLOT, CLKSRC_NO_PCS, PCC_NO_DIV, PCC_NO_RST_B }, + {PCC4_RBASE, USB1PHY_PCC4_SLOT, CLKSRC_NO_PCS, PCC_NO_DIV, PCC_HAS_RST_B }, + {PCC4_RBASE, USB_XBAR_PCC4_SLOT, CLKSRC_NO_PCS, PCC_NO_DIV, PCC_NO_RST_B }, + {PCC4_RBASE, ENET_PCC4_SLOT, CLKSRC_NO_PCS, PCC_NO_DIV, PCC_HAS_RST_B }, + {PCC4_RBASE, SFA1_PCC4_SLOT, CLKSRC_NO_PCS, PCC_NO_DIV, PCC_NO_RST_B }, + {PCC4_RBASE, RGPIOE_PCC4_SLOT, CLKSRC_NO_PCS, PCC_NO_DIV, PCC_NO_RST_B }, + {PCC4_RBASE, RGPIOF_PCC4_SLOT, CLKSRC_NO_PCS, PCC_NO_DIV, PCC_NO_RST_B }, + {} +}; + +static int find_pcc_entry(int pcc_controller, int pcc_clk_slot, struct pcc_entry **out) +{ + struct pcc_entry *pcc_array; + int index = 0; + + switch (pcc_controller) { + case 3: + pcc_array = pcc3_arrays; + *out = &pcc3_arrays[0]; + break; + case 4: + pcc_array = pcc4_arrays; + *out = &pcc4_arrays[0]; + break; + default: + printf("Not supported pcc_controller: %d\n", pcc_controller); + return -EINVAL; + } + + while (pcc_array->pcc_base) { + if (pcc_array->pcc_slot == pcc_clk_slot) + return index; + + pcc_array++; + index++; + } + + return -ENOENT; +} + +int pcc_clock_enable(int pcc_controller, int pcc_clk_slot, bool enable) +{ + u32 val; + void __iomem *reg; + int clk; + struct pcc_entry *pcc_array; + + clk = find_pcc_entry(pcc_controller, pcc_clk_slot, &pcc_array); + if (clk < 0) + return -EINVAL; + + reg = (void __iomem *)(uintptr_t)(pcc_array[clk].pcc_base + pcc_array[clk].pcc_slot * 4); + + val = readl(reg); + + debug("%s: clk %d, reg 0x%p, val 0x%x, enable %d\n", __func__, clk, reg, val, enable); + + if (!(val & PCC_PR_MASK) || (val & PCC_INUSE_MASK)) + return -EPERM; + + if (enable) + val |= PCC_CGC_MASK; + else + val &= ~PCC_CGC_MASK; + + writel(val, reg); + + debug("%s: val 0x%x\n", __func__, val); + + return 0; +} + +/* The clock source select needs clock is disabled */ +int pcc_clock_sel(int pcc_controller, int pcc_clk_slot, enum cgc1_clk src) +{ + u32 val, i, clksrc_type; + void __iomem *reg; + struct pcc_entry *pcc_array; + enum cgc1_clk *cgc1_clk_array; + int clk; + + clk = find_pcc_entry(pcc_controller, pcc_clk_slot, &pcc_array); + if (clk < 0) + return -EINVAL; + + reg = (void __iomem *)(uintptr_t)(pcc_array[clk].pcc_base + pcc_array[clk].pcc_slot * 4); + + clksrc_type = pcc_array[clk].clksrc; + if (clksrc_type >= CLKSRC_NO_PCS) { + printf("No PCS field for the PCC %d, clksrc type %d\n", + clk, clksrc_type); + return -EPERM; + } + + if (pcc_controller == 3) + cgc1_clk_array = pcc3_clksrc[clksrc_type]; + else + cgc1_clk_array = pcc4_clksrc[clksrc_type]; + + for (i = 0; i < cgc1_clk_NUM; i++) { + if (cgc1_clk_array[i] == src) { + /* Find the clock src, then set it to PCS */ + break; + } + } + + if (i == cgc1_clk_NUM) { + printf("No parent in PCS of PCC %d, invalid scg_clk %d\n", clk, src); + return -EINVAL; + } + + val = readl(reg); + + debug("%s: clk %d, reg 0x%p, val 0x%x, clksrc_type %d\n", + __func__, clk, reg, val, clksrc_type); + + if (!(val & PCC_PR_MASK) || (val & PCC_INUSE_MASK) || + (val & PCC_CGC_MASK)) { + printf("Not permit to select clock source val = 0x%x\n", val); + return -EPERM; + } + + val &= ~PCC_PCS_MASK; + val |= i << PCC_PCS_OFFSET; + + writel(val, reg); + + debug("%s: val 0x%x\n", __func__, val); + + return 0; +} + +int pcc_clock_div_config(int pcc_controller, int pcc_clk_slot, bool frac, u8 div) +{ + u32 val; + void __iomem *reg; + struct pcc_entry *pcc_array; + int clk; + + clk = find_pcc_entry(pcc_controller, pcc_clk_slot, &pcc_array); + if (clk < 0) + return -EINVAL; + + reg = (void __iomem *)(uintptr_t)(pcc_array[clk].pcc_base + pcc_array[clk].pcc_slot * 4); + + if (div > 8 || (div == 1 && frac != 0)) + return -EINVAL; + + if (pcc_array[clk].div >= PCC_NO_DIV) { + printf("No DIV/FRAC field for the PCC %d\n", clk); + return -EPERM; + } + + val = readl(reg); + + if (!(val & PCC_PR_MASK) || (val & PCC_INUSE_MASK) || + (val & PCC_CGC_MASK)) { + printf("Not permit to set div/frac val = 0x%x\n", val); + return -EPERM; + } + + if (frac) + val |= PCC_FRAC_MASK; + else + val &= ~PCC_FRAC_MASK; + + val &= ~PCC_PCD_MASK; + val |= (div - 1) & PCC_PCD_MASK; + + writel(val, reg); + + return 0; +} + +bool pcc_clock_is_enable(int pcc_controller, int pcc_clk_slot) +{ + u32 val; + void __iomem *reg; + struct pcc_entry *pcc_array; + int clk; + + clk = find_pcc_entry(pcc_controller, pcc_clk_slot, &pcc_array); + if (clk < 0) + return -EINVAL; + + reg = (void __iomem *)(uintptr_t)(pcc_array[clk].pcc_base + pcc_array[clk].pcc_slot * 4); + val = readl(reg); + + if ((val & PCC_INUSE_MASK) || (val & PCC_CGC_MASK)) + return true; + + return false; +} + +int pcc_clock_get_clksrc(int pcc_controller, int pcc_clk_slot, enum cgc1_clk *src) +{ + u32 val, clksrc_type; + void __iomem *reg; + struct pcc_entry *pcc_array; + int clk; + enum cgc1_clk *cgc1_clk_array; + + clk = find_pcc_entry(pcc_controller, pcc_clk_slot, &pcc_array); + if (clk < 0) + return -EINVAL; + + clksrc_type = pcc_array[clk].clksrc; + if (clksrc_type >= CLKSRC_NO_PCS) { + printf("No PCS field for the PCC %d, clksrc type %d\n", + pcc_clk_slot, clksrc_type); + return -EPERM; + } + + reg = (void __iomem *)(uintptr_t)(pcc_array[clk].pcc_base + pcc_array[clk].pcc_slot * 4); + + val = readl(reg); + + debug("%s: clk %d, reg 0x%p, val 0x%x, type %d\n", + __func__, pcc_clk_slot, reg, val, clksrc_type); + + if (!(val & PCC_PR_MASK)) { + printf("This pcc slot is not present = 0x%x\n", val); + return -EPERM; + } + + val &= PCC_PCS_MASK; + val = (val >> PCC_PCS_OFFSET); + + if (!val) { + printf("Clock source is off\n"); + return -EIO; + } + + if (pcc_controller == 3) + cgc1_clk_array = pcc3_clksrc[clksrc_type]; + else + cgc1_clk_array = pcc4_clksrc[clksrc_type]; + + *src = cgc1_clk_array[val]; + + debug("%s: parent cgc1 clk %d\n", __func__, *src); + + return 0; +} + +int pcc_reset_peripheral(int pcc_controller, int pcc_clk_slot, bool reset) +{ + u32 val; + void __iomem *reg; + struct pcc_entry *pcc_array; + int clk; + + clk = find_pcc_entry(pcc_controller, pcc_clk_slot, &pcc_array); + if (clk < 0) + return -EINVAL; + + if (pcc_array[clk].rst_b == PCC_NO_RST_B) + return 0; + + reg = (void __iomem *)(uintptr_t)(pcc_array[clk].pcc_base + pcc_array[clk].pcc_slot * 4); + + val = readl(reg); + + debug("%s: clk %d, reg 0x%p, val 0x%x\n", __func__, pcc_clk_slot, reg, val); + + if (!(val & PCC_PR_MASK)) { + printf("This pcc slot is not present = 0x%x\n", val); + return -EPERM; + } + + if (reset) + val &= ~BIT(28); + else + val |= BIT(28); + + writel(val, reg); + + debug("%s: clk %d, reg 0x%p, val 0x%x\n", __func__, pcc_clk_slot, reg, val); + + return 0; +} + +u32 pcc_clock_get_rate(int pcc_controller, int pcc_clk_slot) +{ + u32 val, rate, frac, div; + void __iomem *reg; + enum cgc1_clk parent; + int ret; + int clk; + struct pcc_entry *pcc_array; + + clk = find_pcc_entry(pcc_controller, pcc_clk_slot, &pcc_array); + if (clk < 0) + return -EINVAL; + + ret = pcc_clock_get_clksrc(pcc_controller, pcc_clk_slot, &parent); + if (ret) + return 0; + + rate = cgc1_clk_get_rate(parent); + + debug("%s: parent rate %u\n", __func__, rate); + + if (pcc_array[clk].div == PCC_HAS_DIV) { + reg = (void __iomem *)(uintptr_t)(pcc_array[clk].pcc_base + + pcc_array[clk].pcc_slot * 4); + val = readl(reg); + + frac = (val & PCC_FRAC_MASK) >> PCC_FRAC_OFFSET; + div = (val & PCC_PCD_MASK) >> PCC_PCD_OFFSET; + + /* + * Theoretically don't have overflow in the calc, + * the rate won't exceed 2G + */ + rate = rate * (frac + 1) / (div + 1); + } + + debug("%s: rate %u\n", __func__, rate); + return rate; +} diff --git a/arch/arm/mach-imx/imx8ulp/soc.c b/arch/arm/mach-imx/imx8ulp/soc.c index b624e648e8..5d291f6b3a 100644 --- a/arch/arm/mach-imx/imx8ulp/soc.c +++ b/arch/arm/mach-imx/imx8ulp/soc.c @@ -284,5 +284,8 @@ void get_board_serial(struct tag_serialnr *serialnr) int arch_cpu_init(void) { + if (IS_ENABLED(CONFIG_SPL_BUILD)) + clock_init(); + return 0; } From patchwork Mon Apr 12 12:12:46 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Peng Fan \(OSS\)" X-Patchwork-Id: 419550 Delivered-To: patch@linaro.org Received: by 2002:a02:c4d2:0:0:0:0:0 with SMTP id h18csp1665670jaj; Mon, 12 Apr 2021 04:53:33 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzj2iMO8cq/snYc7lQ1N5i2Zy4mKPhwq5aiXSHpeX6tMUoFeq8GN8lCwuWLRSn2s29/URiA X-Received: by 2002:aa7:d541:: with SMTP id u1mr28872226edr.95.1618228413306; Mon, 12 Apr 2021 04:53:33 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1618228413; cv=pass; d=google.com; s=arc-20160816; b=H26oGfIICq9A2QRRkS/aSPV7Mk6cv2k2Emj9DypOoGT1gevJeUFk8oH7EXPFJLKlfO b4POyIB8z0sKottE3eOTzTNZj9pDpyuNgIpCdocYUYt+0/4FEmk1Tsw6hyS/8LlSFSF9 QFX87/YFcHpddZZa/9RnqKoQ0QP6547nCZAVkMwgdUdDLs0sxAPdEoerRpU9cnh5uePE kq9s+gAErKvN5GU3Vs/rjSVQDHSJvT8UDbRxfuEIt2KC0rhcehSlKgVaE+dvd8mbDLQG yk470tujijZbnEXya6sQeMoSaXO63ZutFiZaORFRZbWaGtwfFT/7uEZ/xk0dwfXWfoZz +i8A== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:mime-version :content-transfer-encoding:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature; bh=JjPxo2FXxIDkkmqm7R+gYAaHY+o5zPQ9kUSv77oiQ4o=; b=MZ8DtnciIAF+8O6WNbo3Vcz+5xzfTeKXkvc69Q1InaVxueBNTw5tlJe4jwswtXRWsG zUN/UUgtrvJaqQqZgHO/6AleQ/nPikTH8nwnXJCOqlhxZtgHTnXLkgoWMhBE+es5kqO2 Dznp62xi7SckREOFKG9GBw/Cbl6Q1ojBnNYCrsrjc+hZtYxnbrR3KNKdqCNrR4PBShPL j359unNwskPp88sbzK5+IF/BJVSODMg097O7WQHsf8AkkprjQ5wdIXmzqjCpv0AxXWKQ T5Vn0w0f+rjZ7+fArIkQx6dFeYgqvXK0YW0cb2r5K997VVe0/wAslCPZ8WYHAoUTHBf5 JFBQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@NXP1.onmicrosoft.com header.s=selector2-NXP1-onmicrosoft-com header.b=EvsEHneD; arc=pass (i=1 spf=pass spfdomain=oss.nxp.com dkim=pass dkdomain=oss.nxp.com dmarc=pass fromdomain=oss.nxp.com); spf=pass (google.com: domain of u-boot-bounces@lists.denx.de designates 2a01:238:438b:c500:173d:9f52:ddab:ee01 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Return-Path: Received: from phobos.denx.de (phobos.denx.de. [2a01:238:438b:c500:173d:9f52:ddab:ee01]) by mx.google.com with ESMTPS id o6si8586825edi.226.2021.04.12.04.53.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Apr 2021 04:53:33 -0700 (PDT) Received-SPF: pass (google.com: domain of u-boot-bounces@lists.denx.de designates 2a01:238:438b:c500:173d:9f52:ddab:ee01 as permitted sender) client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; Authentication-Results: mx.google.com; dkim=pass header.i=@NXP1.onmicrosoft.com header.s=selector2-NXP1-onmicrosoft-com header.b=EvsEHneD; arc=pass (i=1 spf=pass spfdomain=oss.nxp.com dkim=pass dkdomain=oss.nxp.com dmarc=pass fromdomain=oss.nxp.com); spf=pass (google.com: domain of u-boot-bounces@lists.denx.de designates 2a01:238:438b:c500:173d:9f52:ddab:ee01 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 13FDD81FF8; Mon, 12 Apr 2021 13:53:20 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=oss.nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="EvsEHneD"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 6E9AF81FF3; Mon, 12 Apr 2021 13:52:32 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER,SPF_HELO_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-he1eur02on060e.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe05::60e]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 8A6EF800D6 for ; Mon, 12 Apr 2021 13:42:16 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=oss.nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=peng.fan@oss.nxp.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cJKRdR79DddwU9dEL97B678IJFFq9800zwHZXv0FkJOu3Z7gfQWNDss9UZGsyPaLKwim3H1qLzsgC/DiJgU+H1YHrWJ1iKBcs1wbwAHDd03D8/wdgp15u3JpGPbIQOLOAtYA3AjqLtp/mgZZ6ok3PwNyyx9OhzHW9Fbi95dA3Uv3f9k4JwzjhOv4RIGZXBTHbtmbaVmLu0ApLMnujwIvf/2tVoMaw6k5yNncNvjqMgvb2DDN+4OWGgeuZhO28alkYs67Gtf61l1jcx6enfXZ/esi4p3V6yqw4KwDiMKBkuOZR13Q5w/wB8UA5XGRcazSsnqnaXdYHWiQwtrGzHgp/A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=JjPxo2FXxIDkkmqm7R+gYAaHY+o5zPQ9kUSv77oiQ4o=; b=FnImGH8S96OmQbnBvoIp9lcZw2pudGLQoZgKtdo0WauG6J+6IW1pNodpa+SlpguJqBULPWM5npRUmFvFPF4bXrz44eFdFET/x5+MV7+J8shDPbDp0umMKutIqHPTzwGsUFRDwP8o6j3uy8GhKgFkzt34tpqigQV0rsscFqbCSeYeqXOUEduQBC3X2jsXmwx+atcdXG43Ke/syNkm0MM+BON1lfODTHWj4ZR22QfaQegCF2r6IAOog/dNuTeA3ebRc+/+bFy6nggLz2L69C4wPe1d0LBXe0tPm2Le/T5EzPR/CMOfZYq6+FOHoOeGoOsKeyolBxve4/azC1sYTBVERQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector2-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=JjPxo2FXxIDkkmqm7R+gYAaHY+o5zPQ9kUSv77oiQ4o=; b=EvsEHneD9oHTm88+PGy44OgynWt+J++02M/QUMbQ1qdsyxUgwZhzf1r2ITvCEFpJ6oERbNTZsXh98W50TZQQ8TGMeYEkermJYaup3o3bizktWhnzRId+wyprNJAJq224+f5KcBP9gV81bfT7j14H5Qun/IjDexS4vcNf+/orDzo= Authentication-Results: denx.de; dkim=none (message not signed) header.d=none; denx.de; dmarc=none action=none header.from=oss.nxp.com; Received: from DB6PR0402MB2760.eurprd04.prod.outlook.com (2603:10a6:4:a1::14) by DB7PR04MB5244.eurprd04.prod.outlook.com (2603:10a6:10:21::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.18; Mon, 12 Apr 2021 11:42:13 +0000 Received: from DB6PR0402MB2760.eurprd04.prod.outlook.com ([fe80::c57a:6964:f72c:21cf]) by DB6PR0402MB2760.eurprd04.prod.outlook.com ([fe80::c57a:6964:f72c:21cf%11]) with mapi id 15.20.3999.032; Mon, 12 Apr 2021 11:42:13 +0000 From: "Peng Fan (OSS)" To: sbabic@denx.de, festevam@gmail.com Cc: u-boot@lists.denx.de, uboot-imx@nxp.com, Peng Fan Subject: [PATCH 17/37] drivers: mmc: fsl_esdhc_imx: support i.MX8ULP Date: Mon, 12 Apr 2021 20:12:46 +0800 Message-Id: <20210412121306.11484-18-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20210412121306.11484-1-peng.fan@oss.nxp.com> References: <20210412121306.11484-1-peng.fan@oss.nxp.com> X-Originating-IP: [119.31.174.71] X-ClientProxiedBy: HK2PR0401CA0009.apcprd04.prod.outlook.com (2603:1096:202:2::19) To DB6PR0402MB2760.eurprd04.prod.outlook.com (2603:10a6:4:a1::14) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from linux-1xn6.ap.freescale.net (119.31.174.71) by HK2PR0401CA0009.apcprd04.prod.outlook.com (2603:1096:202:2::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.16 via Frontend Transport; Mon, 12 Apr 2021 11:42:09 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 91260929-507f-40d5-5056-08d8fda80295 X-MS-TrafficTypeDiagnostic: DB7PR04MB5244: X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:7691; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: TlFegeYuqUn7cKjy92sYouB8z8Qz6H5XGzFA48VToKw+feJIyN9rnVKssgd4+6o63UyQsVtiNskFq7+goCSPfH9RIlAfHutkxi7exhNyKITdBfmxfxUIKim3cymKHWm9w7JSjpLHtYjy4qMsVzUWh8jJrnlGhqBZh8i9v3ysFBhn0Sm5XZ9ofkqCDlBbgxT5IPfbqawzAhKJxVpVL4t5s5bvSv5u+vuqbtvcM6T7OUwkXISmNidPgOIt5mtWWaaLlNvtinBiqPvzks/9HdoB9WQg6iF+b4NXNad0GKDKd3TQFJSL2/9efT/SEwnNgFriKAIRsGHCivHWw54rPdFTAbpzVAF8624v8ujRcsRoQENPRuytB/B7EMTzvDfqnie3eSr4NAaXqjmgQeXQ/BnNOFE3rJU4SXOzH3cxSEVhdanzteWwwb8HHLiGYSzp5PmpupYRx1SWX5/oVceKKoKm1Azp23z8go0ey/5x2GWzIKs5mY13qkmJOUHkbcLZEYhiy4fVvI/tC65qq/Cu9pUWPGxcdUZ5gKwrOdJWOOzOfst6ax+JRqzepK3dxJHrdjXXh45Ovu/GjlmWFLElCHw1j6ZVLSFzZKNkXq+HZ66eCBjJzFFI+uuTeDyE92S7tqUQMR252lfaM8jJn8vGyIBu2ar9dySfWnaBu++FrHd2uFo= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB6PR0402MB2760.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(346002)(136003)(366004)(39860400002)(396003)(16526019)(26005)(186003)(6506007)(38100700002)(66946007)(66556008)(66476007)(316002)(8936002)(38350700002)(4326008)(956004)(478600001)(6486002)(5660300002)(6666004)(86362001)(6512007)(2616005)(2906002)(8676002)(52116002)(83380400001)(1076003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: 4dXL3qmf0EkMl8sTFpMUQhykaWYqgOBST/BLak46dJ0aOWASfwGVrD3u7LbpYBuS1sKPMnd2szr1q2TdU8RLuS6LLrlSu2xJtoFckfzMKwFDtzhHVEYFbL4V5iKqHU7QKpDpLxW4JYcv2oX7zH+ayd0aaADYMQ3IgvVZxUZHx3O5xW5dvpzIcoBRviPKorrkzmpmf+5oia1mCkA5Cy3o33kMIPeXbpnA8hzzd8RVZCJ6+w2WHhohNnjItD0n8UeTbuWVjB7UzxzzM554wH/Hxho6Tz0f0w73Kt5/evKp80lZ+l8FJ0aohILh7iEpmIQbMxRsVA7FlAXWuBAwq6BV8dQboSunK0W7jX2BFEPoE8pjQYB+O6zAVvVmxnB7gMn09Uajh5Foxmvr1ySCLGee6J9ECRPIUHuSp+tFr3yhkjKojLvvzwAZ6DxFFpMYCz4u/whjrAYUtM59KEAQ6cwKCX5gKOAPZRYx//k5GnYqjsYB/UhZQKtob4TzlQWxXkbOqTBJ525oPkmDpM8xiWzRKESvNE18A9ym5IeKgi16ot2a351+NIGT9XTR+qjD502UktovGZvYBc1JypYXw9C5V5RFQ1BxitDdusewp6Gc7/tZUn6Wh5d0AlLFRPZ1MhOkk4OIKMrQviJsshGIY5VLGGX33KisBt1z2hETfyuk0k15fvU2ywHLiyH9cgJB/nLRQaJ6bKj/rXwx7q3/rtNio+0Rts6tpbeFKJ1hVSuF2Kjhc6qA6SSpruEkn6EnPrO2KbuBIvak5/JgtRurNa87+Ka+FB8JAU4uhUccCPac2njzrvb/JMovT9/1J1uG/PBaAkO5EbO2lKpTfYQUREAY9QNLJUu4FWIwdWGBjPj1W4Ow5XB6M1CBzXIqKYDprgaxezHoTNyWxFyK3ckjI9kUBg1nb2oPlF2AYid//1yplYDOK5aUqqKn2x4r+1DWkOmIo7nIYq6BmDNtTTE2q000vkCxR+cMype4xctX07imXAaRaW7+2f/B6rPy66DRpFmexUwmJPsLe4VS2SbmXBsBfAZAzkwUKGwRYZRmnCb/ufJ6uBsSxFXASikeNF9u4VpySoqE24KNUuPuNP9y8uRCpkI3ZI7Y/Uzn2nEZ3csOjGekdQsDqr4kwNWjgcwgCBANLuei7OJLFglZ5X6FNRg3dUJsdOKlu/BeH3uZVj0v6X/Fk5R9GYbik6h9JZ9MdWkkgTInIeWXY/msZFtgQOm3wyKj76LmdGv5lT7VdkFr4BGtbM3bdNYQijUIFvNNkz4QNTljehhy8lvbgajjhtvK4pbzwu1S0LblPX2eIUH5HFllSSPy2+CgX7FqxtMEjXPoDiDDOpv0X2i+sYNWuzHqWA== X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 91260929-507f-40d5-5056-08d8fda80295 X-MS-Exchange-CrossTenant-AuthSource: DB6PR0402MB2760.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2021 11:42:12.3872 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: e4CsvuULDmjvTYXXcYMD13CboiFuYWWqcPpUilor33bKeukMbsNtx1tKnRFy266Ng84yWFoUcIxh19BrzRK/kw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR04MB5244 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.4 at phobos.denx.de X-Virus-Status: Clean From: Peng Fan i.MX8ULP reuse same SDHC IP as i.MX8M, so follow i.MX8M code logic. Signed-off-by: Peng Fan --- drivers/mmc/Kconfig | 2 +- drivers/mmc/fsl_esdhc_imx.c | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) -- 2.30.0 diff --git a/drivers/mmc/Kconfig b/drivers/mmc/Kconfig index 197aa82040..5c42e469b3 100644 --- a/drivers/mmc/Kconfig +++ b/drivers/mmc/Kconfig @@ -804,7 +804,7 @@ config FSL_ESDHC_IMX config FSL_USDHC bool "Freescale/NXP i.MX uSDHC controller support" - depends on MX6 || MX7 ||ARCH_MX7ULP || IMX8 || IMX8M || IMXRT || TARGET_S32V234EVB + depends on MX6 || MX7 ||ARCH_MX7ULP || IMX8 || IMX8M || IMX8ULP || IMXRT || TARGET_S32V234EVB select FSL_ESDHC_IMX help This enables the Ultra Secured Digital Host Controller enhancements diff --git a/drivers/mmc/fsl_esdhc_imx.c b/drivers/mmc/fsl_esdhc_imx.c index a4675838e5..4c7c2dd93c 100644 --- a/drivers/mmc/fsl_esdhc_imx.c +++ b/drivers/mmc/fsl_esdhc_imx.c @@ -291,7 +291,8 @@ static int esdhc_setup_data(struct fsl_esdhc_priv *priv, struct mmc *mmc, { int timeout; struct fsl_esdhc *regs = priv->esdhc_regs; -#if defined(CONFIG_S32V234) || defined(CONFIG_IMX8) || defined(CONFIG_IMX8M) +#if defined(CONFIG_S32V234) || defined(CONFIG_IMX8) || defined(CONFIG_IMX8M) || \ + defined(CONFIG_IMX8ULP) dma_addr_t addr; #endif uint wml_value; @@ -304,7 +305,8 @@ static int esdhc_setup_data(struct fsl_esdhc_priv *priv, struct mmc *mmc, esdhc_clrsetbits32(®s->wml, WML_RD_WML_MASK, wml_value); #ifndef CONFIG_SYS_FSL_ESDHC_USE_PIO -#if defined(CONFIG_S32V234) || defined(CONFIG_IMX8) || defined(CONFIG_IMX8M) +#if defined(CONFIG_S32V234) || defined(CONFIG_IMX8) || defined(CONFIG_IMX8M) || \ + defined(CONFIG_IMX8ULP) addr = virt_to_phys((void *)(data->dest)); if (upper_32_bits(addr)) printf("Error found for upper 32 bits\n"); @@ -341,7 +343,8 @@ static int esdhc_setup_data(struct fsl_esdhc_priv *priv, struct mmc *mmc, esdhc_clrsetbits32(®s->wml, WML_WR_WML_MASK, wml_value << 16); #ifndef CONFIG_SYS_FSL_ESDHC_USE_PIO -#if defined(CONFIG_S32V234) || defined(CONFIG_IMX8) || defined(CONFIG_IMX8M) +#if defined(CONFIG_S32V234) || defined(CONFIG_IMX8) || defined(CONFIG_IMX8M) || \ + defined(CONFIG_IMX8ULP) addr = virt_to_phys((void *)(data->src)); if (upper_32_bits(addr)) printf("Error found for upper 32 bits\n"); @@ -406,7 +409,8 @@ static void check_and_invalidate_dcache_range unsigned end = 0; unsigned size = roundup(ARCH_DMA_MINALIGN, data->blocks*data->blocksize); -#if defined(CONFIG_S32V234) || defined(CONFIG_IMX8) || defined(CONFIG_IMX8M) +#if defined(CONFIG_S32V234) || defined(CONFIG_IMX8) || defined(CONFIG_IMX8M) || \ + defined(CONFIG_IMX8ULP) dma_addr_t addr; addr = virt_to_phys((void *)(data->dest)); From patchwork Mon Apr 12 12:12:49 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Peng Fan \(OSS\)" X-Patchwork-Id: 419543 Delivered-To: patch@linaro.org Received: by 2002:a02:c4d2:0:0:0:0:0 with SMTP id h18csp1660589jaj; Mon, 12 Apr 2021 04:45:09 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyFqogU2KRNW1bcPONNGpVZ/5sNdGgFq52UjXVBD67+Sa90TRyMliMf9aEcWxDZBntg82o0 X-Received: by 2002:a17:906:7194:: with SMTP id h20mr26421313ejk.432.1618227909686; Mon, 12 Apr 2021 04:45:09 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1618227909; cv=pass; d=google.com; s=arc-20160816; b=SQOOfDFnyZNbuqnV4f7D8s1T+imaiBIVci76tYZ9lgKyGZuanpRxDNTL2FAdlWTzrn JRV5Q2L+QhX/iqQo4n84Q8q70azIQh6xlYlNc+eZUgDo2gR4etOxzoJkqKnnimb9AEEp RZB41MuMEWbMWNf+t+/nplY7LUeED5eVIRY7CrJwY1tv9Mj+w3htgUROic0tyJJrcZ/3 2RTl9iX4cfPXrMQgmrW+oHG4JPh6UQ9E3hfOmhPeR785g6AF2eSnCqGRguEKod0dKLQB jNFjzVSvy+bnrLnozgnQWL9Yf0BmFXmhEBGjtq5lKoJXo0HcKWmBEOcofm95t8JNYzOY K6lg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:mime-version :content-transfer-encoding:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature; bh=QgO6mgFaQFHGM3sBJ1D6pfOSqLAmGoSe5afwOWTq+lU=; b=Glj9vqQyauQfwPZFaPExoHFLldgyeKfHhjxyhDSA7wbQKXNQCl/hQxgmEg2UAeCRac BqQJ0eYPgmeU7l6FCHtYY3BCQSm5mG8pRRhedXipOMjjTZ7dQH8NczM2yShg/X14CoNn 7FGivIZwoHUUkL9oZ9ZLjbJTGkFaPw/k6GqJaf5xrqr0l8IJ/dfTucwQWXg9uB+R5qJ+ ZdxFswBGChC0YjYjk+bNnx1AThNT/mFxIMhiE01n656Zv2Ovhss10eeTHOh0jttS72o8 g4s2W2I7WwHjZblKIFXsLJtsxlVGKzO5d54ioPj3I7zxym/gTPWODmDE8xPOP9699BHG IU0g== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@NXP1.onmicrosoft.com header.s=selector2-NXP1-onmicrosoft-com header.b=BlbcBlQC; arc=pass (i=1 spf=pass spfdomain=oss.nxp.com dkim=pass dkdomain=oss.nxp.com dmarc=pass fromdomain=oss.nxp.com); spf=pass (google.com: domain of u-boot-bounces@lists.denx.de designates 85.214.62.61 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Return-Path: Received: from phobos.denx.de (phobos.denx.de. [85.214.62.61]) by mx.google.com with ESMTPS id oz10si1513620ejb.8.2021.04.12.04.45.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Apr 2021 04:45:09 -0700 (PDT) Received-SPF: pass (google.com: domain of u-boot-bounces@lists.denx.de designates 85.214.62.61 as permitted sender) client-ip=85.214.62.61; Authentication-Results: mx.google.com; dkim=pass header.i=@NXP1.onmicrosoft.com header.s=selector2-NXP1-onmicrosoft-com header.b=BlbcBlQC; arc=pass (i=1 spf=pass spfdomain=oss.nxp.com dkim=pass dkdomain=oss.nxp.com dmarc=pass fromdomain=oss.nxp.com); spf=pass (google.com: domain of u-boot-bounces@lists.denx.de designates 85.214.62.61 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id A470982022; Mon, 12 Apr 2021 13:44:30 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=oss.nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="BlbcBlQC"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id CDE8782097; Mon, 12 Apr 2021 13:43:48 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER,SPF_HELO_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on20621.outbound.protection.outlook.com [IPv6:2a01:111:f400:7d00::621]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 82E0881FFD for ; Mon, 12 Apr 2021 13:42:22 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=oss.nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=peng.fan@oss.nxp.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=I2MQc+M1rAWiIpMOiLXhIEUMCQ35FPtuwkpvbXQNAeE/4eZuMu14Uu9kmuzHC4EwtZICoaThSlrKknySctXKpThEK9Glc84TPNFf1NGaiFr6FrVNmtFm8nXvzrcNqDGWAs+4ppamGqFGvsig+Tj4fVLhNzZBfVEsPgvoUEd98fHpDGlkXnzz3R1MPkyyol3H/QiHUTCpOGy9DBp/6Uvt7ezmh5CqXmvRfhUg5qxUS/yCIiLmpZ3ZdsaguG7zfieeJB5ymEoR3Gdnmqrx2Xbm8nh4sucEv/c3Bmp6Dz7a75I3ylp4DkIvYksJCpN7RoTLmjBcKmD2wRsrCkwaD9jvNg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=QgO6mgFaQFHGM3sBJ1D6pfOSqLAmGoSe5afwOWTq+lU=; b=EuUSO21xX86egJXtMn2QGNKm5mD0Ji+rHVQ994X8L2eAKpxDrWiHIAkvFHPmljdh1Y2OyzcupROyMSCORtmoZ/1FmnGCtFtwHjPGKpdfHlRM+Q6Y7oQBTOPEm63vlDPi7sZ/GtRPlcYAiztJWc/1d57qsvQoixjcG7jT+a32RRUmZxieDDsvglK7cMOsc2kUbsvB4VtofgoOrDNNgKTvEUZDPs0L9AnvCw+WfDaeslLQKymVmUS5lsdMLNiYadX0sCQYoADVWyw7K/TGpm5Xtw/jSbkrj9aWwuLfnAqO0Itdv7dS/eSok58D6w5LoSWYwZhCDn960NXCkjj5wQSeDQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector2-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=QgO6mgFaQFHGM3sBJ1D6pfOSqLAmGoSe5afwOWTq+lU=; b=BlbcBlQCtlyr5uRkoSyNh8zaItlgWDiKrSGF2uX8etylk1zS3Vhg0ykX/QAzSzlpF2NgE1OZLIXlhugJE1dLe3AG4S+yHSKByZaGD1j4pgMHdg7T+6pB1fJBCDvoK+fn1qnu5CZJHF/hJKXtot4rn7h6hrX/1cbKKLoz25PpNx0= Authentication-Results: denx.de; dkim=none (message not signed) header.d=none; denx.de; dmarc=none action=none header.from=oss.nxp.com; Received: from DB6PR0402MB2760.eurprd04.prod.outlook.com (2603:10a6:4:a1::14) by DB7PR04MB5244.eurprd04.prod.outlook.com (2603:10a6:10:21::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.18; Mon, 12 Apr 2021 11:42:21 +0000 Received: from DB6PR0402MB2760.eurprd04.prod.outlook.com ([fe80::c57a:6964:f72c:21cf]) by DB6PR0402MB2760.eurprd04.prod.outlook.com ([fe80::c57a:6964:f72c:21cf%11]) with mapi id 15.20.3999.032; Mon, 12 Apr 2021 11:42:21 +0000 From: "Peng Fan (OSS)" To: sbabic@denx.de, festevam@gmail.com Cc: u-boot@lists.denx.de, uboot-imx@nxp.com, Peng Fan Subject: [PATCH 20/37] arm: imx8ulp: disable wdog3 Date: Mon, 12 Apr 2021 20:12:49 +0800 Message-Id: <20210412121306.11484-21-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20210412121306.11484-1-peng.fan@oss.nxp.com> References: <20210412121306.11484-1-peng.fan@oss.nxp.com> X-Originating-IP: [119.31.174.71] X-ClientProxiedBy: HK2PR0401CA0009.apcprd04.prod.outlook.com (2603:1096:202:2::19) To DB6PR0402MB2760.eurprd04.prod.outlook.com (2603:10a6:4:a1::14) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from linux-1xn6.ap.freescale.net (119.31.174.71) by HK2PR0401CA0009.apcprd04.prod.outlook.com (2603:1096:202:2::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.16 via Frontend Transport; Mon, 12 Apr 2021 11:42:19 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 719ae8af-b869-4ae5-07bc-08d8fda80844 X-MS-TrafficTypeDiagnostic: DB7PR04MB5244: X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:1247; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: iQHLvOuYeSX5PeBzDw59SP6cGTZdr6OYbjUWOUnMeyA38PGWkJ2nR/ylbserOgyqAmiu4WF+vMPMpFAaXUFQQ63YTqHjSlS0IC8IKzwnnH9kB+zsGPpJ/exhdZfSn161735df3rq0YWj4qDrfK2SaVHyqiea30p7XZMgn3PDmzjBwSYWft52itHM8YYHPDPae/7Mh+6pDLnZlkBqT0YUtjv/fOSCe8VEg+sg+vcktPdP4KkPcjnCCyo88dbbGM1lS4oXkeNZR11U7qSZzZ5G4vCEOoKCz1RphQx+eVVBGXIMmAivR7q+X/CKNWERMXBwKXdKag8A9VMusF0Egs/rzATUzNEHLArka31KGCyxNq9+TJhW1p88BoVJpppskfM33G2fPNRky21iEm50uRi+1i4vi0ZR0pVzFxfzwvUzHNeomts/lJwIWsUZy8ngB4mBTopiOdnLDOxfuFrOmEKMFIs658QlCXn2dltm86FtBDbrb4FKVi5zabZtKyHk85BmekQtvWU6YcjCU+4ihvqSrnjm3V3F5W27e/BxZBX7m3YsO/NYLYia0UqHp0dw7VWAIbcl3jhMdB6q+Q9Frd4yaAe5XNfbQGKeGmkQOu9s53GwDKyXwwZuOUX9aRTi7jBGYGATMCTzZwmxqKvfAdfwQSYV9HCNl6ddjW8iQt9jBzJuQZjokor3ksY7CSCM6fEh X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB6PR0402MB2760.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(346002)(136003)(366004)(39860400002)(396003)(16526019)(26005)(186003)(6506007)(38100700002)(66946007)(66556008)(66476007)(316002)(8936002)(38350700002)(4326008)(956004)(478600001)(6486002)(5660300002)(6666004)(86362001)(6512007)(2616005)(2906002)(8676002)(52116002)(83380400001)(1076003)(32563001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: M0BE6dIaZCD5ski/VtzUdOtTYttw1HEdpOFEqA/HgdafYTR4b0b0cTS4lHeGgtu8RxKqnT3uvWoV/wZeAiLgc1d8l6CAFeaVOf80bZlvWOM6FkD1WbIQbUOsg52aO0m88muw9mwgHskYCJ2Bq9nTrtX3DTFHcoA0tBJy6Ajt+ty+9Xh3z20SwhSCti2mi1OEB34hZZikMMjpO3Tn44AkfHkHcJWWCFSKNTEjCq/TRkFDW4b9xqIHNcp+6FBfxwdYlBOytbsIKskVsb/OZudnU1WUmWMYrq+/cFxbstXIYrUOLfLEgUAov8BOJNWxtCR4A0nXXTQZzyD1OXppuGlnwUJFKP6mikHg4l65Pc9Wt4N8lPkejNYyzMdzup9YmPhtvEpcDkdZ/ZvdgYSfVxXS+YlZ20Vcj7jGDiU2GyO/ZSRKWAPKBda7wa26+5mJEiQ/ihPkF/J8c6tCNIFIwGc2ymuJLRAnXhGmCGHgZT4Gyzehw4bkyV3lLkhkJdEUcNabM4pkZEjznNHN2e9upRHDTo46LGL5QKDIGp50dYbFYpDcMqXLN91gCbp/1N6jrGFc+wrfk2b2V8R5I2rNfX5jeR6AMu7Q1lNcWYcOtv16lS1G9Rui3EczuodtFUSKmZsTCOeYhc6/CWt2y3od+mEirkwZefII5PiUfuyqTvesKoE76/Obsg0FQG+qojWv88DreLR7osTT8la9rVSCuQ3seU+bOLMv/1kMvEmEO2RH3xNkg5ad3DPfoKqXokJyCvzOb7lP1dNrKTvDkVA0Xlb8X7V2wX/+t8LCzFCCjqx4fMYfnKomzaVU40SfTBJq9sppHFFTzWUi5IKep3vraOLQKJ1yp1MEXmqgm+dvfDXMCUlA9Nl8mLubd0NBT1qYgi1wGKKKRkpVxxXy+kOb1qiYPLngh03o1TMSd3frrk2a+vAu8Hc1QaaCNZuIXqONhvCu1JvXG5im1UBFywee4MBKJkSoQErvSq6hCj4253OgxervRuzO7mpICseXmeO5oeOCbFLENmPdj9XB4vFsF9wHhxy3Wtb2QcVvqLEGvtNY6A//DK2OKUvQoTr3MZUiK8ZwNU7A7cIMj8v5GNSgPa0lCLMwihxSDN0eLkNNJSXJ/TcatZd8wigTzUUZG2tq9du+zr1cFKhRWT31dSC5C+5wwJ5PqFH4R7oMnHHt+OPgzE2SnAu904+MEDkEQDxibjwNxRMEMfmzoP0Z2mefjgE0iyLzVsmeWUiiVFGmNnzyIcnaa+YJ3JxVqmQKdlFg3M/qRNz2J0PGm77HeW4JFUV549R57Ymn4+8dpaHz8LmXd3S0+xgugruwg8qqQXshrrbgjpjctBzOtXGZeZlSAGV/dA== X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 719ae8af-b869-4ae5-07bc-08d8fda80844 X-MS-Exchange-CrossTenant-AuthSource: DB6PR0402MB2760.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2021 11:42:20.9533 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: utJWXV67+KirYIbKhSPlLVgW7WSZQ8OJtCEChZamAAiQLSLPNHdZCN5sZQo79C3vGUR8d2SiHT5v+H1kQ5oLRw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR04MB5244 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.4 at phobos.denx.de X-Virus-Status: Clean From: Peng Fan Disable wdog3 which is configured by ROM Signed-off-by: Peng Fan --- arch/arm/mach-imx/imx8ulp/soc.c | 36 ++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) -- 2.30.0 diff --git a/arch/arm/mach-imx/imx8ulp/soc.c b/arch/arm/mach-imx/imx8ulp/soc.c index be7d3d7259..a1c229c4f0 100644 --- a/arch/arm/mach-imx/imx8ulp/soc.c +++ b/arch/arm/mach-imx/imx8ulp/soc.c @@ -144,9 +144,43 @@ int print_cpuinfo(void) } #endif +#define UNLOCK_WORD0 0xC520 /* 1st unlock word */ +#define UNLOCK_WORD1 0xD928 /* 2nd unlock word */ +#define REFRESH_WORD0 0xA602 /* 1st refresh word */ +#define REFRESH_WORD1 0xB480 /* 2nd refresh word */ + +static void disable_wdog(void __iomem *wdog_base) +{ + u32 val_cs = readl(wdog_base + 0x00); + + if (!(val_cs & 0x80)) + return; + + dmb(); + __raw_writel(REFRESH_WORD0, (wdog_base + 0x04)); /* Refresh the CNT */ + __raw_writel(REFRESH_WORD1, (wdog_base + 0x04)); + dmb(); + + if (!(val_cs & 800)) { + dmb(); + __raw_writel(UNLOCK_WORD0, (wdog_base + 0x04)); + __raw_writel(UNLOCK_WORD1, (wdog_base + 0x04)); + dmb(); + + while (!(readl(wdog_base + 0x00) & 0x800)) + ; + } + writel(0x0, (wdog_base + 0x0C)); /* Set WIN to 0 */ + writel(0x400, (wdog_base + 0x08)); /* Set timeout to default 0x400 */ + writel(0x120, (wdog_base + 0x00)); /* Disable it and set update */ + + while (!(readl(wdog_base + 0x00) & 0x400)) + ; +} + void init_wdog(void) { - /* TODO */ + disable_wdog((void __iomem *)WDG3_RBASE); } void s_init(void) From patchwork Mon Apr 12 12:12:56 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Peng Fan \(OSS\)" X-Patchwork-Id: 419544 Delivered-To: patch@linaro.org Received: by 2002:a02:c4d2:0:0:0:0:0 with SMTP id h18csp1661150jaj; Mon, 12 Apr 2021 04:46:06 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx2fmU64MzrXhrL6B49n1ctdhpggtsoinS0zISsvD2YrntLDd3Enjl3qVPolWojHxuoG/ta X-Received: by 2002:a05:6402:26d3:: with SMTP id x19mr29195681edd.349.1618227966097; Mon, 12 Apr 2021 04:46:06 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1618227966; cv=pass; d=google.com; s=arc-20160816; b=dnxCn7Ds2ibkb43WKHylFJhA9Bm1i6/Ud3E9P0AN4CFj7aAUeta+4X4YQtSOTERL00 z9/vowvgS4tkQdONqPbeCWh0ZoJOUUNIS6/QONTBulNR7yhOJPsmFvzHuHQbSdkHb4T7 O+YZtlCUlYu4xxyv2ShyZK8DN7yO7LyqqQHMUzoXw8pH8Yh4igxk0swA4mq4vFKk/msA DEivVpVC0wQaDA1W5dAtHd1f94FAVoygLm1/6f4Udsq2f59CzPeEsXXPHNYunMWosz2R anZimITw1FsM0zRoIJHTIY/bEt2ykhBkTWdQjlNTtT0Bba/rJmcGyFDeK5Z8WuX18AfK XZ6g== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:mime-version :content-transfer-encoding:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature; bh=uWr+6dQMk/lPIT+TbaYcwZijWLaTtuIjwWtCy3cpI6I=; b=R8U4ckFk2b9FV8zGOJVDAEBBgmILbEp6sEXaZ0dBQ/pGqpJlif2NeGVSdIA5V+pZpH 4GJOkzOeOtr3Y6+IJMZRPwgqsdfHfLFz4wghIZXinD6bwW3gsicox8h9c/K51z5YsVIs dOsE3RZEH/yM9JiOkLhXldjzsYDPqMj7//+wTpOlqeUWH6pNhLzjg5PUc9vct3X8r0yO Tx5JYPdxRrXtE6Vs10AYfd/Jz5aqbpQRR1JrdGG1FMk/nfIFSypRnEbexxjgjxpRykdx Pmwj7PbLx1wr1RlzBGb7L1/I5YJdSP0HTuSARjHb7TsRUm1Xjog+eskseyeMyCcS5b0T psFw== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@NXP1.onmicrosoft.com header.s=selector2-NXP1-onmicrosoft-com header.b=mNsjNUk8; arc=pass (i=1 spf=pass spfdomain=oss.nxp.com dkim=pass dkdomain=oss.nxp.com dmarc=pass fromdomain=oss.nxp.com); spf=pass (google.com: domain of u-boot-bounces@lists.denx.de designates 85.214.62.61 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Return-Path: Received: from phobos.denx.de (phobos.denx.de. [85.214.62.61]) by mx.google.com with ESMTPS id f7si8232907edd.474.2021.04.12.04.46.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Apr 2021 04:46:06 -0700 (PDT) Received-SPF: pass (google.com: domain of u-boot-bounces@lists.denx.de designates 85.214.62.61 as permitted sender) client-ip=85.214.62.61; Authentication-Results: mx.google.com; dkim=pass header.i=@NXP1.onmicrosoft.com header.s=selector2-NXP1-onmicrosoft-com header.b=mNsjNUk8; arc=pass (i=1 spf=pass spfdomain=oss.nxp.com dkim=pass dkdomain=oss.nxp.com dmarc=pass fromdomain=oss.nxp.com); spf=pass (google.com: domain of u-boot-bounces@lists.denx.de designates 85.214.62.61 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 5277682028; Mon, 12 Apr 2021 13:45:13 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=oss.nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="mNsjNUk8"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 2537B8209D; Mon, 12 Apr 2021 13:44:42 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER,SPF_HELO_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from EUR03-DB5-obe.outbound.protection.outlook.com (mail-db5eur03on0611.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe0a::611]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 3C20D8203E for ; Mon, 12 Apr 2021 13:42:41 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=oss.nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=peng.fan@oss.nxp.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Vsv7D+ljwrjxc5nXvkORlVEjTnW4blsBtriCZilG1V4Yeny+Ip1m5t7uSnymJZQCTZmL53np8H36nfe14JXbv6jGzLrtqceq95E2dLwWHDDFSu1JH8Zvgm4Fodoe6UG+9HVjhUplq5/feFkYydTy+okskmMpsTwdfci6EF7w7GAISNvo1TBcqK0Dm56po7OzhgQ8hK+q/PMHwtYTMkRklweDbnKY8UoGpXkuMv8oNGnvvCZVlNnoVHNqjc2sFe5niMTRzvJ8DhfIjaWT3FsVhFjUmVjtb2OJzEHdxjxY/y1sDkTwMnqx3s8HELM0HgMqhe1SWsfvl0rcrxKIS46TKg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=uWr+6dQMk/lPIT+TbaYcwZijWLaTtuIjwWtCy3cpI6I=; b=IRSE2DbSoTbKeTHpjiOyNMh/KOlLn8X2kw6yxeCpXlSVrp5lsb86tR1xK/5RtC9+Tz3jLS008S0/+PZSbsDmqzJXGlldMrKBLFrYXGYIrxMKHOgyELFAdAGqqUqe5juUMCNI+fxTINq20/+K9zEUyjKEZ5SG5MXd11v+Dfo5DnuVQ4PvZDpBrLxcutXJx3FQTEWLUEXl8EGOhV8OBNIr4nUnKxmB30UdlTMwq0CuO6OmVi3qxunW89ACml3Flh2hQQElaMSgSRWcQGdQIQSlgBhEyFtrESxfeeB2vAm3TTBIJ/m0ZfPp5Hkm6ZBIlP7mT5b30IBhlfKGhj999JCV+g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector2-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=uWr+6dQMk/lPIT+TbaYcwZijWLaTtuIjwWtCy3cpI6I=; b=mNsjNUk8LtpMWHoyP5tfPAK+Wf/3CT/Rvnsu4DIYatVgIdxlkKmNSOKl+lQu28HdV/lPbMQa7EaKPqoQ1OM/+Fy0SrUZzEx6dQhbl61QvvmRLPOto8elnfCUqedtLXGUA2ajREqackLZV0n8IBCCzFDAt3dwkhUR7dElIjlnerc= Authentication-Results: denx.de; dkim=none (message not signed) header.d=none; denx.de; dmarc=none action=none header.from=oss.nxp.com; Received: from DB6PR0402MB2760.eurprd04.prod.outlook.com (2603:10a6:4:a1::14) by DB7PR04MB4233.eurprd04.prod.outlook.com (2603:10a6:5:25::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.22; Mon, 12 Apr 2021 11:42:39 +0000 Received: from DB6PR0402MB2760.eurprd04.prod.outlook.com ([fe80::c57a:6964:f72c:21cf]) by DB6PR0402MB2760.eurprd04.prod.outlook.com ([fe80::c57a:6964:f72c:21cf%11]) with mapi id 15.20.3999.032; Mon, 12 Apr 2021 11:42:39 +0000 From: "Peng Fan (OSS)" To: sbabic@denx.de, festevam@gmail.com Cc: u-boot@lists.denx.de, uboot-imx@nxp.com, Peng Fan Subject: [PATCH 27/37] arm: imx8ulp: add xrdc support Date: Mon, 12 Apr 2021 20:12:56 +0800 Message-Id: <20210412121306.11484-28-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20210412121306.11484-1-peng.fan@oss.nxp.com> References: <20210412121306.11484-1-peng.fan@oss.nxp.com> X-Originating-IP: [119.31.174.71] X-ClientProxiedBy: HK2PR0401CA0009.apcprd04.prod.outlook.com (2603:1096:202:2::19) To DB6PR0402MB2760.eurprd04.prod.outlook.com (2603:10a6:4:a1::14) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from linux-1xn6.ap.freescale.net (119.31.174.71) by HK2PR0401CA0009.apcprd04.prod.outlook.com (2603:1096:202:2::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.16 via Frontend Transport; Mon, 12 Apr 2021 11:42:37 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 91929db6-7de7-4dd8-c030-08d8fda81342 X-MS-TrafficTypeDiagnostic: DB7PR04MB4233: X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:1332; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: oUgxpCzruuAS/tEBkVhL08icviCYo7QVZQWeOSwvjHsSJeX1gdPUefHg0JgKn7fGG0EmcT+YgCVcxRO9V1kPyVT46UPjRYQmFZZ9bO2sP0KgDT/L4bq9O7YVW7GMBF93RUtS8dxx2cGfmUy9y5buhdi0kpA4WhXsqyAJMzV4uc0Olz6aj4dkQ7AUYMVfHWbmeZIy2jinwWLZpSAEcLRtDIMhXNAa62NOXKjnhn+I6aqOSlGrSNT2sU7/la5LQpbmA2zdBQmGwYXrauPZUJt0Bg3Z6y1nvOXlPzzLd5mYmKBL/fO2awYHaLov+HI2wJEwnBIGBc9YqPV3V0hGDvo2tX/9GAeE99CL2rmXISGIHSTaE71d0u68yPB/gpyuSrDviec2It6Bs36I9WcgDu9ABIfuGMgnZvhMdgr1rmtKMzzTkbzF30R7ofC4KXCOyJy0vMydgyCxbVTjysFHPsp5o6u8TjSN8cdpWGS3XS7AMba2m8OYL5YjBWyMmThUJpOkelr2LVZEAb9srg3M9ksqIB5Y5MQkytaefV7xdtBUqc2MiSOMBotCaJ1WTsSagYI56wlr6e3BRA+B704si/jXDJpRqriist2rCc7XiRaj/KYUYW4jvjjXRGApcwxi3Mjttiyi0iKE7/II6nSLoXGV58QiLMNHtanCfZ8sOK2nKhs= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB6PR0402MB2760.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(396003)(39860400002)(136003)(346002)(366004)(52116002)(83380400001)(956004)(86362001)(2616005)(6506007)(66476007)(8676002)(66556008)(1076003)(2906002)(4326008)(16526019)(316002)(26005)(5660300002)(6512007)(186003)(8936002)(38350700002)(38100700002)(478600001)(6666004)(6486002)(66946007)(32563001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: kFNrJopdGk+1jeIiK+neRQ0o/T20dZ1+2CaUI9MjaAejJUQtOXL7tOnooh9zfgLQMbJPRhRCedDM1+6aE2e+paFq4f0C9T5mlbYmPSb+tz/dnbcYLg8K+gF5F47qDz/BFfgYPvXHYN02v1KjT8bajlLxmoLu8eAI5isNlZIPwRYsVyyiTlMwSyauL545qEeA8bKioNiJZ//00APRs9GwzHiW461hFuIBGYrJaQo5qZ0peN8/mDlIoMM0jEHZyX5ygaqYIt8rIbh6D51/20rXkNhW9dp43Za+0ZY7nAcIqa3EVKMKAMpURgl9OTw9FxWUVkkLqY4eEmRLwKfsJ88ENuic/A1PODxXo2/DMrqGSkzX9SgJ6ebO42YE9YZdgMRR1KXU1Ly4kcyWq/82j0QK2kmi3ZzxlpDSAV4Qyd3q+C/sE91Q3jRqQzIbnbuxkSFovHgKbfEV8qjFxI86noyP1vWkgAVPovMbCYoXcC0e3NSQ2H8h6Oz5OGVLU4hXu8x82YWu01UVkz1IHLzH8c7F5LnV8ZoUjUArx2BY4hzpxGXlDX7n24/cENif2KFBWBOQDYoYDEQ85Ub/mGtbDI6w1NvOfRwA2/DpttUqx+x7PkwAKN0XcD2ef1mfyTb4apzWQBB9/m7vuFP57sdRPVztDwwpXjKiZGa+kTKt/+wsHXBAsBrslNgtXAzaxhp0DfqASaycctAmptUdJDLK0+mjktRXA384Y0VdVQSknIwfDDEilUcasaiZPAUHIfb6FwX9vu6Kmk+kavvh4z2Lfw89Lag45HvTqY+lvrn3rgpl//ovuQUefHD/oU36Mm2LmTIqwxa9bVfQHYk7ck6zMwqryao+v4rtcF5XfZU69PwCj5Pvs6lvBvN5HI1F5cWFX2b6NxxCp/hr3nKNw4ltDEbBx1uemr/eUCeoOBuviIIZZvPC9uE5y5yqvRqAK9zr0uVkfiiIBJJ/mO1THt/11BzYkYHSK1+QXNfwMuvEpWk4yDNxmdSl+nA1L41/RZoMuqVOef5716w7APDax9fNvMKCI6NcUnI8IOwLWcR7PWWM4vSJ/aE3DFo9SqnNeVA1qleks/wd9OPKlfEp45puZdU1BvKC/e0gUGuQuwyoEfe8Lpp/XQVA1b6pvkm95FPrsKdoWZrdZweiP3+dJDlBkszHxQ/wA4incEWm6TK5qzPzAZqr48NX+mvLrN1QyflrBxxPZURDWzgqUwdIToAZgHSh75ICq/wpIEvt0S+Gp2MkAQ4/CpX2Lk9Sa38emRfJmk3hEIzRm6lBs5DiibempK/Hi6TdPBBMJFsD18NTatneRFote8YT2V9n7RFtfr4g/LpF X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 91929db6-7de7-4dd8-c030-08d8fda81342 X-MS-Exchange-CrossTenant-AuthSource: DB6PR0402MB2760.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2021 11:42:39.3599 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: odCRUsxBKhnvg/rctPqW/C1NhzJctHgUgs8oM49YVGk9SLO/HRbbpLI+VRlHgePn/a6VNgpX7XIfZs/3/K2yTg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR04MB4233 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.4 at phobos.denx.de X-Virus-Status: Clean From: Peng Fan There is xrdc inside i.MX8ULP, we need to configure permission to make sure AP non-secure world could access the resources. Signed-off-by: Peng Fan --- arch/arm/include/asm/arch-imx8ulp/sys_proto.h | 2 + arch/arm/mach-imx/imx8ulp/Makefile | 2 +- arch/arm/mach-imx/imx8ulp/xrdc.c | 144 ++++++++++++++++++ 3 files changed, 147 insertions(+), 1 deletion(-) create mode 100644 arch/arm/mach-imx/imx8ulp/xrdc.c -- 2.30.0 diff --git a/arch/arm/include/asm/arch-imx8ulp/sys_proto.h b/arch/arm/include/asm/arch-imx8ulp/sys_proto.h index a8f632f45e..47ee46bdf4 100644 --- a/arch/arm/include/asm/arch-imx8ulp/sys_proto.h +++ b/arch/arm/include/asm/arch-imx8ulp/sys_proto.h @@ -13,4 +13,6 @@ extern unsigned long rom_pointer[]; ulong spl_romapi_raw_seekable_read(u32 offset, u32 size, void *buf); ulong spl_romapi_get_uboot_base(u32 image_offset, u32 rom_bt_dev); enum bt_mode get_boot_mode(void); +int xrdc_config_pdac(u32 bridge, u32 index, u32 dom, u32 perm); +int xrdc_config_pdac_openacc(u32 bridge, u32 index); #endif diff --git a/arch/arm/mach-imx/imx8ulp/Makefile b/arch/arm/mach-imx/imx8ulp/Makefile index 78c81d78bb..453589e6a2 100644 --- a/arch/arm/mach-imx/imx8ulp/Makefile +++ b/arch/arm/mach-imx/imx8ulp/Makefile @@ -4,4 +4,4 @@ # obj-y += lowlevel_init.o -obj-y += soc.o clock.o iomux.o pcc.o cgc.o +obj-y += soc.o clock.o iomux.o pcc.o cgc.o xrdc.o diff --git a/arch/arm/mach-imx/imx8ulp/xrdc.c b/arch/arm/mach-imx/imx8ulp/xrdc.c new file mode 100644 index 0000000000..7a098718da --- /dev/null +++ b/arch/arm/mach-imx/imx8ulp/xrdc.c @@ -0,0 +1,144 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright 2020 NXP + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +DECLARE_GLOBAL_DATA_PTR; + +#define XRDC_ADDR 0x292f0000 +#define MRC_OFFSET 0x2000 +#define MRC_STEP 0x200 + +#define SP(X) ((X) << 9) +#define SU(X) ((X) << 6) +#define NP(X) ((X) << 3) +#define NU(X) ((X) << 0) + +#define RWX 7 +#define RW 6 +#define R 4 +#define X 1 + +#define D7SEL_CODE (SP(RW) | SU(RW) | NP(RWX) | NU(RWX)) +#define D6SEL_CODE (SP(RW) | SU(RW) | NP(RWX)) +#define D5SEL_CODE (SP(RW) | SU(RWX)) +#define D4SEL_CODE SP(RWX) +#define D3SEL_CODE (SP(X) | SU(X) | NP(X) | NU(X)) +#define D0SEL_CODE 0 + +#define D7SEL_DAT (SP(RW) | SU(RW) | NP(RW) | NU(RW)) +#define D6SEL_DAT (SP(RW) | SU(RW) | NP(RW)) +#define D5SEL_DAT (SP(RW) | SU(RW) | NP(R) | NU(R)) +#define D4SEL_DAT (SP(RW) | SU(RW)) +#define D3SEL_DAT SP(RW) + +union dxsel_perm { + struct { + u8 dx; + u8 perm; + }; + + u32 dom_perm; +}; + +int xrdc_config_mrc_dx_perm(u32 mrc_con, u32 region, u32 dom, u32 dxsel) +{ + ulong w2_addr; + u32 val = 0; + + w2_addr = XRDC_ADDR + MRC_OFFSET + mrc_con * 0x200 + region * 0x20 + 0x8; + + val = (readl(w2_addr) & (~(7 << (3 * dom)))) | (dxsel << (3 * dom)); + writel(val, w2_addr); + + return 0; +} + +int xrdc_config_mrc_w0_w1(u32 mrc_con, u32 region, u32 w0, u32 size) +{ + ulong w0_addr, w1_addr; + + w0_addr = XRDC_ADDR + MRC_OFFSET + mrc_con * 0x200 + region * 0x20; + w1_addr = w0_addr + 4; + + if ((size % 32) != 0) + return -EINVAL; + + writel(w0 & ~0x1f, w0_addr); + writel(w0 + size - 1, w1_addr); + + return 0; +} + +int xrdc_config_mrc_w3_w4(u32 mrc_con, u32 region, u32 w3, u32 w4) +{ + ulong w3_addr = XRDC_ADDR + MRC_OFFSET + mrc_con * 0x200 + region * 0x20 + 0xC; + ulong w4_addr = w3_addr + 4; + + writel(w3, w3_addr); + writel(w4, w4_addr); + + return 0; +} + +int xrdc_config_pdac_openacc(u32 bridge, u32 index) +{ + ulong w0_addr; + u32 val; + + switch (bridge) { + case 3: + w0_addr = XRDC_ADDR + 0x1000 + 0x8 * index; + break; + case 4: + w0_addr = XRDC_ADDR + 0x1400 + 0x8 * index; + break; + case 5: + w0_addr = XRDC_ADDR + 0x1800 + 0x8 * index; + break; + default: + return -EINVAL; + } + writel(0xffffff, w0_addr); + + val = readl(w0_addr + 4); + writel(val | BIT(31), w0_addr + 4); + + return 0; +} + +int xrdc_config_pdac(u32 bridge, u32 index, u32 dom, u32 perm) +{ + ulong w0_addr; + u32 val; + + switch (bridge) { + case 3: + w0_addr = XRDC_ADDR + 0x1000 + 0x8 * index; + break; + case 4: + w0_addr = XRDC_ADDR + 0x1400 + 0x8 * index; + break; + case 5: + w0_addr = XRDC_ADDR + 0x1800 + 0x8 * index; + break; + default: + return -EINVAL; + } + val = readl(w0_addr); + writel((val & ~(0x7 << (dom * 3))) | (perm << (dom * 3)), w0_addr); + + val = readl(w0_addr + 4); + writel(val | BIT(31), w0_addr + 4); + + return 0; +} From patchwork Mon Apr 12 12:12:57 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Peng Fan \(OSS\)" X-Patchwork-Id: 419547 Delivered-To: patch@linaro.org Received: by 2002:a02:c4d2:0:0:0:0:0 with SMTP id h18csp1665009jaj; Mon, 12 Apr 2021 04:52:30 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxeCLAsQ/kfibmfXvUghXpbartfMLVXFgkJgCbZgjK8YZXsrj9pzae/DvkLf5FPsBKhT1Go X-Received: by 2002:a17:906:eb4a:: with SMTP id mc10mr16820214ejb.392.1618228350131; Mon, 12 Apr 2021 04:52:30 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1618228350; cv=pass; d=google.com; s=arc-20160816; b=Pi83/jPdONMulp1ZsjwGuBw4+10BCoHpctmLJC8Nslp8VbwSvE4MU32gqjNJxwxYJu rCKNyjgbKShM0gbK8KXcZgsfDiZ5Gcc3vvScw4nXHV3ur2lh2InwqhWB1VAKOtuSYWre A6CpDxb8KAmThykj2PWgBuH540iGfXRYzIgs41BJSx0p/Nwzvxjb2BgCEmp3ALnW9QGL Ckb6xJpAF4L7uODM4Th283+3BmBoQp7Wd7HyDtTzYAlcIMf1lFP0LmZe1rJLvHAUY4el b+NL04w4xoxP3ko7rlipgU1P81FwSjEC4wP29jmSqKUy9YcyVJUxkZPaHBrHHiy2MTK2 G+zw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:mime-version :content-transfer-encoding:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature; bh=5P1odcOkgttPEtaHMWQKQ5nfjwWx1ZWM2e9obkGMwLw=; b=0ZAFv9C4MSA2DYw7pU034LeaZGl1ZRO+WhF+JVE+j+WQax5ijOBsmrFpZwhhzwUPjt Wp/tbQFNEMxQWPs/Bsi1mp99tZV3MMhdSGr94c2ZAkJBBX6dbPmHtmeutfTHBvGrhtVc ayJP12Fd3Z27IcXAXpgCgRhTYHI5Kh18iyQCF2IsGNiBgTLudP3NF1UmLsL811d8a/pO 3p1SHMidCx6EQjBgC/rRsPbXHX6friZNkR/ZBnloCt53lSe4VbXBbsV+8HBRLnt6DAAg FqDYR6xXPA9T1VCLr8novdjZEkCt7Qg/UExIaWsUqxh9YJdfdOjBKY4YLKfKF27WtLuz V5mw== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@NXP1.onmicrosoft.com header.s=selector2-NXP1-onmicrosoft-com header.b=BVvSsI8a; arc=pass (i=1 spf=pass spfdomain=oss.nxp.com dkim=pass dkdomain=oss.nxp.com dmarc=pass fromdomain=oss.nxp.com); spf=pass (google.com: domain of u-boot-bounces@lists.denx.de designates 85.214.62.61 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Return-Path: Received: from phobos.denx.de (phobos.denx.de. [85.214.62.61]) by mx.google.com with ESMTPS id o4si7430921ejh.725.2021.04.12.04.52.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Apr 2021 04:52:30 -0700 (PDT) Received-SPF: pass (google.com: domain of u-boot-bounces@lists.denx.de designates 85.214.62.61 as permitted sender) client-ip=85.214.62.61; Authentication-Results: mx.google.com; dkim=pass header.i=@NXP1.onmicrosoft.com header.s=selector2-NXP1-onmicrosoft-com header.b=BVvSsI8a; arc=pass (i=1 spf=pass spfdomain=oss.nxp.com dkim=pass dkdomain=oss.nxp.com dmarc=pass fromdomain=oss.nxp.com); spf=pass (google.com: domain of u-boot-bounces@lists.denx.de designates 85.214.62.61 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id D177C81E7F; Mon, 12 Apr 2021 13:52:25 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=oss.nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="BVvSsI8a"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 12DFA820A3; Mon, 12 Apr 2021 13:44:44 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER,SPF_HELO_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from EUR03-DB5-obe.outbound.protection.outlook.com (mail-db5eur03on060e.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe0a::60e]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id CCD3C8204E for ; Mon, 12 Apr 2021 13:42:43 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=oss.nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=peng.fan@oss.nxp.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iio19LpfaifwMtgLSJCUpQgi3BXKodW171Dgc7ss6hWkmuV2bx4TAYcDp6T4Mai6L3zJTYucRKIBDN6AWEGCG6uIePkbmKKwu0YWNd2jrWQ9Oq7/c3V1KTTCXjm3eSlYxOhM4YaAp5Ir7zHXyGoQvi4ZCmQSn+7z5hAN7stqgBWFkkZ9/BIR4cNtdpaalIPZtbVbKM6JFg+jSe/ELlMinVBA9hyayGbAQpCnBNc1msw9Z0WH/t8CbWKFeGL6USymoK91dsZRrdB0WEgAbswPVqCgs4npYbf1pZSpnRg8EBMlUcVRehROH5FNiOBpt/yPJ6J3CBA8A1QhsC9sx9rBZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=5P1odcOkgttPEtaHMWQKQ5nfjwWx1ZWM2e9obkGMwLw=; b=hblMewSZckcJFV/t+f74j9UNoGh34lVMoN4B5FTzqI/6OSStNw/jRLn3BdP4TenLBpncYTkaCf0NaTBI0u67Mlj9LR6BAhJDFEBfhlR0w3IZbQN/LfeGI5kVeCw63FGCjP6a1vo/NvTHwV/ixEiT3L7nIWTWJ2r9JN5XMj5lekG4biDy+7PfVZIcKO+25sYGDKSRtMS7ahgvSaP1EtNwg1aZKclpJZQiA1tg+LZFtI5EILiiRCK4Z93oUfpVJ81es0sVdy5ppA2pTlFFZe+NUGVaM86/Eflu0c84Q9KKz9kTtG3H4uX6MuH8JgLRj5vWNGPAwt3+ORn2zVCtusdK5Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector2-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=5P1odcOkgttPEtaHMWQKQ5nfjwWx1ZWM2e9obkGMwLw=; b=BVvSsI8avA3yq/29LMcea4jndpHpyP1YdzFcCQvRz6/2mUF+BumZ6wtD1J05d8+NnYb1JxXXXmUIPZafmbYu7lgGOhyzWi/lZdoEG2qwWh1Z1dSf99pQKkTWjNPh0wxHujXHDCamGL/EWmLrDeWe5KeKAASfXsxUlag+DUQvD/c= Authentication-Results: denx.de; dkim=none (message not signed) header.d=none; denx.de; dmarc=none action=none header.from=oss.nxp.com; Received: from DB6PR0402MB2760.eurprd04.prod.outlook.com (2603:10a6:4:a1::14) by DB7PR04MB4233.eurprd04.prod.outlook.com (2603:10a6:5:25::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.22; Mon, 12 Apr 2021 11:42:41 +0000 Received: from DB6PR0402MB2760.eurprd04.prod.outlook.com ([fe80::c57a:6964:f72c:21cf]) by DB6PR0402MB2760.eurprd04.prod.outlook.com ([fe80::c57a:6964:f72c:21cf%11]) with mapi id 15.20.3999.032; Mon, 12 Apr 2021 11:42:41 +0000 From: "Peng Fan (OSS)" To: sbabic@denx.de, festevam@gmail.com Cc: u-boot@lists.denx.de, uboot-imx@nxp.com, Peng Fan Subject: [PATCH 28/37] arm: imx8ulp: add trdc release request Date: Mon, 12 Apr 2021 20:12:57 +0800 Message-Id: <20210412121306.11484-29-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20210412121306.11484-1-peng.fan@oss.nxp.com> References: <20210412121306.11484-1-peng.fan@oss.nxp.com> X-Originating-IP: [119.31.174.71] X-ClientProxiedBy: HK2PR0401CA0009.apcprd04.prod.outlook.com (2603:1096:202:2::19) To DB6PR0402MB2760.eurprd04.prod.outlook.com (2603:10a6:4:a1::14) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from linux-1xn6.ap.freescale.net (119.31.174.71) by HK2PR0401CA0009.apcprd04.prod.outlook.com (2603:1096:202:2::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.16 via Frontend Transport; Mon, 12 Apr 2021 11:42:39 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 9599fc3b-3f4f-4e59-38b1-08d8fda8149a X-MS-TrafficTypeDiagnostic: DB7PR04MB4233: X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:159; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: PQxwGTR5cP7CAYhHgEa0bWfcXv73X/4EWA64u7ylsZ8lXYL7GqEk8s8f8K9ZXfVDyMlRlXVekxj4MeUGyBl4jlGM+GkHH6oAyi3sJf6bCAaE/p6kZ7K5f3vazo1DWtAFTDQSxUF2Ochk6SvzqdmqZ2fbpdXBolUwMOP9Szidv09eUUns/G9P3nzvAjUxWSdPkcrYIeoAlQPR94hB/UnXnLMUOZQ5CbV61LFOb4jiD2VU2dqFwG2xfclgdUgK8aPW1QV35ktdIBt8cWm5iJkVvf2zljMnqLDjJ9DVbug2oDbjP4XHOfgc2j/ukq2JdOacELpr8DmWHH2YFBCYicKyZisOSdDFzq3vVBSM8X9aW/KUVlWI1CH5KSs+H2GBIxzZsHbt2CNjRobgy6ePzayqx/L/eDPBPzEr9IdJsZFqwqiuB8c9fO4USVr+I+Emsz8vPMQqqkX7ur6zB1S3rHVsYW9KyxHI9v61ogukP2JWO6RLnuSrKI5qw1SZIpaLctHIcF9azh43PO/HvV7P5mz83d3kNCJriEAysQtGeTjFNl/12p92wUt9MiYCapQaM2Tj1tYBGX0EkFZZhJpCybZNHaMP1Wfl+cqe6OzTX8SJiKxQR9ZOgrK0k7askgh0wXy8xwif5ZlF6Cq5gQvSIcRq7QHgw+ThLllIB6ZmVIpzG4s= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB6PR0402MB2760.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(396003)(39860400002)(136003)(346002)(366004)(52116002)(83380400001)(956004)(86362001)(2616005)(6506007)(66476007)(8676002)(66556008)(1076003)(2906002)(4326008)(16526019)(316002)(26005)(5660300002)(6512007)(186003)(8936002)(38350700002)(38100700002)(478600001)(6666004)(6486002)(66946007)(32563001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: a1BVdT+lC2YZyCZ7eu8rWqq1hCW5bY6uwVyIovGNZ0DuvzroXOZJJ2k8U/BnNjvfnMR0RYw48AxE2yqS8L6dnM3JVhsNdvrbF5xbcONwrm11l1z/XFRWqdPaDmOxH7o27o3weVU3DwSXK3JYU6nPiETj2MaylCNaoArxMoQe3LnH9ViKPGg2lOE3+ZEGvoMhnMS17MGaxFzZnLXHi4wQaI9Q4kRvnPzAiXuSlUFz76UCr29yGyRlLX7FGaLgU+JbbgNh0LesDAEYmhPtwdzunR7EjxjeGPuGGSLHYnUnpcZeaeTr1+K51M9HfZ/Y/AUNMDSXi5I/6Uz/6XMMzGfIvbWMZmwVV6VQ1AH0IAHuUUzmh+rbBdxKwiwnzabrim05l8LxXM+oNnRtUxKmVfhZTMp2ui5QY2hHm2/WjLov8f5Ic4JyINWvS2hdazkidCC+Yklsxq57UKkqJq2jR5EhP9yWBrzQ8vC9BRKST5zQZ85GPbd0zfmTzES53UfFY9MbFGBL6fo4QlEoZiyrQTfxn7YFw4PNCJydEtgivHxnlk0IW0PlmONquh1707Car2Id1rQeOjGEZZQ/LddLBsUa4Um0N90rm2G+WaMEO8J4xum5fkNCkM/sxt4nY8PljZZfwgMzSKFH/Mnaex2czrESyRBOjuOeIkhq2u7TRzdc3XGDuQecOiGWSEhrehr6RiqxEEoSm81KXV0uaKKcTrpshANrnm/J4yJyKd8yBlXShdSp1fQei8lHVClRB+Hh6YdrO6faumUEnAdncH6NdmBP26uZwmfOhL6dyJbOO5NrTZLgAYVsiVCjJC/jz2Js4DDy0iUyW8qlIYRzjrArOF6LfXqGnbfeXcOYRpbdDL4jWC8dOfF3UmwPWBiI0hFTbyIcxiClMV4+nE8g7JzeLsYpJWvjRaxuAwzjLS2+fKVDBoIENxtgITzmo6+/bCWf8z91RtJwJl61AG6L5nD3Qyp1aBXDYuRKZxIP7miJ6sSJERmeR/+NTyrLZamfbxUwox30TDKDLl2nJVkSlfRaNyYc70sS937j2besfZJW6XTiupYSHIG30tRUCd69Blsr8I/PNTIhT3e7xZR+gW8CjLv9PyHvmLLwJJLhaDLvrbLE0D07HujPq59063dmDrb1u9edaDK56q2NkTrySkIXqrwie+jbtMuYiceuWqycfqvX0d8sSz3kaW8pkeWNoVXrEy2y2/xEIC4JDLS2G9TOF5REuoNA7LAbwe0lem4Zq3bEC2ferHuiR0EXtjJ58mlADx9P0XxwRpy3RlTnRRNN3LlCUedu7opV1w2MIAvUBunuXKz3PBqGRw6luNkX37pCw9OG X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9599fc3b-3f4f-4e59-38b1-08d8fda8149a X-MS-Exchange-CrossTenant-AuthSource: DB6PR0402MB2760.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2021 11:42:41.6368 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: r3DgoFIrix963LpElinB7xABuAhdMBxaf3N9Do4i4VSpEaKQPo9b+v4fcQFUYzk9s7Yo4v7fcHWY3ilmHkjbJw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR04MB4233 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.4 at phobos.denx.de X-Virus-Status: Clean From: Peng Fan Add TRDC release request, then we could configure resources to be accessible by A35 Domain. Signed-off-by: Peng Fan --- arch/arm/mach-imx/imx8ulp/soc.c | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) -- 2.30.0 diff --git a/arch/arm/mach-imx/imx8ulp/soc.c b/arch/arm/mach-imx/imx8ulp/soc.c index 32389629ba..ad57c88674 100644 --- a/arch/arm/mach-imx/imx8ulp/soc.c +++ b/arch/arm/mach-imx/imx8ulp/soc.c @@ -341,17 +341,23 @@ static void set_core0_reset_vector(u32 entry) setbits_le32(SIM1_BASE_ADDR + 0x8, (0x1 << 26)); } -static int release_xrdc(void) +enum rdc_type { + RDC_TRDC, + RDC_XRDC, +}; + +static int release_rdc(enum rdc_type type) { ulong s_mu_base = 0x27020000UL; struct imx8ulp_s400_msg msg; int ret; + u32 rdc_id = (type == RDC_XRDC) ? 0x78 : 0x74; msg.version = AHAB_VERSION; msg.tag = AHAB_CMD_TAG; msg.size = 2; msg.command = AHAB_RELEASE_RDC_REQ_CID; - msg.data[0] = (0x78 << 8) | 0x2; /* A35 XRDC */ + msg.data[0] = (rdc_id << 8) | 0x2; /* A35 XRDC */ mu_hal_init(s_mu_base); mu_hal_sendmsg(s_mu_base, 0, *((u32 *)&msg)); @@ -360,13 +366,12 @@ static int release_xrdc(void) ret = mu_hal_receivemsg(s_mu_base, 0, (u32 *)&msg); if (!ret) { ret = mu_hal_receivemsg(s_mu_base, 1, &msg.data[0]); - if (!ret) - return ret; + if (!ret) { + if ((msg.data[0] & 0xff) == 0xd6) + return 0; + } - if ((msg.data[0] & 0xff) == 0) - return 0; - else - return -EIO; + return -EIO; } return ret; @@ -420,8 +425,11 @@ int arch_cpu_init(void) /* Disable wdog */ init_wdog(); + if (get_boot_mode() == SINGLE_BOOT) + release_rdc(RDC_TRDC); + /* release xrdc, then allow A35 to write SRAM2 */ - release_xrdc(); + release_rdc(RDC_XRDC); xrdc_mrc_region_set_access(2, CONFIG_SPL_TEXT_BASE, 0xE00); clock_init(); From patchwork Mon Apr 12 12:12:58 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Peng Fan \(OSS\)" X-Patchwork-Id: 419545 Delivered-To: patch@linaro.org Received: by 2002:a02:c4d2:0:0:0:0:0 with SMTP id h18csp1661445jaj; Mon, 12 Apr 2021 04:46:33 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyeZl0lz/QaneEsyruPfgE22Sb1VxKDV/YUBqs/La+sA2Am+N11SkX4V/lxkoYm30ke+JcA X-Received: by 2002:a05:6402:2552:: with SMTP id l18mr28620546edb.71.1618227992829; Mon, 12 Apr 2021 04:46:32 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1618227992; cv=pass; d=google.com; s=arc-20160816; b=eD4jj/L9luAXvKooe1Wzh2+5rx9vdHgjSqfVPF6QZzJrvPkB9uxh/k+WCiVGmwivfc 5YMf5JiMKSq+E17o96rs6LADKTN9YbgYCBmWF1iqHZ14BAxOm8nl2q01wejaqBm5IVH+ bO14LYjpGsnGezgLSIuD0B18RShnhBzkYc7xtp2qrNrOJD3udtPLtd6VPW0SZZ5PIoK8 irYKa+mTuC2jhwf1vJgOvnEIBr4wwOzrw5e55IuWYYA++PYB1+okCuFoagjJaHQ6RAhb bewHIAxXkJT7YaKwNxgFLQdlko3jX8/gzIe/5ZYxuhaHKbuX1Pt6py84pjZvEmWAy9Hu hfzg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:mime-version :content-transfer-encoding:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature; bh=ZuMgJTj+2VeVKIvtD7jcHqm+Kb2n/n6gIf2Wgtzz5qc=; b=BN+kHij17/qRZ4ltvyQZFqs9zv0ooQ5+DV4cEvMpfVCyTRQ1oXEp4K3wMOFAPOX1cl AcD/D0AAP+T2Yh8F2RTnZ7kqdPxx6cJ26Tps49ALZrSiyll3UgkWOTTEePIiw+HRT6Ez mDpJGlSwiYLIzRGnEgINQorUCFh2CqDw+x0s/xZnEg35pyKs84r90Mm8i7u/E1zLBNiE ZUowbYGUm6Q+is3p8tTMSUGoDr73DAWDv0dnnkNQpCm3O2Ja4vRQkx4IUdyL1x5MNn7A YVRuX5+spk67AAgGR/g2I3+AyDAZdMAiOAAFT/1lnpBw/3KVCymn02EldBbAK8AWQeJg JIuw== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@NXP1.onmicrosoft.com header.s=selector2-NXP1-onmicrosoft-com header.b=RaSZchYU; arc=pass (i=1 spf=pass spfdomain=oss.nxp.com dkim=pass dkdomain=oss.nxp.com dmarc=pass fromdomain=oss.nxp.com); spf=pass (google.com: domain of u-boot-bounces@lists.denx.de designates 85.214.62.61 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Return-Path: Received: from phobos.denx.de (phobos.denx.de. [85.214.62.61]) by mx.google.com with ESMTPS id z20si8467116edi.424.2021.04.12.04.46.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Apr 2021 04:46:32 -0700 (PDT) Received-SPF: pass (google.com: domain of u-boot-bounces@lists.denx.de designates 85.214.62.61 as permitted sender) client-ip=85.214.62.61; Authentication-Results: mx.google.com; dkim=pass header.i=@NXP1.onmicrosoft.com header.s=selector2-NXP1-onmicrosoft-com header.b=RaSZchYU; arc=pass (i=1 spf=pass spfdomain=oss.nxp.com dkim=pass dkdomain=oss.nxp.com dmarc=pass fromdomain=oss.nxp.com); spf=pass (google.com: domain of u-boot-bounces@lists.denx.de designates 85.214.62.61 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id EE4B582032; Mon, 12 Apr 2021 13:45:57 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=oss.nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="RaSZchYU"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 46ACA820AA; Mon, 12 Apr 2021 13:44:50 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER,SPF_HELO_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from EUR03-DB5-obe.outbound.protection.outlook.com (mail-db5eur03on0609.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe0a::609]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id BD4DD82044 for ; Mon, 12 Apr 2021 13:42:45 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=oss.nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=peng.fan@oss.nxp.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cmkEDpZg2pFKNSIu7i+HhOoUz3genO9c4lXoW8bkMXOg8WXwY0ckQDLV5/Hd5vBrCHQfpDWZ3ZybWA1PE9BXFVS8ueuDvvvzDUnucFm5d9Tho7EjlQ4VXsmefJUk5nlWhYQuiBLRXY9ImI1BwGW7W4LJfLwwnnFHfSezNfsf3AoDcKrm9fECt1OcckOJrkL78VNptkalAMGk5EECz+5jyPeiFWIZqRj42Tkgk/ovHkFXJ3DXulQGktee5Z4Midf6Pgp2AefLi+Y+TAgGZvhv1Oa/kssv4gM/4sHf4s033PfykozEwVPgoJU+lxi2a2KMVE8eGjNeBqEHaDWIFdir0A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ZuMgJTj+2VeVKIvtD7jcHqm+Kb2n/n6gIf2Wgtzz5qc=; b=R7QF/iuyx1PmG7/Vvz03hi2tYhO01+ar9peKS8gBBSLDbsJVKNcoz78cWVx6UtAoGoxNP/eJ7yJyjM4vPsaiT8yXuQgPHMQNV8UApZXKIFC3ew7A0ZmQ0DHQwBgNAAyggnWEt5il5ddUS2bUmfOAXR3l6qmQOPluxbUSQpeynCIIqbKpfDlhEcMvIEVuXk6LmvyzBgArpLI+E4Xd6JJhWsJmhZIUFSXzCYZH7wKV5ODObe1q50vIfiSNZufHmG8/sB0+zSvUy3VbQQeywH1efvdii0t49MKGvpuIEdlByYJP0RGoKzhApQg8KdSlg0A+wD1sWJt7w3fgbElBl6AxTg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector2-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ZuMgJTj+2VeVKIvtD7jcHqm+Kb2n/n6gIf2Wgtzz5qc=; b=RaSZchYU7ANulrPmK2SFAR5RUuzr64b3G1tT1/8x5tW9QIf+c39ModBmDjRrqm94Nd38Mu9HZt5/HUlmLaK5fg1c4u7LOXQ41a5Z2W8QZdnnNBwH9rRZ9rS6oPQOKrqnjT1f+uIxnzu2MkclwxtR1ew/JVzeTkd0vRPZD9ZVPfQ= Authentication-Results: denx.de; dkim=none (message not signed) header.d=none; denx.de; dmarc=none action=none header.from=oss.nxp.com; Received: from DB6PR0402MB2760.eurprd04.prod.outlook.com (2603:10a6:4:a1::14) by DB7PR04MB4233.eurprd04.prod.outlook.com (2603:10a6:5:25::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.22; Mon, 12 Apr 2021 11:42:44 +0000 Received: from DB6PR0402MB2760.eurprd04.prod.outlook.com ([fe80::c57a:6964:f72c:21cf]) by DB6PR0402MB2760.eurprd04.prod.outlook.com ([fe80::c57a:6964:f72c:21cf%11]) with mapi id 15.20.3999.032; Mon, 12 Apr 2021 11:42:44 +0000 From: "Peng Fan (OSS)" To: sbabic@denx.de, festevam@gmail.com Cc: u-boot@lists.denx.de, uboot-imx@nxp.com, Peng Fan , Ye Li Subject: [PATCH 29/37] arm: imx8ulp: release trdc and assign lpav from RTD to APD Date: Mon, 12 Apr 2021 20:12:58 +0800 Message-Id: <20210412121306.11484-30-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20210412121306.11484-1-peng.fan@oss.nxp.com> References: <20210412121306.11484-1-peng.fan@oss.nxp.com> X-Originating-IP: [119.31.174.71] X-ClientProxiedBy: HK2PR0401CA0009.apcprd04.prod.outlook.com (2603:1096:202:2::19) To DB6PR0402MB2760.eurprd04.prod.outlook.com (2603:10a6:4:a1::14) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from linux-1xn6.ap.freescale.net (119.31.174.71) by HK2PR0401CA0009.apcprd04.prod.outlook.com (2603:1096:202:2::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.16 via Frontend Transport; Mon, 12 Apr 2021 11:42:42 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 24754806-f6dc-479d-8c66-08d8fda81625 X-MS-TrafficTypeDiagnostic: DB7PR04MB4233: X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:6790; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: duXztkyV1ZLHVqFSqRNUxTkSsSxm/WJsqYBNb103qW5gPF+dx8oLmBBnkenY2+x42gNPmkoRy2s0WdZV7pkkwFhEMoj6F8NOvlFqsbvxF6ExfK8WAoXg92EGyxhBdHEyP+9kq0GohkhdUgqiBoc9f8il8sJ1pgwsOTosXn0tu5nAy9k+FD7yK7LNKi0iP9u0ElkUWDTQSX1TaeP2k/HMVmyaxawUxsx2I0E+W2nViFMlpoxsxRPhhO/G//iXLCdZ/tX4k/PIQw1k8BsxHwtcV/6mr5v048VnfTJI/mp1a8BBl5fllggTCO9X1xT2tXV02Tr1TXJbn9fKoHg3jlVSeJJ/HEQ+ZVVbhcPK3c2dMt1dcke8/9bsQ87J9y75CdH+9Z/N353EmjHLDv0Kck2wj0msc1G+Y2JlFxaLM+fhq3XVVnNRCeNMRwp1fXB4Scwa/73MSOybDNl2Vm0cbnQ5kC2Xgzy0uhAqoeeZ6ey8zMs71fCold1Etkgk62BOPfc8dWVRHz6QnNhqKo83O1TscqRSWJBLmwOTDYVNTKVweKvZSX7BCNdiLyHemAHFYQnvSMFpOa0UgYZNZ+h4xPzvyDNSbn9n9cUbq2xinZZlLGN6xsSqe1URMS6d5WzMLEGQg6K//RD8lXwxfQGXJrHBiVoQsfaZ5WKBo3klNQOopQs= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB6PR0402MB2760.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(396003)(39860400002)(136003)(346002)(366004)(52116002)(83380400001)(956004)(86362001)(2616005)(6506007)(66476007)(8676002)(66556008)(1076003)(2906002)(4326008)(16526019)(316002)(54906003)(26005)(5660300002)(6512007)(186003)(8936002)(38350700002)(38100700002)(478600001)(6666004)(6486002)(66946007)(32563001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: IbWno4q2G2T577mMUMjFzCXrbRQgcRcPFF7Uq4WrQy24az1mlGEmE0rB2YyiPm3aBryIhOjbjvmH6IBkm2kvuiE2XDKCmO3JXK3zxQMyRUf6z/7WjXbC+yV3EZAS69PfcXH8Q0uFWPnPyRyvxesPzzW07rPP6t/+b1OoeTz7dp6nebYUk8kw0G1aatPutFnL+tvxurHfsF9OPPMtaH+m0dEU3lzFHgRng8/JJjO2epW2lzChY+EmbjEj6q+tv48nJwWfFsfcUHx7Kv4FemUWEuRYgpaTH4PPvoCr+lNYsltUMFr04qL3brG/cTyyCI/tOicztR0WAitjaoGwEdnZ8PsfP/Fp6NL/Ei7O3mKt5o/zdvLlDBoYsJLu7uwfYbgQNcol3kfoT9gxQ+7Tiv2qAGj7jIzsD7fQBvtJoGM5jYPaVecfiumoQqwGS21eh4fLytSSi9NfJc1Wd+tn37EdrT9+EUuCFmq635N52xrATXv3ldgxqn/opc9XbY9PYpAkOzW+7lgTdBVNFyWcW0OqWkUHTGcq0CTsPaeDF/fN1+po6dLHt/A6gq0P7KxX2wCfEI8RVCYshD2Aq62Bh/7GqmQitXO79MtAaECDimUAM85BSXXP01FRsTYbvEbkahx5Y3P/AT6w2Nqamr4Saq6YEH5TkZTW+Eo47dMPpc5DeJ5ijPzgkAr+2nybONnE1eEQfPXxrx27u6Yw0HGHYh55Ajv7lNrRyQA0tRVIKoW+eIj/NchOxNKX6aElXt5WxnvEyTW/uGpEcDxMa4tGZ7x6czSGDHoB13XUEsCjhxqHEAibcdykMzxnC/QGKnWpFDIK5TYERZVk0LFPl12IWVl4aIrdcV+wdLez6yBInlXQmocFVSbI/9Q7FE781pnUDSKpLmFG9sNtcPJYZuoM9d2FjO3oSJDTy+LSzmSFZ9ztOcldX81fPVgJaJOGPpF5iU/wGFPjCEQ7wiPosl8WiVfcZ7Gvlfrshv5Ff0nd6d4/wL4qBJo/xZFqXxAULtx9R6Apwc6nLxzapuO7hDTPIMPa4xb+TGILOnJC8F1nLBYfgwbAz5SObwBk8zazHe+YqBlMULh3JgqPGWhZLlqOCpwXSjL1nLD964Wh4Qaxj3pXtbOSwkqUdSQJpn9+VAKia3jZX6ZGA0f/9S5zHDEb1EQ6t1V+cNcqJd7v+m69Cqi+b5mHJIeATxnYhVrnWJEThBlHd4KwQRu+/KIKSTWb9jk+J6n3Yb/Ws2c6mshwBQXDczqt7IqdTd6lMFoMzXoeVdl9SN+wPInC35XBwJ0lh2vnofW4K3F3tOAupOXQm5tNIJiQVBJLCIYq5CL9PM3VqzlA X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 24754806-f6dc-479d-8c66-08d8fda81625 X-MS-Exchange-CrossTenant-AuthSource: DB6PR0402MB2760.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2021 11:42:44.2307 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: PmD/6BjSwhs6+lCAOFa94M4ywxr1fJxPpR0KL9BGqUktUarMOW7w1xi12d3nkYffyKz3gqDP5jiA8VZ/DGokvA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR04MB4233 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.4 at phobos.denx.de X-Virus-Status: Clean From: Peng Fan Rlease LPAV from RTD to APD Release gpu2D/3D to APD Set TRDC MBC2 MEM1 for iomuxc0 access Since upower depends AP/M33 SW to configure IOMUX for its PMIC i2c and MODE pins. we have to open iomuxc0 access for A35 core (domain 7) in single boot. Signed-off-by: Peng Fan Signed-off-by: Ye Li --- arch/arm/mach-imx/imx8ulp/soc.c | 104 +++++++++++++++++++++++++++++++- 1 file changed, 103 insertions(+), 1 deletion(-) -- 2.30.0 diff --git a/arch/arm/mach-imx/imx8ulp/soc.c b/arch/arm/mach-imx/imx8ulp/soc.c index ad57c88674..a8791f4612 100644 --- a/arch/arm/mach-imx/imx8ulp/soc.c +++ b/arch/arm/mach-imx/imx8ulp/soc.c @@ -377,6 +377,102 @@ static int release_rdc(enum rdc_type type) return ret; } +struct mbc_mem_dom { + u32 mem_glbcfg[4]; + u32 nse_blk_index; + u32 nse_blk_set; + u32 nse_blk_clr; + u32 nsr_blk_clr_all; + u32 memn_glbac[8]; + /* The upper only existed in the beginning of each MBC */ + u32 mem0_blk_cfg_w[64]; + u32 mem0_blk_nse_w[16]; + u32 mem1_blk_cfg_w[8]; + u32 mem1_blk_nse_w[2]; + u32 mem2_blk_cfg_w[8]; + u32 mem2_blk_nse_w[2]; + u32 mem3_blk_cfg_w[8]; + u32 mem3_blk_nse_w[2];/*0x1F0, 0x1F4 */ + u32 reserved[2]; +}; + +struct trdc { + u8 res0[0x1000]; + struct mbc_mem_dom mem_dom[4][8]; +}; + +/* MBC[m]_[d]_MEM[s]_BLK_CFG_W[w] */ +int trdc_mbc_set_access(u32 mbc_x, u32 dom_x, u32 mem_x, u32 blk_x, u32 perm) +{ + struct trdc *trdc_base = (struct trdc *)0x28031000U; + struct mbc_mem_dom *mbc_dom; + u32 *cfg_w, *nse_w; + u32 index, offset, val; + + mbc_dom = &trdc_base->mem_dom[mbc_x][dom_x]; + + switch (mem_x) { + case 0: + cfg_w = &mbc_dom->mem0_blk_cfg_w[blk_x / 8]; + nse_w = &mbc_dom->mem0_blk_nse_w[blk_x / 32]; + break; + case 1: + cfg_w = &mbc_dom->mem1_blk_cfg_w[blk_x / 8]; + nse_w = &mbc_dom->mem1_blk_nse_w[blk_x / 32]; + break; + case 2: + cfg_w = &mbc_dom->mem2_blk_cfg_w[blk_x / 8]; + nse_w = &mbc_dom->mem2_blk_nse_w[blk_x / 32]; + break; + case 3: + cfg_w = &mbc_dom->mem3_blk_cfg_w[blk_x / 8]; + nse_w = &mbc_dom->mem3_blk_nse_w[blk_x / 32]; + break; + default: + return -EINVAL; + }; + + index = blk_x % 8; + offset = index * 4; + + val = readl((void __iomem *)cfg_w); + + val &= ~(0xFU << offset); + + if (perm == 0x7700) { + val |= (0x0 << offset); + writel(perm, (void __iomem *)cfg_w); + } else if (perm == 0x0077) { + val |= (0x8 << offset); /* nse bit set */ + writel(val, (void __iomem *)cfg_w); + } else { + return -EINVAL; + } + + return 0; +} + +int trdc_set_access(void) +{ + /* + * CGC0: PBridge0 slot 47 + * trdc_mbc_set_access(2, 7, 0, 47, 0x7700); + * For secure access, default single boot already support, + * For non-secure access, need add in future per usecase. + */ + trdc_mbc_set_access(2, 7, 0, 49, 0x7700); + trdc_mbc_set_access(2, 7, 0, 50, 0x7700); + trdc_mbc_set_access(2, 7, 0, 51, 0x7700); + trdc_mbc_set_access(2, 7, 0, 52, 0x7700); + + trdc_mbc_set_access(2, 7, 0, 47, 0x0077); + + /* iomuxc 0 */ + trdc_mbc_set_access(2, 7, 1, 33, 0x7700); + + return 0; +} + static void xrdc_mrc_region_set_access(int mrc_index, u32 addr, u32 access) { ulong xrdc_base = 0x292f0000, off; @@ -425,8 +521,14 @@ int arch_cpu_init(void) /* Disable wdog */ init_wdog(); - if (get_boot_mode() == SINGLE_BOOT) + if (get_boot_mode() == SINGLE_BOOT) { release_rdc(RDC_TRDC); + trdc_set_access(); + /* LPAV to APD */ + setbits_le32(0x2802B044, BIT(7)); + /* GPU 2D/3D to APD */ + setbits_le32(0x2802B04C, BIT(1) | BIT(2)); + } /* release xrdc, then allow A35 to write SRAM2 */ release_rdc(RDC_XRDC); From patchwork Mon Apr 12 12:13:02 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Peng Fan \(OSS\)" X-Patchwork-Id: 419552 Delivered-To: patch@linaro.org Received: by 2002:a02:c4d2:0:0:0:0:0 with SMTP id h18csp1666075jaj; Mon, 12 Apr 2021 04:54:09 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzAGd4MV1eJ0/G2bIYnxMso/uUADZYNBaeHZesSgyJXHu9WJrggm43+wtZQ+srQ5gN0XK52 X-Received: by 2002:a17:906:5fce:: with SMTP id k14mr11900248ejv.9.1618228449512; Mon, 12 Apr 2021 04:54:09 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1618228449; cv=pass; d=google.com; s=arc-20160816; b=aWo5oBzqASyxZZ/TkYxINTN1rmHR1Dozr4u66zzCdih0O4+LoVfDM2grrCZKkAUB1V fXl/OrGhavkAcHd2LQ5Pl5Zsmm79Je7OP1XCwrR2TnLnAB7E+xNCRZOeg7gY635tZoqx xmqOJdYatpis/dvHljIPJP6VnB4EyrZg2xbBoAp5jRURlLp0bNVg3PAbd3A3TIv0uX2R IrcVknyPF4PMB24dzZKP+nEKXOQBWQgAmUxyixhyTGaDFnE3kcljHJlffu2phVqCTJWs 489pyHmEY1l5VR5Mq3AeWAtaXhqS06RhQhDu/XPPUXttnOg1lAJ0eDRSAFCNEakgi+is c2Tg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:mime-version :content-transfer-encoding:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature; bh=EyDbAzlXHfdMW+R7GGkkfS0bN8VNzu9SObkwjuEwwAY=; b=Rb8UR8j1bsW6F9RL9zW5YUlhsnakKk9uVVmud6VCJBsupfnOSZl1aNew/C5hGlBjzU X7j5g0KY+m4z713VFio8S91Rn5krDNgW6A/wJ4sVKSDv7dt7B4OTCAZod3zq0Zs1y0R3 mx8e+bqZNA1mGgzyw1eS4uU6rE39GxVR6IQY5L5NV86UvUe+7haDHLOplqXgto02NuiL KrS1HkiQWwxSaBTh2tPYqypSj+cbuObcQgh4LF8gcgoA5OIXg+DLGj0vz3Rghq8v2/Tn Tn/0bCglBrUQbTLjCMHWsU5tQHf01+AF31LPkHan6nwWiyTx9YifBGiryZ30RytKP5Fs x7sQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@NXP1.onmicrosoft.com header.s=selector2-NXP1-onmicrosoft-com header.b=HcLfRQHH; arc=pass (i=1 spf=pass spfdomain=oss.nxp.com dkim=pass dkdomain=oss.nxp.com dmarc=pass fromdomain=oss.nxp.com); spf=pass (google.com: domain of u-boot-bounces@lists.denx.de designates 2a01:238:438b:c500:173d:9f52:ddab:ee01 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Return-Path: Received: from phobos.denx.de (phobos.denx.de. [2a01:238:438b:c500:173d:9f52:ddab:ee01]) by mx.google.com with ESMTPS id y11si4165204ejf.337.2021.04.12.04.54.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Apr 2021 04:54:09 -0700 (PDT) Received-SPF: pass (google.com: domain of u-boot-bounces@lists.denx.de designates 2a01:238:438b:c500:173d:9f52:ddab:ee01 as permitted sender) client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; Authentication-Results: mx.google.com; dkim=pass header.i=@NXP1.onmicrosoft.com header.s=selector2-NXP1-onmicrosoft-com header.b=HcLfRQHH; arc=pass (i=1 spf=pass spfdomain=oss.nxp.com dkim=pass dkdomain=oss.nxp.com dmarc=pass fromdomain=oss.nxp.com); spf=pass (google.com: domain of u-boot-bounces@lists.denx.de designates 2a01:238:438b:c500:173d:9f52:ddab:ee01 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id B74D182052; Mon, 12 Apr 2021 13:53:43 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=oss.nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="HcLfRQHH"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 6458B81FF8; Mon, 12 Apr 2021 13:52:40 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER,SPF_HELO_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on060f.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe0d::60f]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 1740182084 for ; Mon, 12 Apr 2021 13:42:59 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=oss.nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=peng.fan@oss.nxp.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=H0fH0DmBCMMYCtDY0IXdIH530KQVFyG7PpDUPlYcWbrIgSeBsVEWN43obGsCqTRkBG0dZxQV+NdmPiumHZnfQSMj0+kIc2cCIyotjKV9Erd7tCYC+XFsgsiqouhXtcgRvWf+hXR0vzCqC0DrrRnruX/vgQAqDaZu5U5QqiQjUkjS2rJhQlCP5xIk1gHLubKfndRtmaRDaK1tb77SbEHerNhiLSxgi9R9tIsmumOZT04ZP7FawkDvBx2UB92sw/lxRbrG0VY8/4LpUzoMwVdpXnXDGQphzF72orwT/efU0ZIlLgNt3KiDk/PasKRVNyrk0DtTVNwY/C/dzToku7xRVA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=EyDbAzlXHfdMW+R7GGkkfS0bN8VNzu9SObkwjuEwwAY=; b=j8LuWOasijh+k/YF4JZC7fULl7qaqOSzKDAjlTbLLTDDR4Cr7wg7alaZlCbfkrxwgMQ++pcPVtyrkvX58flrlcAJuLp7ugIqiGT9ORo4xS9giaoe2Ji8a0hA9KW7R/wOW8+M2O/40xyIaQjhIgn6/9vW8OUqAx1VAyR36oFnIM3ZX55xjazu7FMfm8gghJzNxhbZqUS79Mvt3416Z6ftR9n9PxfXemxB/uOFubDOPNeK5o/cLWwsqsom1gcdL4URxwpBASDjE4gSFc0jLw7rFeFcWuHg3NXz6Z7cgynEDed36+UMv4RmPoaRXIAE+MLHleCmTD3n8X6B9uFFD0tJOQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector2-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=EyDbAzlXHfdMW+R7GGkkfS0bN8VNzu9SObkwjuEwwAY=; b=HcLfRQHHRMFfE9oqpydRh3jthlkQR60thZJoD6cSgdN0M8TfieePmaD0y+oCqyCwWdaiKrNMVG8+V4QEUxOaJaN0mHEN8up7Dp2S8RcIVSNLSCJFrRQo9nRpkvKMcZmeytq4Xms7GZ0L/xDepmaplkzd+JB6q3ixllACpgVLEb0= Authentication-Results: denx.de; dkim=none (message not signed) header.d=none; denx.de; dmarc=none action=none header.from=oss.nxp.com; Received: from DB6PR0402MB2760.eurprd04.prod.outlook.com (2603:10a6:4:a1::14) by DBBPR04MB7595.eurprd04.prod.outlook.com (2603:10a6:10:20d::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.22; Mon, 12 Apr 2021 11:42:55 +0000 Received: from DB6PR0402MB2760.eurprd04.prod.outlook.com ([fe80::c57a:6964:f72c:21cf]) by DB6PR0402MB2760.eurprd04.prod.outlook.com ([fe80::c57a:6964:f72c:21cf%11]) with mapi id 15.20.3999.032; Mon, 12 Apr 2021 11:42:55 +0000 From: "Peng Fan (OSS)" To: sbabic@denx.de, festevam@gmail.com Cc: u-boot@lists.denx.de, uboot-imx@nxp.com, Peng Fan Subject: [PATCH 33/37] arm: imx8ulp: add dummy imx_get_mac_from_fuse Date: Mon, 12 Apr 2021 20:13:02 +0800 Message-Id: <20210412121306.11484-34-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20210412121306.11484-1-peng.fan@oss.nxp.com> References: <20210412121306.11484-1-peng.fan@oss.nxp.com> X-Originating-IP: [119.31.174.71] X-ClientProxiedBy: HK2PR0401CA0009.apcprd04.prod.outlook.com (2603:1096:202:2::19) To DB6PR0402MB2760.eurprd04.prod.outlook.com (2603:10a6:4:a1::14) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from linux-1xn6.ap.freescale.net (119.31.174.71) by HK2PR0401CA0009.apcprd04.prod.outlook.com (2603:1096:202:2::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.16 via Frontend Transport; Mon, 12 Apr 2021 11:42:53 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 2d9964b8-7282-481d-badd-08d8fda81c84 X-MS-TrafficTypeDiagnostic: DBBPR04MB7595: X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:1923; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 3PrcoHDVu26bMs0fxhUvYjr6Qmb2ABP0VvOyYxYZryzYb4HGDhzPDxO9Zz6E//WluwJLwnBpfmC9pROG/gojFv/BbJ1D82NfPXz6owCaqSufgn8kBIq8U4/PoAmjDh2JoXUTENGeaAjRTodzuirCbnqOkNSE/4LaNFLZjBBRaT+Osk2pw9N2PQ9EhMDRJYSa/Im5MHnn1fnkotmL2QrIo/KjRti0zkvyM10R6VO85bTYVWIoOi7asYLPG78KKzgTPZsKsyTr/mU+jVEIdZ6RvBf88ryq7VMnHNDVtkRo4j9xUVn2Pwi9yDDDLgXsskKApCmE348oRsJwCMUrgezbF3RGKPoaGEKehbF2CtGMWBR4dmxKWM05GSTlkmODpzd7g9TqebV9R1yvdTDmE1qgx0WW4ZxliWuhmmlx/NIIj8hS0k3C3iz9JlkbQz1oWreOLREd7q4G+JssureUu8X62n3VEJmZNI2rfYy6zSnKIXr+nB517H8vag4UyC3wJwgMoCEJmrfSymffWMqp7wggGQnocm7t96esgIVHVmmUn9NGTn/UYsZC2C4xqvZPdOY4FMFFG//kkuCE0CAOBWXidpSefqBJJshQ5LBeH7apTsWkeaOclKq5YfIteIXhne1X7hBTvaBGESh1ITqhk/+gOq9aaMzF4Fr1hHpqieVBj5w= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB6PR0402MB2760.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(396003)(366004)(136003)(376002)(346002)(39860400002)(38100700002)(4326008)(6506007)(38350700002)(316002)(26005)(2616005)(86362001)(186003)(956004)(52116002)(478600001)(4744005)(2906002)(8676002)(1076003)(6512007)(66476007)(5660300002)(66556008)(8936002)(6666004)(16526019)(66946007)(6486002)(32563001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: jfAeyKnQKOrUHKU2LZqrnO+xae/I77IY5BeIRgaN4KSS2s6e3x54fFyDJ8/4WOrc8F4c1NuUCkpw0x9retnOyli2tMS4o5rcl+TPB798b7ZsVGaTMTY6iwUzRuXiauQ5vd1pApx+KvOxsZf9xXUNOFf0RxxzRf4O0zNVJVseSkw21zm6USVJnmmkQpeLsd1Gxulhi7F6F2zPMJ5N1tSxELNI6Doht5mi9twqHYbweeM2IXBY1+8HLmVoOfhQ5ONcDJL5sBX2j3pWkF26blXRnM2oag8H4bFOFccqAGmMfJQ4Yb4fW/Lj63cU/RZZeD+qrvNzxP14/ioX7I7k3wB+jJV0y3X9CtBKyqgbj4VBAUkkjBqO66SZwf0VQ9is7e0+jumeHmdCR7ordGveXQCFapxkASKb0Jtq7HFc++JoyAdlDtzSQ+0TU12WDmtBSLNiUKNUMY5VC2nEUGHuppAtWuRok7//a0XgBlaADUuJziIQ9Uapm0nlKzLZrwApTTi4T+aPiYeGFNdLVPbNxIm1QmszejXeQJeCVFsQi3T8k9uhjSYTc9ufMwvwD0d9/FGvE3DEsKkHHIxDfdnlz3pCYDXAOrUCI9qqVF7lD4ar2X2XIrlnqrf+dOwlcwXdXuV64h6Mgw6A+4KtgFqeqaQ5Kcgbf6OuJyBlGBL0iEuUxDOOXwhdmuNTyEr9rKv2u5p5Fa16F4u9RsZgT8oYOkzRGHJRNhwS0fbjs0hsNh7BC4RAOKV8uigGPBixa9ShjC27xQIJ0MjhZq/SncGi/6QYmUhv6SqgrFEXscZpqpFC9bg15POobQwR71FSXDiLNKv38v5BtjldZI5HamXq1xRGt7rGPQf1iip0rE7cJjJKZHi0RC1J5brqgF016NuRfxk9rx0vNjU9L16xK8UHY0VSzDSK3YswXUThnXQvhfcQ9fvhzvr0XDpioox0S8BJvT4Apl2Xzm0irMo67Fu5CFsFOF9oeZsPyDsBxfb1Gql1EXhLUeBcV7S9L37aSOlDYvBiHj4qhExwM2DDeLoA4dFwecsF6kGuZAbRVlLelQnaBEq1WQlMJCtYLtDsL61K3fPIffjLc36NV1LaprUjSrgg6Nwuo3RICPeGgomc/Tqc6IcCFUi8acM0npdMltY5mbNe+PXbNAkDm+THQa8VtvTsUpwz9WNS/waPMrZXRM1did4xLsZGGm4gaDcyDi77r6TA4ZZ8PE1EthoO1EYxb9qmIg06DGGWLMioApqmWQc6RWvTXlvuz3PE8rKymMvTcl5FKJ+DhaqvCC02+nojc55Xiq8iYpIk87VIKXIKzG7L/PMlF2uym/QkKpE4ZZLsEAh2 X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2d9964b8-7282-481d-badd-08d8fda81c84 X-MS-Exchange-CrossTenant-AuthSource: DB6PR0402MB2760.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2021 11:42:55.1577 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: l3F/rg5BbEmiHDN6ObxMLfgI2KiN+/oNMA7FO/E5g3/3qBc6nhnKOn7fgSt+YWYlnVw8o4yqrXAKIH3NOoDMzA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7595 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.4 at phobos.denx.de X-Virus-Status: Clean From: Peng Fan Add imx_get_mac_from_fuse for enet build pass Signed-off-by: Peng Fan --- arch/arm/mach-imx/imx8ulp/soc.c | 5 +++++ 1 file changed, 5 insertions(+) -- 2.30.0 diff --git a/arch/arm/mach-imx/imx8ulp/soc.c b/arch/arm/mach-imx/imx8ulp/soc.c index 733654f7ba..e999cbca73 100644 --- a/arch/arm/mach-imx/imx8ulp/soc.c +++ b/arch/arm/mach-imx/imx8ulp/soc.c @@ -678,3 +678,8 @@ __weak void __noreturn jump_to_image_no_args(struct spl_image_info *spl_image) ; } #endif + +void imx_get_mac_from_fuse(int dev_id, unsigned char *mac) +{ + memset(mac, 0, 6); +} From patchwork Mon Apr 12 12:13:03 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Peng Fan \(OSS\)" X-Patchwork-Id: 419551 Delivered-To: patch@linaro.org Received: by 2002:a02:c4d2:0:0:0:0:0 with SMTP id h18csp1665938jaj; Mon, 12 Apr 2021 04:53:56 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzLsyJq1cCL3jvyVZIfTRwhY1Xe0SNRTYFxJZxH7biXx15nDUDMfmQztB9U4SCeWqXInqQl X-Received: by 2002:a17:907:33cb:: with SMTP id zk11mr10333541ejb.231.1618228436728; Mon, 12 Apr 2021 04:53:56 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1618228436; cv=pass; d=google.com; s=arc-20160816; b=zon9ixSfaKBrDq/p8qUkXWPRpBvSwuxwKUpBtKKjmMvUeMzS80WiT6HE3y6XalGPzY EVs5wSnEvdvIEaPe23i0/hsCxMiPHDYfZ67JSCXKGshQQDVTSAJNmGcbCEdcafEmrpjP ck/lk1TJf2E2d2hYg+tqfBoCyNkR8erCmOjxajbbEHqersy8QcjQ/dbDi7mJ3zdmAIAh km0v6lKE78mAyYphfKtrxzXAozL/nfmHvIB4h8nsbcYnVjZshkLreOKR5kLSY+1ojvU0 7sp4S0KuSRsm20dPcV+MnKzDrkPQwk0zGKjTNgbWPmsda2vFoxMZrp+oBd92/RFf98zD srBg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:mime-version :content-transfer-encoding:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature; bh=p0c5raBf4+C1axcyE2tPNg88mvJCh6BoMw+CDbPRSmg=; b=mq9iC8Qymby5jhtoZ6yY7GE53HL/k2rb01Vjts24JX2WO9Ku8N8GdhNBm9Nctse6ub iVTfdOmvZoDM2WAybO0R0uP3Wimf87W8jv4XJlcudnH8hMoWWkyzMafQCv5QRiUFHH1Q EJ/vhsmIEp8ZYoamRsCthjjbM/fTcLF5k7U5IsYKrdkSAzbapSoYvxydE6OVPGur0JVU dc2ISV8d11qzV9wOwsRTraNWAcVRCh+rWQL1pqfl0hjyDYjJ7qQ/J5eJc6wqK0Fhi/Ti H7m8UWTlb46wQ7c4r/yxQlEnaLwnURgfYjeBgocSiDDr1w1xJrEooGZ0JB7EfVEOfC5Z 1YNA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@NXP1.onmicrosoft.com header.s=selector2-NXP1-onmicrosoft-com header.b=Z9Y+xNcH; arc=pass (i=1 spf=pass spfdomain=oss.nxp.com dkim=pass dkdomain=oss.nxp.com dmarc=pass fromdomain=oss.nxp.com); spf=pass (google.com: domain of u-boot-bounces@lists.denx.de designates 2a01:238:438b:c500:173d:9f52:ddab:ee01 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Return-Path: Received: from phobos.denx.de (phobos.denx.de. [2a01:238:438b:c500:173d:9f52:ddab:ee01]) by mx.google.com with ESMTPS id u3si7803957eds.244.2021.04.12.04.53.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Apr 2021 04:53:56 -0700 (PDT) Received-SPF: pass (google.com: domain of u-boot-bounces@lists.denx.de designates 2a01:238:438b:c500:173d:9f52:ddab:ee01 as permitted sender) client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; Authentication-Results: mx.google.com; dkim=pass header.i=@NXP1.onmicrosoft.com header.s=selector2-NXP1-onmicrosoft-com header.b=Z9Y+xNcH; arc=pass (i=1 spf=pass spfdomain=oss.nxp.com dkim=pass dkdomain=oss.nxp.com dmarc=pass fromdomain=oss.nxp.com); spf=pass (google.com: domain of u-boot-bounces@lists.denx.de designates 2a01:238:438b:c500:173d:9f52:ddab:ee01 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 982B582033; Mon, 12 Apr 2021 13:53:36 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=oss.nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="Z9Y+xNcH"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 8D61B81FAB; Mon, 12 Apr 2021 13:52:27 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER,SPF_HELO_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on060f.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe0d::60f]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 889FD82083 for ; Mon, 12 Apr 2021 13:42:59 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=oss.nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=peng.fan@oss.nxp.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Dm1AdUZIuzMOJouFK5Cubjx+hUZ5wmsXY8j2YZA0q/zQXWT2zfz0x14pO2kaWbUWiq+xH9EBRftMrID23vzJtwPRA6wKUgsUfVIpRLMWNQ0tvD3KSDBNJy//aBGC3gjU6xUOKBkrKpSwVxxOoqtHYcbTdrW/vt3jbBkw17Ma8aeVJA25Q3bX/4W25HB9MBauKXXtJKR3bPktDiPi5IKCpOMRzVI/0qd9jAP+7K6nsYcUshzuoOROHQEfxPYRcMomMISsNv6mLfD5JYWBLemK2qGjORWJHAU+pHZ6KvU+DPNBuNh6QbOu+bops0bDpA3+hqk/R4VcaGG4GIRECLxZsg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=p0c5raBf4+C1axcyE2tPNg88mvJCh6BoMw+CDbPRSmg=; b=fNPkzps5qBJ1PQWTYyJ7Bsx1pH2zYTRso65U/xf7KTjyAeT/4nvJ2mfY3JLoMdbJFH+N33DB3zHtvnQOUZ+6JBkLOhp6/iTeBW5ueFBiI55O8ZiYVPji00TXjbolk8nwoOte+0+bNlVDqEIXZy7JI6V6sbUj75YW5RxaAk6KF2vnNwKa8VzTX1lhIzz2R69ipWe/gYvIFk+wi60nNAP/+3pSvoHWfRV4V5OYyWGMLij/XwZaGgPGDro7/LeDSDBxJalVlQH1oNfSJNHrmtH8R2PybvH/5an5rYVJMI2Mlf0KVmgJ3gU5KMew6XBoRIR+NVrOMymzPfoPdghhvPqvvw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector2-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=p0c5raBf4+C1axcyE2tPNg88mvJCh6BoMw+CDbPRSmg=; b=Z9Y+xNcHzbqv8icsgCyTA4qtQbsUIR8HuighvbafwFWuHIRXV0cVuT99FgCwbx03mBkZyGNiXU9VwMdjSRX+gissVYyJTrNjcCeC8SnW9OWKoI8/2vwxiHaKc+Dz2AfAqFgjfE2LvqYvMF8/wQQljWp8oYVO/kFirkFYNMObp8c= Authentication-Results: denx.de; dkim=none (message not signed) header.d=none; denx.de; dmarc=none action=none header.from=oss.nxp.com; Received: from DB6PR0402MB2760.eurprd04.prod.outlook.com (2603:10a6:4:a1::14) by DBBPR04MB7595.eurprd04.prod.outlook.com (2603:10a6:10:20d::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.22; Mon, 12 Apr 2021 11:42:57 +0000 Received: from DB6PR0402MB2760.eurprd04.prod.outlook.com ([fe80::c57a:6964:f72c:21cf]) by DB6PR0402MB2760.eurprd04.prod.outlook.com ([fe80::c57a:6964:f72c:21cf%11]) with mapi id 15.20.3999.032; Mon, 12 Apr 2021 11:42:57 +0000 From: "Peng Fan (OSS)" To: sbabic@denx.de, festevam@gmail.com Cc: u-boot@lists.denx.de, uboot-imx@nxp.com, Peng Fan Subject: [PATCH 34/37] arm: imx8ulp: add iomuxc support Date: Mon, 12 Apr 2021 20:13:03 +0800 Message-Id: <20210412121306.11484-35-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20210412121306.11484-1-peng.fan@oss.nxp.com> References: <20210412121306.11484-1-peng.fan@oss.nxp.com> X-Originating-IP: [119.31.174.71] X-ClientProxiedBy: HK2PR0401CA0009.apcprd04.prod.outlook.com (2603:1096:202:2::19) To DB6PR0402MB2760.eurprd04.prod.outlook.com (2603:10a6:4:a1::14) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from linux-1xn6.ap.freescale.net (119.31.174.71) by HK2PR0401CA0009.apcprd04.prod.outlook.com (2603:1096:202:2::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.16 via Frontend Transport; Mon, 12 Apr 2021 11:42:55 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 4e7c4531-6f1f-4e82-5845-08d8fda81e12 X-MS-TrafficTypeDiagnostic: DBBPR04MB7595: X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:1332; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 0d/ghOeV1Xuk82Q5+9x3mnkMfyBVsJA2jTe6sgtmGSy/ElMhosb68mQTxUE8IY1d46lQLqdOgCZ0CQ0KK0pXci9dGiyp5vT4A2gBwm+O2KF8vtHvZuijQziqFbKxbMmmNeudVJuhCiOzqT2+T4rW0YN94DQIfZDX2u9WSaYYPLDsTyZczpPMI8afZXthydk1f22L2XLxwNCrHhx4WxE+ykqNquq9rPELFY7tvyOAzL1m1LGYiMC+Q6NdKPNeMb3Or7GSWZXXuLhtf3iliOV+XI1jr/IdID7Qm1rJ22EThl4kyhHCETPRCIRFri6WR5Sx7uU2HK7zQBR2iqX9iMIR5DloJ4Xl0R1N6Fiqis4/DvMGUXio+Mz8omgU54MtXqmhX3X0LIi6rlSHgz3A94eCj1dAwCE6CitsnCw46lbVGzT4CXghcr12VrubjOlZmyNqz0/Mk/+B3uKseNNoWhhYSVb+i3U80vU2UoJuH27f3UFZypyKraqEIZsTW2sY4nmmyHL5LtwjptH3AjQkWtlu3Ms3sl9Bg9EhhUEaQwlxYE4qfeLMslpAI3J41+XyiwF5qzwmsRjaSQi9ynFa6DUPhOESF0/pHP/RY7QXWWyAHnuc11MQV3XYIIlLEN7sxgQK0BbuBQE0RHQ2Z+Gxg9IkFMomTKuZvHtXIpiG4PiiZqI= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB6PR0402MB2760.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(396003)(366004)(136003)(376002)(346002)(39860400002)(38100700002)(4326008)(6506007)(38350700002)(316002)(26005)(2616005)(86362001)(186003)(956004)(52116002)(478600001)(2906002)(8676002)(1076003)(6512007)(83380400001)(66476007)(5660300002)(66556008)(8936002)(6666004)(16526019)(66946007)(6486002)(32563001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: N/Gc2YHo5jmrjUTq2zoCeip7pj+DwA5x7AoW1pR60diB3tVMOFkL0eL/qMwciXNOYF9fBBG3XkN63xveMneSrrB4Xg1n5S4u7yLvOEJ69txT8qecKYyg4JtESHHP9pFFR8Q+/JhP2S4PgBuhhJUBtwLbrhkJMREB9LZYbuP28azXHoAhhd9fjb8iDFiGTFqHcqj2JEaEy9sacDWzXWNVWbo6pszlTFVPl++aIsdLiRbRsj1fPVxzJPD5d4i9xQCqRdbJP5OrZ2Ye0XpdwGEF6Bl5tGmf+1OTJ6NUiZuxHVb7FbP8yWEZJgT3rHOuBTraiVw4OG/Cn+5rZLSvwrY/4VDj78TJIIgda0J5NJXBdpPW+eiEc8YoFbhdHmHwjIEnWYS0WITxiwmaIVebI+F3oFs2oPS09Y3njGRP3pUViOL0O7I0gn8LavtXl2xE8+q72kpKnz//mJsRCDfLDpnMC7ygRvCkurEnPzq9eZNq97X3wAyIzKgatz8+WGmehfrttzXPcUgSaY078OBvCX9qbHQkSzdr2Acb2zf2IXT+6SES5wIhcqvLSa+zgByhSuiL9or+O8T/J9CpjzCV/0WKRaTDjAzygy4ezjlYEffo+Do4XWNTheEUbBI9BsXbUIuxzNfjpHoBEVWf1t9rgKvM+GGP+QHi8en1O6QzCQZsyR1RFPMMR54TvwOzHyUnd4YXgxuTxFgGgI1eE8XX0ZGo2SADnhHePsu+aC+iIfenWjArj7Gm/gWzgNWqgYwBRMHdNDxo2TCe+mIXTUC+YETn67pofBlWoFdnW3xUielvBFfTPyjl4htFeYD0fHpWpkRauh1rUXwTKW0oxerveTeXnrAvEWMI603lXvt4Bho6JPNeywwlsy4GY2W5Ns46ErmC7b1bkl8I2YJTTj0KSGH9XYq+ymxH7eiIqejGMCs25PJOr3U9UWWO/gApP10esfZj8e9GCidKRIrK+DMMNcGsmdHDGOwhA8T5T9dA6NVjkav8o43lPx2lQrJbfY1jE9aGTP6eMIvoB9ZuUcvlICWBhau7wuqG4cJG33Y74I2i3C1e3f32IvVFL19t1DwqCiB1cMWOoHaPoAOQK6RQsG0fNtmpZgMeBQNTT8R+I0fpuPx/8tCq8Hv79UwmVeiReaKhBrbCmj3O0N9ZxkFqJrrxC49Cnrr+PCrb3xkv+wlKw9AglUoPvY0g/dgWaEyir8+X/uke5C0mnmu/ZJj37zEnlEJzYtwG6QvnM4L843oriUVQoVOJjFBn+95MKejrCphtvYaFXAaZ1DngOnej/GpaVm3YqVEXQA6jN019M610NKjFBvL6U56wVhlUKOBe8P+u X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4e7c4531-6f1f-4e82-5845-08d8fda81e12 X-MS-Exchange-CrossTenant-AuthSource: DB6PR0402MB2760.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2021 11:42:57.5436 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: sXrJkugYLaYPwPBGxetvrzkkF/BQldYmUdzcllCpeotPJYxfjKGV6S5gFxVdLnqwDg0GALQemEoa9zpUzCJKag== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7595 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.4 at phobos.denx.de X-Virus-Status: Clean From: Peng Fan Add i.MX8ULP iomuxc support Signed-off-by: Peng Fan --- arch/arm/include/asm/arch-imx8ulp/iomux.h | 82 +++++++++++++++++++++++ arch/arm/mach-imx/imx8ulp/iomux.c | 63 ++++++++++++++++- 2 files changed, 144 insertions(+), 1 deletion(-) create mode 100644 arch/arm/include/asm/arch-imx8ulp/iomux.h -- 2.30.0 diff --git a/arch/arm/include/asm/arch-imx8ulp/iomux.h b/arch/arm/include/asm/arch-imx8ulp/iomux.h new file mode 100644 index 0000000000..3c8f2e067e --- /dev/null +++ b/arch/arm/include/asm/arch-imx8ulp/iomux.h @@ -0,0 +1,82 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * Copyright 2020 NXP + */ + +#ifndef __MACH_IMX8ULP_IOMUX_H__ +#define __MACH_IMX8ULP_IOMUX_H__ + +typedef u64 iomux_cfg_t; + +#define MUX_CTRL_OFS_SHIFT 0 +#define MUX_CTRL_OFS_MASK ((iomux_cfg_t)0xffff << MUX_CTRL_OFS_SHIFT) +#define MUX_SEL_INPUT_OFS_SHIFT 16 +#define MUX_SEL_INPUT_OFS_MASK ((iomux_cfg_t)0xffff << MUX_SEL_INPUT_OFS_SHIFT) + +#define MUX_MODE_SHIFT 32 +#define MUX_MODE_MASK ((iomux_cfg_t)0x3f << MUX_MODE_SHIFT) +#define MUX_SEL_INPUT_SHIFT 38 +#define MUX_SEL_INPUT_MASK ((iomux_cfg_t)0xf << MUX_SEL_INPUT_SHIFT) +#define MUX_PAD_CTRL_SHIFT 42 +#define MUX_PAD_CTRL_MASK ((iomux_cfg_t)0x7ffff << MUX_PAD_CTRL_SHIFT) + +#define MUX_PAD_CTRL(x) ((iomux_cfg_t)(x) << MUX_PAD_CTRL_SHIFT) + +#define IOMUX_PAD(pad_ctrl_ofs, mux_ctrl_ofs, mux_mode, sel_input_ofs, sel_input, pad_ctrl) \ + (((iomux_cfg_t)(mux_ctrl_ofs) << MUX_CTRL_OFS_SHIFT) | \ + ((iomux_cfg_t)(mux_mode) << MUX_MODE_SHIFT) | \ + ((iomux_cfg_t)(pad_ctrl) << MUX_PAD_CTRL_SHIFT) | \ + ((iomux_cfg_t)(sel_input_ofs) << MUX_SEL_INPUT_OFS_SHIFT) | \ + ((iomux_cfg_t)(sel_input) << MUX_SEL_INPUT_SHIFT)) + +#define NEW_PAD_CTRL(cfg, pad) (((cfg) & ~MUX_PAD_CTRL_MASK) | MUX_PAD_CTRL(pad)) + +#define IOMUX_CONFIG_MPORTS 0x20 +#define MUX_MODE_MPORTS ((iomux_v3_cfg_t)IOMUX_CONFIG_MPORTS << \ MUX_MODE_SHIFT) + +/* Bit definition below needs to be fixed acccording to ulp rm */ + +#define NO_PAD_CTRL BIT(18) +#define PAD_CTL_OBE_ENABLE BIT(17) +#define PAD_CTL_IBE_ENABLE BIT(16) +#define PAD_CTL_DSE BIT(6) +#define PAD_CTL_ODE BIT(5) +#define PAD_CTL_SRE_FAST (0 << 2) +#define PAD_CTL_SRE_SLOW BIT(2) +#define PAD_CTL_PUE BIT(1) +#define PAD_CTL_PUS_UP (BIT(0) | PAD_CTL_PUE) +#define PAD_CTL_PUS_DOWN ((0 << 0) | PAD_CTL_PUE) + +#define IOMUXC_PCR_MUX_ALT0 (0 << 8) +#define IOMUXC_PCR_MUX_ALT1 (1 << 8) +#define IOMUXC_PCR_MUX_ALT2 (2 << 8) +#define IOMUXC_PCR_MUX_ALT3 (3 << 8) +#define IOMUXC_PCR_MUX_ALT4 (4 << 8) +#define IOMUXC_PCR_MUX_ALT5 (5 << 8) +#define IOMUXC_PCR_MUX_ALT6 (6 << 8) +#define IOMUXC_PCR_MUX_ALT7 (7 << 8) +#define IOMUXC_PCR_MUX_ALT8 (8 << 8) +#define IOMUXC_PCR_MUX_ALT9 (9 << 8) +#define IOMUXC_PCR_MUX_ALT10 (10 << 8) +#define IOMUXC_PCR_MUX_ALT11 (11 << 8) +#define IOMUXC_PCR_MUX_ALT12 (12 << 8) +#define IOMUXC_PCR_MUX_ALT13 (13 << 8) +#define IOMUXC_PCR_MUX_ALT14 (14 << 8) +#define IOMUXC_PCR_MUX_ALT15 (15 << 8) + +#define IOMUXC_PSMI_IMUX_ALT0 (0x0) +#define IOMUXC_PSMI_IMUX_ALT1 (0x1) +#define IOMUXC_PSMI_IMUX_ALT2 (0x2) +#define IOMUXC_PSMI_IMUX_ALT3 (0x3) +#define IOMUXC_PSMI_IMUX_ALT4 (0x4) +#define IOMUXC_PSMI_IMUX_ALT5 (0x5) +#define IOMUXC_PSMI_IMUX_ALT6 (0x6) +#define IOMUXC_PSMI_IMUX_ALT7 (0x7) + +#define IOMUXC_PCR_MUX_ALT_SHIFT (8) +#define IOMUXC_PCR_MUX_ALT_MASK (0xF00) +#define IOMUXC_PSMI_IMUX_ALT_SHIFT (0) + +void imx8ulp_iomux_setup_pad(iomux_cfg_t pad); +void imx8ulp_iomux_setup_multiple_pads(iomux_cfg_t const *pad_list, unsigned count); +#endif diff --git a/arch/arm/mach-imx/imx8ulp/iomux.c b/arch/arm/mach-imx/imx8ulp/iomux.c index c52ccdeaea..71a8c59d64 100644 --- a/arch/arm/mach-imx/imx8ulp/iomux.c +++ b/arch/arm/mach-imx/imx8ulp/iomux.c @@ -1,4 +1,65 @@ // SPDX-License-Identifier: GPL-2.0+ /* - * Copyright 2020 NXP + * Copyright 2020-2021 NXP */ + +#include +#include +#include +#include + +static void *base = (void *)IOMUXC_BASE_ADDR; + +/* + * iomuxc0 base address. In imx7ulp-pins.h, + * the offsets of pins in iomuxc0 are from 0xD000, + * so we set the base address to (0x4103D000 - 0xD000 = 0x41030000) + */ +static void *base_mports = (void *)(0x280A1000); + +/* + * configures a single pad in the iomuxer + */ +void imx8ulp_iomux_setup_pad(iomux_cfg_t pad) +{ + u32 mux_ctrl_ofs = (pad & MUX_CTRL_OFS_MASK) >> MUX_CTRL_OFS_SHIFT; + u32 mux_mode = (pad & MUX_MODE_MASK) >> MUX_MODE_SHIFT; + u32 sel_input_ofs = + (pad & MUX_SEL_INPUT_OFS_MASK) >> MUX_SEL_INPUT_OFS_SHIFT; + u32 sel_input = + (pad & MUX_SEL_INPUT_MASK) >> MUX_SEL_INPUT_SHIFT; + u32 pad_ctrl_ofs = mux_ctrl_ofs; + u32 pad_ctrl = (pad & MUX_PAD_CTRL_MASK) >> MUX_PAD_CTRL_SHIFT; + + + if (mux_mode & IOMUX_CONFIG_MPORTS) { + mux_mode &= ~IOMUX_CONFIG_MPORTS; + base = base_mports; + } else { + base = (void *)IOMUXC_BASE_ADDR; + } + + __raw_writel(((mux_mode << IOMUXC_PCR_MUX_ALT_SHIFT) & + IOMUXC_PCR_MUX_ALT_MASK), base + mux_ctrl_ofs); + + if (sel_input_ofs) + __raw_writel((sel_input << IOMUXC_PSMI_IMUX_ALT_SHIFT), base + sel_input_ofs); + + if (!(pad_ctrl & NO_PAD_CTRL)) + __raw_writel(((mux_mode << IOMUXC_PCR_MUX_ALT_SHIFT) & + IOMUXC_PCR_MUX_ALT_MASK) | + (pad_ctrl & (~IOMUXC_PCR_MUX_ALT_MASK)), + base + pad_ctrl_ofs); +} + +/* configures a list of pads within declared with IOMUX_PADS macro */ +void imx8ulp_iomux_setup_multiple_pads(iomux_cfg_t const *pad_list, u32 count) +{ + iomux_cfg_t const *p = pad_list; + int i; + + for (i = 0; i < count; i++) { + imx8ulp_iomux_setup_pad(*p); + p++; + } +} From patchwork Mon Apr 12 12:13:05 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Peng Fan \(OSS\)" X-Patchwork-Id: 419554 Delivered-To: patch@linaro.org Received: by 2002:a02:c4d2:0:0:0:0:0 with SMTP id h18csp1667552jaj; Mon, 12 Apr 2021 04:56:46 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyYwD7Z40c7re/fGVfQx3+uehCK2vEw+1dLl23opJZ/b9XSpHxNZubI4DvmkDuWF9TC+nAD X-Received: by 2002:a05:6402:882:: with SMTP id e2mr28980020edy.358.1618228605851; Mon, 12 Apr 2021 04:56:45 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1618228605; cv=pass; d=google.com; s=arc-20160816; b=M+NqLtNXuktKPiqciPX8l4GxqDHplXb1FmR6WXmnt4FOz07Lu9/7h2Q+zwJj3BCfyB 4p+lsJV3x7y80QBuMHrdNDOHAVlRxqAO86KhQvdjXlNCsmSdTkM7lwSiE3NBPiDFPVT1 kReEZ58ZA5XIU4GfSYx15k8f+PjWeVC6kWL9WBVpBPk838XceiKMRU/SEiE0nM7Nwfi8 rPFmBDb63RxWIoRDAHPL9OhTcjO8jNAu3/ITiC2UZtE1AJLvONi83crbscz5/d5hexAU LgRe++GPBqb0tLg7Ua7NX0qaZ8cP/CQl1VO9Kf3BO7G7xwsv7vvbT8MKTJuTaQTwAEk7 zrUg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:mime-version :content-transfer-encoding:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature; bh=o/oaDtX4T/JSravTBQtODnbQhqqkd+q3PwxrKI/dd2g=; b=Mxz7rDCMSiP731CwjPZ6pSIhxBw0XWoTGHVhfDByWtfpdnFoJ4NiDpFPvQ0i5Xl90U v99Crw84Q+f1o20POIgZsCcsdlmT1jF7mQu5wdDtErWCUmXKIEmMMjCNhk82a/3QatHL gM9hkUS1TScM4PEP3PaTlb9uXcvFFvIhJOWiKLe7aGKh4nzBt1cGLc9QwNzlCFVn0Lbs WfBLQrJr/r/Pb5HFpSgeQggKeC6uIVMiibnrq1B1/ZcBd3FqezMq4pKfqWbzv3GlWVz0 U+LJJYlhZXSqtraR9SKKwXX9Lun5PcHJJ+e8jV4WcaShyUi9mCpMDg+pyhSvQEF1XidU rFnw== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@NXP1.onmicrosoft.com header.s=selector2-NXP1-onmicrosoft-com header.b=DWvbSOem; arc=pass (i=1 spf=pass spfdomain=oss.nxp.com dkim=pass dkdomain=oss.nxp.com dmarc=pass fromdomain=oss.nxp.com); spf=pass (google.com: domain of u-boot-bounces@lists.denx.de designates 85.214.62.61 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Return-Path: Received: from phobos.denx.de (phobos.denx.de. [85.214.62.61]) by mx.google.com with ESMTPS id ji5si7542432ejc.360.2021.04.12.04.56.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Apr 2021 04:56:45 -0700 (PDT) Received-SPF: pass (google.com: domain of u-boot-bounces@lists.denx.de designates 85.214.62.61 as permitted sender) client-ip=85.214.62.61; Authentication-Results: mx.google.com; dkim=pass header.i=@NXP1.onmicrosoft.com header.s=selector2-NXP1-onmicrosoft-com header.b=DWvbSOem; arc=pass (i=1 spf=pass spfdomain=oss.nxp.com dkim=pass dkdomain=oss.nxp.com dmarc=pass fromdomain=oss.nxp.com); spf=pass (google.com: domain of u-boot-bounces@lists.denx.de designates 85.214.62.61 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 961A681E7F; Mon, 12 Apr 2021 13:56:42 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=oss.nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="DWvbSOem"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 84BC0820D8; Mon, 12 Apr 2021 13:46:40 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER,SPF_HELO_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on0613.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe0d::613]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id F392182079 for ; Mon, 12 Apr 2021 13:43:06 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=oss.nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=peng.fan@oss.nxp.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=oWBiX0YkGo7YaZJlwA/Uy6k3PiP0ksy/kMz03UK6gOqYJJgCDvv1bXLU5yqBdft5idBJFaRKBo9D0sWVa6rXPszhT954TV9kersCvPm5pfShKXyzOPbZFWwjcD1H4y+do8i7bgrD7F5hdL6SLCtxRqL1Me6LZvIgilwFmbIZLl9p5EaEVZEyIGz5zx/59LX70C5No707cFB4QGHa1/ZtJ7Uq9dkQi+s5JVMd3LdRe3zyXJv7/dC3Za2sfcyhFWoT7dZREayawuwksN5zKDoG2XG8xnaFwwBt4/kPvy4+HDCQkjAgvwfsIuxwktIzrrjURr5Duwz2yfjFncuRRjyUzg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=o/oaDtX4T/JSravTBQtODnbQhqqkd+q3PwxrKI/dd2g=; b=XX5cs95aFV4sHMl0DoezbucxkxVflU8Et5MeMYDkRrFL0VeRpmMntEaEeLaFCnt+mWpIQpBzu1D6DTh7Q0n8qtlsvgkPaquAdh/7AfP0OgWMk3Zh0X25m/R3bjSISjw7G9bb4Yqo5ZxAsxlMYTogHVlDW/TSdwekjLLIOtBhcZG7/VQ2Pq0ASkVxb92O8bFKM4DfFMgojsTy1VqWHcJ14vfghBfkNyYZxqLht2XGA/RFdvyA55YjLhz5oAPP7nSHmxW4OU9DK6dqAF1ma5Jz067gDz7Srt7UA1FWXPOEONKnaMUY99aDXS6wUhgZgkN/HJyF0FJcL6RerdhztltSAw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector2-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=o/oaDtX4T/JSravTBQtODnbQhqqkd+q3PwxrKI/dd2g=; b=DWvbSOem5ekOdTrCUW7rEJILOpaihWTD2Sk54sZHUaOse4o3I8ydzGnfQXrPYxEBe/meHWmVNqYOQmiMoEwgdrmxshuSAti3bLxzXdkkSNRh/UjnZ7+AGUjw/Us8jpTi1DSkRstgh+jcfC1gmFyDei5LbM+ZXrYDUZXsTixZ79w= Authentication-Results: denx.de; dkim=none (message not signed) header.d=none; denx.de; dmarc=none action=none header.from=oss.nxp.com; Received: from DB6PR0402MB2760.eurprd04.prod.outlook.com (2603:10a6:4:a1::14) by DBBPR04MB7595.eurprd04.prod.outlook.com (2603:10a6:10:20d::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.22; Mon, 12 Apr 2021 11:43:02 +0000 Received: from DB6PR0402MB2760.eurprd04.prod.outlook.com ([fe80::c57a:6964:f72c:21cf]) by DB6PR0402MB2760.eurprd04.prod.outlook.com ([fe80::c57a:6964:f72c:21cf%11]) with mapi id 15.20.3999.032; Mon, 12 Apr 2021 11:43:02 +0000 From: "Peng Fan (OSS)" To: sbabic@denx.de, festevam@gmail.com Cc: u-boot@lists.denx.de, uboot-imx@nxp.com, Peng Fan Subject: [PATCH 36/37] arm: dts: add i.MX8ULP dtsi Date: Mon, 12 Apr 2021 20:13:05 +0800 Message-Id: <20210412121306.11484-37-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20210412121306.11484-1-peng.fan@oss.nxp.com> References: <20210412121306.11484-1-peng.fan@oss.nxp.com> X-Originating-IP: [119.31.174.71] X-ClientProxiedBy: HK2PR0401CA0009.apcprd04.prod.outlook.com (2603:1096:202:2::19) To DB6PR0402MB2760.eurprd04.prod.outlook.com (2603:10a6:4:a1::14) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from linux-1xn6.ap.freescale.net (119.31.174.71) by HK2PR0401CA0009.apcprd04.prod.outlook.com (2603:1096:202:2::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.16 via Frontend Transport; Mon, 12 Apr 2021 11:43:00 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 86ec8270-29d2-45f4-f0a7-08d8fda820f1 X-MS-TrafficTypeDiagnostic: DBBPR04MB7595: X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:196; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Go16Yx2bzf+Wl8vXtKow1RoYnL1MjoM7eZ12IELs/SCHi8RXZcKsX9wxFB8F6F6JAwhRvhTfYnTrimyd/nCbi7GV4kN+zMXk/Q1OiOIw0G9AKpDrUhXZCljQ3pCHON4fAJbii9QwIuQ/MUx90W2vcVQ85tGmtxgPBGyiYcxTS4pHDmycTJxgCTdkCNnc0Hlf3Tk6qOsILWhU1jmbCN6r+F0ar3od1gp/sPwmQ5vcKaLJi3U5njWigCDfNshozwvW4xAQ/PmXjklD3MrWww5xJu8gNpToOSU6xdZ6d4U0Ha0Tn9Ssz88C0RwMdcmY3a1w7A44guTFSZaTcQ1DcpVbHEILQlP3eefGt5dzEfyEPQNqVFqI8brftL9exeWinOW0y/NLcJlYnCFbc30KGSbervMnSmqwdOUrnf6k3dry46BFmeah1doHmJkuZSsDs3UGnepiOTEoiEsZl4SnU2RJ1FRmnj3eufGYu4dsM75yiA8wgXv2nQq/p2CivU/jkSaxQ7YumErfBo1rRFfy7zM+6XCu2nDGarqHRR/Jyjx4XyoKG/cdLxtB3qLJePMHpADoWU9HcQdbe8h/IRf5dsvLF0z4D1W3ri8lUZyrqt8qrlHauUCLBXHCjDJuP6fN/vPrdV024gAgjZYDtlOwOzc6iQ== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB6PR0402MB2760.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(396003)(366004)(136003)(376002)(346002)(39860400002)(38100700002)(4326008)(6506007)(38350700002)(316002)(26005)(2616005)(86362001)(186003)(956004)(52116002)(478600001)(30864003)(2906002)(8676002)(1076003)(6512007)(83380400001)(66476007)(5660300002)(66556008)(8936002)(16526019)(66946007)(6486002)(579004)(559001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: 5BArxlXxVlM5tBdmknZuR5zaKy3V/iRkZwwU+2iNWB2YWJTrLadewbvF9APoKSSLAk98YFYdQudQRwe/odDXMt0S8cLG4ywqys9bvy3SoSIlDpqoX3fjGKjIbCPJSS4O/TnlkXbNw3VLWw+sv57PF+4apxRGqrhMcOWpwL45pOxLmlNexrEi1FCt4QPY39MgbYPnqaGax95kuH4lm+PvZ7JHp+9VSvuWpjUq/RrmumMsyoc1NXivgaJpB6PI/2bzIXpeGGNqHhGZPhNTVVtRPIy5LcJNpGPFtLDrO+mo7TOIeflwJzHcPmwm5vpq1xFtKH9weo3B0uWOJz7K4QonhawNmLF1urfXPOX4TOe3MxVO/zHXx8IU6IiGitDC4t+HfDus3XqVRHwdQGNBxfIlrVflK+0nYqCYiytBR012pbNL10FWy2/xGKZas3ljGHLKen++yy1NGWBpR5rEtkHPaYn2W/UoGuKpJ4k9jedT1PzoUwXW2A8nHnpAMOreNjE0zr01QGcabLKRtF3fKTbbxE2LzASxIwAajkghYiQ3eDwcno6Gru8rPHZSh8LwtN+ZtltyfrOif9FinQDvl0dymqYlnAWWoE6IwvsaTSqow08VrsEnYmBhVU9iMyVWDpP97As2CGiOqwIrfSIRDha64k0uPQZhbQykBlLoAJ8gUJ6F9poN8cEDk7bxpqMnY3irosA5uqv8c0mk7C7+geEMMxg6LwVD+Lk1HlhgdEHFvpmbsNJ5VR29ElEua1c2dxpVu4N5OusHxRaBtjPt1MKxYdJtgiA/JiRBSjMfnbgtGFovfhFiWyVbP6sQMNASGvoPamb/l8gRGBzjc5iwz7FmcqHb0g9OPHp7Gsg1Zw0BdDNEZ1Kq1rXj2yaVReO9hhjOtw+PCO6dpgEyJJYGIIgcTsgb+LkFpNzcvk20Mxa98AnVuVH4czk0KYfzdIST/YGEOedohg7K4+NueLlxxvjhH1/newsTwHteBvv+snJxWbg2iU4Cku66QwGI2WJjGfTpZN4TgYOi1jakAOVfWhk80sDB9nrtI8mFpBVQDOEJtAysWibxCKnnQ7FyH/3Hhzf2TQCMtI5F2z2z3RgEbWrxSQRturon1sYWIsRbkDRatDS6e3DhSEeOvwlFEfGqo0G8eq0aMWife0p37RnE8KOsBE3idQS6nTd/dSwPL6O+T2n7iUotYb7bxX3TPNOm3H7MldoC0iXW4cqccot1ecJPSC+9U9nO7E4ZecZHSqLQId/lwKdGMds/kAr2cskPGJGgtFtLHl8nYizKbdRp86Z1MGlAq2VCrkczfwZtwn7bVuZ41eLRi/npDWypjTYJR4xe X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 86ec8270-29d2-45f4-f0a7-08d8fda820f1 X-MS-Exchange-CrossTenant-AuthSource: DB6PR0402MB2760.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2021 11:43:02.6063 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: ZPlIETK5NS/tGFs9AmnXWXKH1bCQ4SvzabvduwjOqWhhwSQdBQL52OtUuECGICMU711iDx1xgQn4veSEU9Tnvg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7595 X-Mailman-Approved-At: Mon, 12 Apr 2021 13:56:40 +0200 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.4 at phobos.denx.de X-Virus-Status: Clean From: Peng Fan Add i.MX8ULP dtsi Signed-off-by: Peng Fan --- arch/arm/dts/imx8ulp-pinfunc.h | 978 ++++++++++++++++++++++ arch/arm/dts/imx8ulp.dtsi | 706 ++++++++++++++++ include/dt-bindings/clock/imx8ulp-clock.h | 247 ++++++ 3 files changed, 1931 insertions(+) create mode 100644 arch/arm/dts/imx8ulp-pinfunc.h create mode 100644 arch/arm/dts/imx8ulp.dtsi create mode 100644 include/dt-bindings/clock/imx8ulp-clock.h -- 2.30.0 diff --git a/arch/arm/dts/imx8ulp-pinfunc.h b/arch/arm/dts/imx8ulp-pinfunc.h new file mode 100644 index 0000000000..c21c3b644e --- /dev/null +++ b/arch/arm/dts/imx8ulp-pinfunc.h @@ -0,0 +1,978 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * Copyright 2020 NXP + */ + +#ifndef __DTS_IMX8ULP_PINFUNC_H +#define __DTS_IMX8ULP_PINFUNC_H + +/* + * The pin function ID is a tuple of + * + */ +#define MX8ULP_PAD_PTD0__PTD0 0x0000 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTD0__I2S6_RX_BCLK 0x0000 0x0B44 0x7 0x1 +#define MX8ULP_PAD_PTD0__SDHC0_RESET_B 0x0000 0x0000 0x8 0x0 +#define MX8ULP_PAD_PTD0__FLEXSPI2_B_DQS 0x0000 0x0974 0x9 0x1 +#define MX8ULP_PAD_PTD0__CLKOUT2 0x0000 0x0000 0xa 0x0 +#define MX8ULP_PAD_PTD0__EPDC0_SDCLK_B 0x0000 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTD0__LP_APD_DBG_MUX_0 0x0000 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTD0__CLKOUT1 0x0000 0x0000 0xd 0x0 +#define MX8ULP_PAD_PTD0__DEBUG_MUX0_0 0x0000 0x0000 0xe 0x0 +#define MX8ULP_PAD_PTD0__DEBUG_MUX1_0 0x0000 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTD1__PTD1 0x0004 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTD1__I2S6_RX_FS 0x0004 0x0B48 0x7 0x1 +#define MX8ULP_PAD_PTD1__SDHC0_CMD 0x0004 0x0000 0x8 0x0 +#define MX8ULP_PAD_PTD1__FLEXSPI2_B_DATA7 0x0004 0x0970 0x9 0x1 +#define MX8ULP_PAD_PTD1__EPDC0_SDCLK 0x0004 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTD1__DPI0_PCLK 0x0004 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTD1__LP_APD_DBG_MUX_1 0x0004 0x0000 0xd 0x0 +#define MX8ULP_PAD_PTD1__DEBUG_MUX0_1 0x0004 0x0000 0xe 0x0 +#define MX8ULP_PAD_PTD1__DEBUG_MUX1_1 0x0004 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTD2__PTD2 0x0008 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTD2__I2S6_RXD0 0x0008 0x0B34 0x7 0x1 +#define MX8ULP_PAD_PTD2__SDHC0_CLK 0x0008 0x0000 0x8 0x0 +#define MX8ULP_PAD_PTD2__FLEXSPI2_B_DATA6 0x0008 0x096C 0x9 0x1 +#define MX8ULP_PAD_PTD2__EPDC0_SDLE 0x0008 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTD2__DPI0_HSYNC 0x0008 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTD2__LP_APD_DBG_MUX_2 0x0008 0x0000 0xd 0x0 +#define MX8ULP_PAD_PTD2__DEBUG_MUX0_2 0x0008 0x0000 0xe 0x0 +#define MX8ULP_PAD_PTD2__DEBUG_MUX1_2 0x0008 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTD3__PTD3 0x000C 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTD3__I2S6_RXD1 0x000C 0x0B38 0x7 0x1 +#define MX8ULP_PAD_PTD3__SDHC0_D7 0x000C 0x0000 0x8 0x0 +#define MX8ULP_PAD_PTD3__FLEXSPI2_B_DATA5 0x000C 0x0968 0x9 0x1 +#define MX8ULP_PAD_PTD3__EPDC0_GDSP 0x000C 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTD3__DPI0_VSYNC 0x000C 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTD3__LP_APD_DBG_MUX_3 0x000C 0x0000 0xd 0x0 +#define MX8ULP_PAD_PTD3__DEBUG_MUX0_3 0x000C 0x0000 0xe 0x0 +#define MX8ULP_PAD_PTD3__DEBUG_MUX1_3 0x000C 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTD4__PTD4 0x0010 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTD4__EXT_AUD_MCLK3 0x0010 0x0B14 0x4 0x1 +#define MX8ULP_PAD_PTD4__SDHC0_VS 0x0010 0x0000 0x5 0x0 +#define MX8ULP_PAD_PTD4__TPM8_CH5 0x0010 0x0B2C 0x6 0x1 +#define MX8ULP_PAD_PTD4__I2S6_MCLK 0x0010 0x0000 0x7 0x0 +#define MX8ULP_PAD_PTD4__SDHC0_D6 0x0010 0x0000 0x8 0x0 +#define MX8ULP_PAD_PTD4__FLEXSPI2_B_DATA4 0x0010 0x0964 0x9 0x1 +#define MX8ULP_PAD_PTD4__EPDC0_SDCE0 0x0010 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTD4__DPI0_DE 0x0010 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTD4__LP_APD_DBG_MUX_4 0x0010 0x0000 0xd 0x0 +#define MX8ULP_PAD_PTD4__DEBUG_MUX0_4 0x0010 0x0000 0xe 0x0 +#define MX8ULP_PAD_PTD4__DEBUG_MUX1_4 0x0010 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTD5__PTD5 0x0014 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTD5__SDHC0_CD 0x0014 0x0000 0x5 0x0 +#define MX8ULP_PAD_PTD5__TPM8_CH4 0x0014 0x0B28 0x6 0x1 +#define MX8ULP_PAD_PTD5__I2S6_TX_BCLK 0x0014 0x0B4C 0x7 0x1 +#define MX8ULP_PAD_PTD5__SDHC0_D5 0x0014 0x0000 0x8 0x0 +#define MX8ULP_PAD_PTD5__FLEXSPI2_B_SS0_B 0x0014 0x0000 0x9 0x0 +#define MX8ULP_PAD_PTD5__FLEXSPI2_B_SCLK_B 0x0014 0x0000 0xa 0x0 +#define MX8ULP_PAD_PTD5__EPDC0_D0 0x0014 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTD5__DPI0_D0 0x0014 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTD5__LP_APD_DBG_MUX_5 0x0014 0x0000 0xd 0x0 +#define MX8ULP_PAD_PTD5__DEBUG_MUX0_5 0x0014 0x0000 0xe 0x0 +#define MX8ULP_PAD_PTD5__DEBUG_MUX1_5 0x0014 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTD6__PTD6 0x0018 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTD6__SDHC0_WP 0x0018 0x0000 0x5 0x0 +#define MX8ULP_PAD_PTD6__TPM8_CH3 0x0018 0x0B24 0x6 0x1 +#define MX8ULP_PAD_PTD6__I2S6_TX_FS 0x0018 0x0B50 0x7 0x1 +#define MX8ULP_PAD_PTD6__SDHC0_D4 0x0018 0x0000 0x8 0x0 +#define MX8ULP_PAD_PTD6__FLEXSPI2_B_SCLK 0x0018 0x0978 0x9 0x1 +#define MX8ULP_PAD_PTD6__EPDC0_D1 0x0018 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTD6__DPI0_D1 0x0018 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTD6__LP_APD_DBG_MUX_6 0x0018 0x0000 0xd 0x0 +#define MX8ULP_PAD_PTD6__DEBUG_MUX0_6 0x0018 0x0000 0xe 0x0 +#define MX8ULP_PAD_PTD6__DEBUG_MUX1_6 0x0018 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTD7__PTD7 0x001C 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTD7__TPM8_CH2 0x001C 0x0B20 0x6 0x1 +#define MX8ULP_PAD_PTD7__I2S6_TXD0 0x001C 0x0000 0x7 0x0 +#define MX8ULP_PAD_PTD7__SDHC0_D3 0x001C 0x0000 0x8 0x0 +#define MX8ULP_PAD_PTD7__FLEXSPI2_B_DATA3 0x001C 0x0960 0x9 0x1 +#define MX8ULP_PAD_PTD7__EPDC0_D2 0x001C 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTD7__DPI0_D2 0x001C 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTD7__LP_APD_DBG_MUX_7 0x001C 0x0000 0xd 0x0 +#define MX8ULP_PAD_PTD7__DEBUG_MUX0_7 0x001C 0x0000 0xe 0x0 +#define MX8ULP_PAD_PTD7__DEBUG_MUX1_7 0x001C 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTD8__PTD8 0x0020 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTD8__TPM8_CH1 0x0020 0x0B1C 0x6 0x1 +#define MX8ULP_PAD_PTD8__I2S6_TXD1 0x0020 0x0000 0x7 0x0 +#define MX8ULP_PAD_PTD8__SDHC0_D2 0x0020 0x0000 0x8 0x0 +#define MX8ULP_PAD_PTD8__FLEXSPI2_B_DATA2 0x0020 0x095C 0x9 0x1 +#define MX8ULP_PAD_PTD8__EPDC0_D3 0x0020 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTD8__DPI0_D3 0x0020 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTD8__LP_APD_DBG_MUX_8 0x0020 0x0000 0xe 0x0 +#define MX8ULP_PAD_PTD8__DEBUG_MUX1_8 0x0020 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTD9__PTD9 0x0024 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTD9__TPM8_CLKIN 0x0024 0x0B30 0x6 0x1 +#define MX8ULP_PAD_PTD9__I2S6_TXD2 0x0024 0x0000 0x7 0x0 +#define MX8ULP_PAD_PTD9__SDHC0_D1 0x0024 0x0000 0x8 0x0 +#define MX8ULP_PAD_PTD9__FLEXSPI2_B_DATA1 0x0024 0x0958 0x9 0x1 +#define MX8ULP_PAD_PTD9__EPDC0_D4 0x0024 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTD9__DPI0_D4 0x0024 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTD9__LP_APD_DBG_MUX_9 0x0024 0x0000 0xe 0x0 +#define MX8ULP_PAD_PTD9__DEBUG_MUX1_9 0x0024 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTD10__PTD10 0x0028 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTD10__TPM8_CH0 0x0028 0x0B18 0x6 0x1 +#define MX8ULP_PAD_PTD10__I2S6_TXD3 0x0028 0x0000 0x7 0x0 +#define MX8ULP_PAD_PTD10__SDHC0_D0 0x0028 0x0000 0x8 0x0 +#define MX8ULP_PAD_PTD10__FLEXSPI2_B_DATA0 0x0028 0x0954 0x9 0x1 +#define MX8ULP_PAD_PTD10__EPDC0_D5 0x0028 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTD10__DPI0_D5 0x0028 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTD10__LP_APD_DBG_MUX_10 0x0028 0x0000 0xe 0x0 +#define MX8ULP_PAD_PTD10__DEBUG_MUX1_10 0x0028 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTD11__PTD11 0x002C 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTD11__TPM8_CH5 0x002C 0x0B2C 0x6 0x2 +#define MX8ULP_PAD_PTD11__I2S6_RXD2 0x002C 0x0B3C 0x7 0x1 +#define MX8ULP_PAD_PTD11__SDHC0_DQS 0x002C 0x0000 0x8 0x0 +#define MX8ULP_PAD_PTD11__FLEXSPI2_B_SS0_B 0x002C 0x0000 0x9 0x0 +#define MX8ULP_PAD_PTD11__FLEXSPI2_A_SS1_B 0x002C 0x0000 0xa 0x0 +#define MX8ULP_PAD_PTD11__EPDC0_D6 0x002C 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTD11__DPI0_D6 0x002C 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTD11__LP_APD_DBG_MUX_11 0x002C 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTD12__PTD12 0x0030 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTD12__USB0_ID 0x0030 0x0AC8 0x5 0x1 +#define MX8ULP_PAD_PTD12__SDHC2_D3 0x0030 0x0AA4 0x6 0x1 +#define MX8ULP_PAD_PTD12__I2S7_RX_BCLK 0x0030 0x0B64 0x7 0x1 +#define MX8ULP_PAD_PTD12__SDHC1_DQS 0x0030 0x0A84 0x8 0x1 +#define MX8ULP_PAD_PTD12__FLEXSPI2_A_SS0_B 0x0030 0x0000 0x9 0x0 +#define MX8ULP_PAD_PTD12__FLEXSPI2_B_SS1_B 0x0030 0x0000 0xa 0x0 +#define MX8ULP_PAD_PTD12__EPDC0_D7 0x0030 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTD12__DPI0_D7 0x0030 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTD12__LP_APD_DBG_MUX_12 0x0030 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTD13__PTD13 0x0034 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTD13__SPDIF_IN3 0x0034 0x0B80 0x4 0x1 +#define MX8ULP_PAD_PTD13__USB0_PWR 0x0034 0x0000 0x5 0x0 +#define MX8ULP_PAD_PTD13__SDHC2_D2 0x0034 0x0AA0 0x6 0x1 +#define MX8ULP_PAD_PTD13__I2S7_RX_FS 0x0034 0x0B68 0x7 0x1 +#define MX8ULP_PAD_PTD13__SDHC1_RESET_B 0x0034 0x0000 0x8 0x0 +#define MX8ULP_PAD_PTD13__FLEXSPI2_A_SCLK 0x0034 0x0000 0x9 0x0 +#define MX8ULP_PAD_PTD13__CLKOUT2 0x0034 0x0000 0xa 0x0 +#define MX8ULP_PAD_PTD13__EPDC0_D8 0x0034 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTD13__DPI0_D8 0x0034 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTD13__CLKOUT1 0x0034 0x0000 0xd 0x0 +#define MX8ULP_PAD_PTD13__LP_APD_DBG_MUX_13 0x0034 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTD14__PTD14 0x0038 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTD14__SPDIF_OUT3 0x0038 0x0000 0x4 0x0 +#define MX8ULP_PAD_PTD14__USB0_OC 0x0038 0x0AC0 0x5 0x1 +#define MX8ULP_PAD_PTD14__SDHC2_D1 0x0038 0x0A9C 0x6 0x1 +#define MX8ULP_PAD_PTD14__I2S7_RXD0 0x0038 0x0B54 0x7 0x1 +#define MX8ULP_PAD_PTD14__SDHC1_D7 0x0038 0x0A80 0x8 0x1 +#define MX8ULP_PAD_PTD14__FLEXSPI2_A_DATA3 0x0038 0x0000 0x9 0x0 +#define MX8ULP_PAD_PTD14__TRACE0_D7 0x0038 0x0000 0xa 0x0 +#define MX8ULP_PAD_PTD14__EPDC0_D9 0x0038 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTD14__DPI0_D9 0x0038 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTD14__LP_APD_DBG_MUX_14 0x0038 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTD15__PTD15 0x003C 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTD15__SPDIF_IN2 0x003C 0x0B7C 0x4 0x1 +#define MX8ULP_PAD_PTD15__SDHC1_VS 0x003C 0x0000 0x5 0x0 +#define MX8ULP_PAD_PTD15__SDHC2_D0 0x003C 0x0A98 0x6 0x1 +#define MX8ULP_PAD_PTD15__I2S7_TX_BCLK 0x003C 0x0B6C 0x7 0x1 +#define MX8ULP_PAD_PTD15__SDHC1_D6 0x003C 0x0A7C 0x8 0x1 +#define MX8ULP_PAD_PTD15__FLEXSPI2_A_DATA2 0x003C 0x0000 0x9 0x0 +#define MX8ULP_PAD_PTD15__TRACE0_D6 0x003C 0x0000 0xa 0x0 +#define MX8ULP_PAD_PTD15__EPDC0_D10 0x003C 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTD15__DPI0_D10 0x003C 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTD15__LP_APD_DBG_MUX_15 0x003C 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTD16__PTD16 0x0040 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTD16__FXIO1_D31 0x0040 0x08A0 0x2 0x1 +#define MX8ULP_PAD_PTD16__LPSPI4_PCS1 0x0040 0x08F8 0x3 0x1 +#define MX8ULP_PAD_PTD16__SPDIF_OUT2 0x0040 0x0000 0x4 0x0 +#define MX8ULP_PAD_PTD16__SDHC1_CD 0x0040 0x0A58 0x5 0x1 +#define MX8ULP_PAD_PTD16__SDHC2_CLK 0x0040 0x0A90 0x6 0x1 +#define MX8ULP_PAD_PTD16__I2S7_TX_FS 0x0040 0x0B70 0x7 0x1 +#define MX8ULP_PAD_PTD16__SDHC1_D5 0x0040 0x0A78 0x8 0x1 +#define MX8ULP_PAD_PTD16__FLEXSPI2_A_DATA1 0x0040 0x0000 0x9 0x0 +#define MX8ULP_PAD_PTD16__TRACE0_D5 0x0040 0x0000 0xa 0x0 +#define MX8ULP_PAD_PTD16__EPDC0_D11 0x0040 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTD16__DPI0_D11 0x0040 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTD16__LP_APD_DBG_MUX_16 0x0040 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTD17__PTD17 0x0044 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTD17__FXIO1_D30 0x0044 0x089C 0x2 0x1 +#define MX8ULP_PAD_PTD17__LPSPI4_PCS2 0x0044 0x08FC 0x3 0x1 +#define MX8ULP_PAD_PTD17__EXT_AUD_MCLK3 0x0044 0x0B14 0x4 0x2 +#define MX8ULP_PAD_PTD17__SDHC1_WP 0x0044 0x0A88 0x5 0x1 +#define MX8ULP_PAD_PTD17__SDHC2_CMD 0x0044 0x0A94 0x6 0x1 +#define MX8ULP_PAD_PTD17__I2S7_TXD0 0x0044 0x0000 0x7 0x0 +#define MX8ULP_PAD_PTD17__SDHC1_D4 0x0044 0x0A74 0x8 0x1 +#define MX8ULP_PAD_PTD17__FLEXSPI2_A_DATA0 0x0044 0x0000 0x9 0x0 +#define MX8ULP_PAD_PTD17__TRACE0_D4 0x0044 0x0000 0xa 0x0 +#define MX8ULP_PAD_PTD17__EPDC0_D12 0x0044 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTD17__DPI0_D12 0x0044 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTD17__LP_APD_DBG_MUX_17 0x0044 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTD18__PTD18 0x0048 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTD18__FXIO1_D29 0x0048 0x0894 0x2 0x1 +#define MX8ULP_PAD_PTD18__LPSPI4_PCS3 0x0048 0x0900 0x3 0x1 +#define MX8ULP_PAD_PTD18__SPDIF_CLK 0x0048 0x0000 0x4 0x0 +#define MX8ULP_PAD_PTD18__EXT_AUD_MCLK3 0x0048 0x0B14 0x5 0x3 +#define MX8ULP_PAD_PTD18__TPM8_CH0 0x0048 0x0B18 0x6 0x2 +#define MX8ULP_PAD_PTD18__I2S7_MCLK 0x0048 0x0000 0x7 0x0 +#define MX8ULP_PAD_PTD18__SDHC1_D3 0x0048 0x0A70 0x8 0x1 +#define MX8ULP_PAD_PTD18__FLEXSPI2_A_DQS 0x0048 0x0000 0x9 0x0 +#define MX8ULP_PAD_PTD18__TRACE0_D3 0x0048 0x0000 0xa 0x0 +#define MX8ULP_PAD_PTD18__EPDC0_D13 0x0048 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTD18__DPI0_D13 0x0048 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTD18__LP_APD_DBG_MUX_18 0x0048 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTD19__PTD19 0x004C 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTD19__FXIO1_D28 0x004C 0x0890 0x2 0x1 +#define MX8ULP_PAD_PTD19__SPDIF_IN0 0x004C 0x0B74 0x4 0x1 +#define MX8ULP_PAD_PTD19__TPM8_CH1 0x004C 0x0B1C 0x6 0x2 +#define MX8ULP_PAD_PTD19__I2S6_RXD3 0x004C 0x0B40 0x7 0x1 +#define MX8ULP_PAD_PTD19__SDHC1_D2 0x004C 0x0A6C 0x8 0x1 +#define MX8ULP_PAD_PTD19__FLEXSPI2_A_DATA7 0x004C 0x0000 0x9 0x0 +#define MX8ULP_PAD_PTD19__TRACE0_D2 0x004C 0x0000 0xa 0x0 +#define MX8ULP_PAD_PTD19__EPDC0_D14 0x004C 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTD19__DPI0_D14 0x004C 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTD19__LP_APD_DBG_MUX_19 0x004C 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTD20__PTD20 0x0050 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTD20__FXIO1_D27 0x0050 0x088C 0x2 0x1 +#define MX8ULP_PAD_PTD20__LPSPI4_SIN 0x0050 0x0908 0x3 0x1 +#define MX8ULP_PAD_PTD20__SPDIF_OUT0 0x0050 0x0000 0x4 0x0 +#define MX8ULP_PAD_PTD20__TPM8_CLKIN 0x0050 0x0B30 0x6 0x2 +#define MX8ULP_PAD_PTD20__I2S7_RXD1 0x0050 0x0B58 0x7 0x1 +#define MX8ULP_PAD_PTD20__SDHC1_D1 0x0050 0x0A68 0x8 0x1 +#define MX8ULP_PAD_PTD20__FLEXSPI2_A_DATA6 0x0050 0x0000 0x9 0x0 +#define MX8ULP_PAD_PTD20__TRACE0_D1 0x0050 0x0000 0xa 0x0 +#define MX8ULP_PAD_PTD20__EPDC0_D15 0x0050 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTD20__DPI0_D15 0x0050 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTD20__LP_APD_DBG_MUX_20 0x0050 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTD21__PTD21 0x0054 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTD21__FXIO1_D26 0x0054 0x0888 0x2 0x1 +#define MX8ULP_PAD_PTD21__LPSPI4_SOUT 0x0054 0x090C 0x3 0x1 +#define MX8ULP_PAD_PTD21__SPDIF_IN1 0x0054 0x0B78 0x4 0x1 +#define MX8ULP_PAD_PTD21__USB1_PWR 0x0054 0x0000 0x5 0x0 +#define MX8ULP_PAD_PTD21__TPM8_CH2 0x0054 0x0B20 0x6 0x2 +#define MX8ULP_PAD_PTD21__I2S7_TXD1 0x0054 0x0000 0x7 0x0 +#define MX8ULP_PAD_PTD21__SDHC1_D0 0x0054 0x0A64 0x8 0x1 +#define MX8ULP_PAD_PTD21__FLEXSPI2_A_DATA5 0x0054 0x0000 0x9 0x0 +#define MX8ULP_PAD_PTD21__TRACE0_D0 0x0054 0x0000 0xa 0x0 +#define MX8ULP_PAD_PTD21__DPI0_D16 0x0054 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTD21__WDOG5_RST 0x0054 0x0000 0xd 0x0 +#define MX8ULP_PAD_PTD21__LP_APD_DBG_MUX_21 0x0054 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTD22__PTD22 0x0058 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTD22__FXIO1_D25 0x0058 0x0884 0x2 0x1 +#define MX8ULP_PAD_PTD22__LPSPI4_SCK 0x0058 0x0904 0x3 0x1 +#define MX8ULP_PAD_PTD22__SPDIF_OUT1 0x0058 0x0000 0x4 0x0 +#define MX8ULP_PAD_PTD22__USB1_OC 0x0058 0x0AC4 0x5 0x1 +#define MX8ULP_PAD_PTD22__TPM8_CH3 0x0058 0x0B24 0x6 0x2 +#define MX8ULP_PAD_PTD22__I2S7_TXD2 0x0058 0x0000 0x7 0x0 +#define MX8ULP_PAD_PTD22__SDHC1_CLK 0x0058 0x0A5C 0x8 0x1 +#define MX8ULP_PAD_PTD22__FLEXSPI2_A_DATA4 0x0058 0x0000 0x9 0x0 +#define MX8ULP_PAD_PTD22__TRACE0_CLKOUT 0x0058 0x0000 0xa 0x0 +#define MX8ULP_PAD_PTD22__DPI0_D17 0x0058 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTD22__LP_APD_DBG_MUX_22 0x0058 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTD23__PTD23 0x005C 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTD23__FXIO1_D24 0x005C 0x0880 0x2 0x1 +#define MX8ULP_PAD_PTD23__LPSPI4_PCS0 0x005C 0x08F4 0x3 0x1 +#define MX8ULP_PAD_PTD23__USB1_ID 0x005C 0x0ACC 0x5 0x1 +#define MX8ULP_PAD_PTD23__TPM8_CH4 0x005C 0x0B28 0x6 0x2 +#define MX8ULP_PAD_PTD23__I2S7_TXD3 0x005C 0x0000 0x7 0x0 +#define MX8ULP_PAD_PTD23__SDHC1_CMD 0x005C 0x0A60 0x8 0x1 +#define MX8ULP_PAD_PTD23__FLEXSPI2_A_SS0_B 0x005C 0x0000 0x9 0x0 +#define MX8ULP_PAD_PTD23__FLEXSPI2_A_SCLK_B 0x005C 0x0000 0xa 0x0 +#define MX8ULP_PAD_PTD23__DPI0_D18 0x005C 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTD23__LP_APD_DBG_MUX_23 0x005C 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTE0__PTE0 0x0080 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTE0__FXIO1_D23 0x0080 0x087C 0x2 0x1 +#define MX8ULP_PAD_PTE0__SPDIF_IN3 0x0080 0x0B80 0x3 0x2 +#define MX8ULP_PAD_PTE0__LPUART4_CTS_B 0x0080 0x08DC 0x4 0x1 +#define MX8ULP_PAD_PTE0__LPI2C4_SCL 0x0080 0x08C8 0x5 0x1 +#define MX8ULP_PAD_PTE0__TPM8_CLKIN 0x0080 0x0B30 0x6 0x3 +#define MX8ULP_PAD_PTE0__I2S7_RXD2 0x0080 0x0B5C 0x7 0x1 +#define MX8ULP_PAD_PTE0__SDHC2_D1 0x0080 0x0A9C 0x8 0x2 +#define MX8ULP_PAD_PTE0__FLEXSPI2_B_DQS 0x0080 0x0974 0x9 0x2 +#define MX8ULP_PAD_PTE0__ENET0_CRS 0x0080 0x0AE8 0xa 0x1 +#define MX8ULP_PAD_PTE0__DBI0_WRX 0x0080 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTE0__DPI0_D19 0x0080 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTE0__WUU1_P0 0x0080 0x0000 0xd 0x0 +#define MX8ULP_PAD_PTE0__DEBUG_MUX0_8 0x0080 0x0000 0xe 0x0 +#define MX8ULP_PAD_PTE0__DEBUG_MUX1_11 0x0080 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTE1__PTE1 0x0084 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTE1__FXIO1_D22 0x0084 0x0878 0x2 0x1 +#define MX8ULP_PAD_PTE1__SPDIF_OUT3 0x0084 0x0000 0x3 0x0 +#define MX8ULP_PAD_PTE1__LPUART4_RTS_B 0x0084 0x0000 0x4 0x0 +#define MX8ULP_PAD_PTE1__LPI2C4_SDA 0x0084 0x08CC 0x5 0x1 +#define MX8ULP_PAD_PTE1__TPM8_CH0 0x0084 0x0B18 0x6 0x3 +#define MX8ULP_PAD_PTE1__I2S7_RXD3 0x0084 0x0B60 0x7 0x1 +#define MX8ULP_PAD_PTE1__SDHC2_D0 0x0084 0x0A98 0x8 0x2 +#define MX8ULP_PAD_PTE1__FLEXSPI2_B_DATA7 0x0084 0x0970 0x9 0x2 +#define MX8ULP_PAD_PTE1__ENET0_COL 0x0084 0x0AE4 0xa 0x1 +#define MX8ULP_PAD_PTE1__DBI0_CSX 0x0084 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTE1__DPI0_D20 0x0084 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTE1__WUU1_P1 0x0084 0x0000 0xd 0x0 +#define MX8ULP_PAD_PTE1__DEBUG_MUX0_9 0x0084 0x0000 0xe 0x0 +#define MX8ULP_PAD_PTE1__DEBUG_MUX1_12 0x0084 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTE2__PTE2 0x0088 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTE2__FXIO1_D21 0x0088 0x0874 0x2 0x1 +#define MX8ULP_PAD_PTE2__SPDIF_IN2 0x0088 0x0B7C 0x3 0x2 +#define MX8ULP_PAD_PTE2__LPUART4_TX 0x0088 0x08E4 0x4 0x1 +#define MX8ULP_PAD_PTE2__LPI2C4_HREQ 0x0088 0x08C4 0x5 0x1 +#define MX8ULP_PAD_PTE2__TPM8_CH1 0x0088 0x0B1C 0x6 0x3 +#define MX8ULP_PAD_PTE2__EXT_AUD_MCLK3 0x0088 0x0B14 0x7 0x4 +#define MX8ULP_PAD_PTE2__SDHC2_CLK 0x0088 0x0A90 0x8 0x2 +#define MX8ULP_PAD_PTE2__FLEXSPI2_B_DATA6 0x0088 0x096C 0x9 0x2 +#define MX8ULP_PAD_PTE2__ENET0_TXER 0x0088 0x0000 0xa 0x0 +#define MX8ULP_PAD_PTE2__DBI0_DCX 0x0088 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTE2__DPI0_D21 0x0088 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTE2__LP_HV_DBG_MUX_0 0x0088 0x0000 0xd 0x0 +#define MX8ULP_PAD_PTE2__DEBUG_MUX0_10 0x0088 0x0000 0xe 0x0 +#define MX8ULP_PAD_PTE2__DEBUG_MUX1_13 0x0088 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTE3__PTE3 0x008C 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTE3__FXIO1_D20 0x008C 0x0870 0x2 0x1 +#define MX8ULP_PAD_PTE3__SPDIF_OUT2 0x008C 0x0000 0x3 0x0 +#define MX8ULP_PAD_PTE3__LPUART4_RX 0x008C 0x08E0 0x4 0x1 +#define MX8ULP_PAD_PTE3__TPM8_CH2 0x008C 0x0B20 0x6 0x3 +#define MX8ULP_PAD_PTE3__I2S6_MCLK 0x008C 0x0000 0x7 0x0 +#define MX8ULP_PAD_PTE3__SDHC2_CMD 0x008C 0x0A94 0x8 0x2 +#define MX8ULP_PAD_PTE3__FLEXSPI2_B_DATA5 0x008C 0x0968 0x9 0x2 +#define MX8ULP_PAD_PTE3__ENET0_TXCLK 0x008C 0x0B10 0xa 0x1 +#define MX8ULP_PAD_PTE3__DBI0_RWX 0x008C 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTE3__DPI0_D22 0x008C 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTE3__WUU1_P2 0x008C 0x0000 0xd 0x0 +#define MX8ULP_PAD_PTE3__DEBUG_MUX0_11 0x008C 0x0000 0xe 0x0 +#define MX8ULP_PAD_PTE3__DEBUG_MUX1_14 0x008C 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTE4__PTE4 0x0090 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTE4__FXIO1_D19 0x0090 0x0868 0x2 0x1 +#define MX8ULP_PAD_PTE4__SPDIF_CLK 0x0090 0x0000 0x3 0x0 +#define MX8ULP_PAD_PTE4__LPUART5_CTS_B 0x0090 0x08E8 0x4 0x1 +#define MX8ULP_PAD_PTE4__LPI2C5_SCL 0x0090 0x08D4 0x5 0x1 +#define MX8ULP_PAD_PTE4__TPM8_CH3 0x0090 0x0B24 0x6 0x3 +#define MX8ULP_PAD_PTE4__I2S6_RX_BCLK 0x0090 0x0B44 0x7 0x2 +#define MX8ULP_PAD_PTE4__SDHC2_D3 0x0090 0x0AA4 0x8 0x2 +#define MX8ULP_PAD_PTE4__FLEXSPI2_B_DATA4 0x0090 0x0964 0x9 0x2 +#define MX8ULP_PAD_PTE4__ENET0_TXD3 0x0090 0x0000 0xa 0x0 +#define MX8ULP_PAD_PTE4__DBI0_E 0x0090 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTE4__DPI0_D23 0x0090 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTE4__WUU1_P3 0x0090 0x0000 0xd 0x0 +#define MX8ULP_PAD_PTE4__DEBUG_MUX0_12 0x0090 0x0000 0xe 0x0 +#define MX8ULP_PAD_PTE4__DEBUG_MUX1_15 0x0090 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTE5__PTE5 0x0094 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTE5__FXIO1_D18 0x0094 0x0864 0x2 0x1 +#define MX8ULP_PAD_PTE5__SPDIF_IN0 0x0094 0x0B74 0x3 0x2 +#define MX8ULP_PAD_PTE5__LPUART5_RTS_B 0x0094 0x0000 0x4 0x0 +#define MX8ULP_PAD_PTE5__LPI2C5_SDA 0x0094 0x08D8 0x5 0x1 +#define MX8ULP_PAD_PTE5__TPM8_CH4 0x0094 0x0B28 0x6 0x3 +#define MX8ULP_PAD_PTE5__I2S6_RX_FS 0x0094 0x0B48 0x7 0x2 +#define MX8ULP_PAD_PTE5__SDHC2_D2 0x0094 0x0AA0 0x8 0x2 +#define MX8ULP_PAD_PTE5__FLEXSPI2_B_SS0_B 0x0094 0x0000 0x9 0x0 +#define MX8ULP_PAD_PTE5__ENET0_TXD2 0x0094 0x0000 0xa 0x0 +#define MX8ULP_PAD_PTE5__DBI0_D0 0x0094 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTE5__LP_HV_DBG_MUX_1 0x0094 0x0000 0xd 0x0 +#define MX8ULP_PAD_PTE5__DEBUG_MUX0_13 0x0094 0x0000 0xe 0x0 +#define MX8ULP_PAD_PTE5__DEBUG_MUX1_16 0x0094 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTE6__PTE6 0x0098 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTE6__FXIO1_D17 0x0098 0x0860 0x2 0x1 +#define MX8ULP_PAD_PTE6__SPDIF_OUT0 0x0098 0x0000 0x3 0x0 +#define MX8ULP_PAD_PTE6__LPUART5_TX 0x0098 0x08F0 0x4 0x1 +#define MX8ULP_PAD_PTE6__LPI2C5_HREQ 0x0098 0x08D0 0x5 0x1 +#define MX8ULP_PAD_PTE6__TPM8_CH5 0x0098 0x0B2C 0x6 0x3 +#define MX8ULP_PAD_PTE6__I2S6_RXD0 0x0098 0x0B34 0x7 0x2 +#define MX8ULP_PAD_PTE6__SDHC2_D4 0x0098 0x0AA8 0x8 0x1 +#define MX8ULP_PAD_PTE6__FLEXSPI2_B_SCLK 0x0098 0x0978 0x9 0x2 +#define MX8ULP_PAD_PTE6__ENET0_RXCLK 0x0098 0x0B0C 0xa 0x1 +#define MX8ULP_PAD_PTE6__DBI0_D1 0x0098 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTE6__LP_HV_DBG_MUX_2 0x0098 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTE6__WDOG5_RST 0x0098 0x0000 0xd 0x0 +#define MX8ULP_PAD_PTE6__DEBUG_MUX0_14 0x0098 0x0000 0xe 0x0 +#define MX8ULP_PAD_PTE6__DEBUG_MUX1_17 0x0098 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTE7__PTE7 0x009C 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTE7__FXIO1_D16 0x009C 0x085C 0x2 0x1 +#define MX8ULP_PAD_PTE7__SPDIF_IN1 0x009C 0x0B78 0x3 0x2 +#define MX8ULP_PAD_PTE7__LPUART5_RX 0x009C 0x08EC 0x4 0x1 +#define MX8ULP_PAD_PTE7__LPI2C6_HREQ 0x009C 0x09B4 0x5 0x1 +#define MX8ULP_PAD_PTE7__TPM4_CLKIN 0x009C 0x081C 0x6 0x1 +#define MX8ULP_PAD_PTE7__I2S6_RXD1 0x009C 0x0B38 0x7 0x2 +#define MX8ULP_PAD_PTE7__SDHC2_D5 0x009C 0x0AAC 0x8 0x1 +#define MX8ULP_PAD_PTE7__FLEXSPI2_B_DATA3 0x009C 0x0960 0x9 0x2 +#define MX8ULP_PAD_PTE7__ENET0_RXD3 0x009C 0x0B04 0xa 0x1 +#define MX8ULP_PAD_PTE7__DBI0_D2 0x009C 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTE7__EPDC0_BDR1 0x009C 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTE7__WUU1_P4 0x009C 0x0000 0xd 0x0 +#define MX8ULP_PAD_PTE7__DEBUG_MUX0_15 0x009C 0x0000 0xe 0x0 +#define MX8ULP_PAD_PTE7__DEBUG_MUX1_18 0x009C 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTE8__PTE8 0x00A0 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTE8__FXIO1_D15 0x00A0 0x0858 0x2 0x1 +#define MX8ULP_PAD_PTE8__LPSPI4_PCS1 0x00A0 0x08F8 0x3 0x2 +#define MX8ULP_PAD_PTE8__LPUART6_CTS_B 0x00A0 0x09CC 0x4 0x1 +#define MX8ULP_PAD_PTE8__LPI2C6_SCL 0x00A0 0x09B8 0x5 0x1 +#define MX8ULP_PAD_PTE8__TPM4_CH0 0x00A0 0x0804 0x6 0x1 +#define MX8ULP_PAD_PTE8__I2S6_RXD2 0x00A0 0x0B3C 0x7 0x2 +#define MX8ULP_PAD_PTE8__SDHC2_D6 0x00A0 0x0AB0 0x8 0x1 +#define MX8ULP_PAD_PTE8__FLEXSPI2_B_DATA2 0x00A0 0x095C 0x9 0x2 +#define MX8ULP_PAD_PTE8__ENET0_RXD2 0x00A0 0x0B00 0xa 0x1 +#define MX8ULP_PAD_PTE8__DBI0_D3 0x00A0 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTE8__EPDC0_BDR0 0x00A0 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTE8__LP_HV_DBG_MUX_3 0x00A0 0x0000 0xe 0x0 +#define MX8ULP_PAD_PTE8__DEBUG_MUX1_19 0x00A0 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTE9__PTE9 0x00A4 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTE9__FXIO1_D14 0x00A4 0x0854 0x2 0x1 +#define MX8ULP_PAD_PTE9__LPSPI4_PCS2 0x00A4 0x08FC 0x3 0x2 +#define MX8ULP_PAD_PTE9__LPUART6_RTS_B 0x00A4 0x0000 0x4 0x0 +#define MX8ULP_PAD_PTE9__LPI2C6_SDA 0x00A4 0x09BC 0x5 0x1 +#define MX8ULP_PAD_PTE9__TPM4_CH1 0x00A4 0x0808 0x6 0x1 +#define MX8ULP_PAD_PTE9__I2S6_RXD3 0x00A4 0x0B40 0x7 0x2 +#define MX8ULP_PAD_PTE9__SDHC2_D7 0x00A4 0x0AB4 0x8 0x1 +#define MX8ULP_PAD_PTE9__FLEXSPI2_B_DATA1 0x00A4 0x0958 0x9 0x2 +#define MX8ULP_PAD_PTE9__ENET0_1588_TMR3 0x00A4 0x0AE0 0xa 0x1 +#define MX8ULP_PAD_PTE9__DBI0_D4 0x00A4 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTE9__EPDC0_VCOM1 0x00A4 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTE9__LP_HV_DBG_MUX_4 0x00A4 0x0000 0xe 0x0 +#define MX8ULP_PAD_PTE9__DEBUG_MUX1_20 0x00A4 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTE10__PTE10 0x00A8 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTE10__FXIO1_D13 0x00A8 0x0850 0x2 0x1 +#define MX8ULP_PAD_PTE10__LPSPI4_PCS3 0x00A8 0x0900 0x3 0x2 +#define MX8ULP_PAD_PTE10__LPUART6_TX 0x00A8 0x09D4 0x4 0x1 +#define MX8ULP_PAD_PTE10__I3C2_SCL 0x00A8 0x08BC 0x5 0x1 +#define MX8ULP_PAD_PTE10__TPM4_CH2 0x00A8 0x080C 0x6 0x1 +#define MX8ULP_PAD_PTE10__I2S6_TX_BCLK 0x00A8 0x0B4C 0x7 0x2 +#define MX8ULP_PAD_PTE10__SDHC2_DQS 0x00A8 0x0AB8 0x8 0x1 +#define MX8ULP_PAD_PTE10__FLEXSPI2_B_DATA0 0x00A8 0x0954 0x9 0x2 +#define MX8ULP_PAD_PTE10__ENET0_1588_TMR2 0x00A8 0x0ADC 0xa 0x1 +#define MX8ULP_PAD_PTE10__DBI0_D5 0x00A8 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTE10__EPDC0_VCOM0 0x00A8 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTE10__LP_HV_DBG_MUX_5 0x00A8 0x0000 0xe 0x0 +#define MX8ULP_PAD_PTE10__DEBUG_MUX1_21 0x00A8 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTE11__PTE11 0x00AC 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTE11__FXIO1_D12 0x00AC 0x084C 0x2 0x1 +#define MX8ULP_PAD_PTE11__SPDIF_OUT1 0x00AC 0x0000 0x3 0x0 +#define MX8ULP_PAD_PTE11__LPUART6_RX 0x00AC 0x09D0 0x4 0x1 +#define MX8ULP_PAD_PTE11__I3C2_SDA 0x00AC 0x08C0 0x5 0x1 +#define MX8ULP_PAD_PTE11__TPM4_CH3 0x00AC 0x0810 0x6 0x1 +#define MX8ULP_PAD_PTE11__I2S6_TX_FS 0x00AC 0x0B50 0x7 0x2 +#define MX8ULP_PAD_PTE11__FLEXSPI2_B_SCLK_B 0x00AC 0x0000 0x8 0x0 +#define MX8ULP_PAD_PTE11__FLEXSPI2_B_SS0_B 0x00AC 0x0000 0x9 0x0 +#define MX8ULP_PAD_PTE11__ENET0_1588_TMR1 0x00AC 0x0AD8 0xa 0x1 +#define MX8ULP_PAD_PTE11__DBI0_D6 0x00AC 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTE11__EPDC0_PWRCTRL0 0x00AC 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTE11__LP_HV_DBG_MUX_6 0x00AC 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTE12__PTE12 0x00B0 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTE12__FXIO1_D11 0x00B0 0x0848 0x2 0x1 +#define MX8ULP_PAD_PTE12__LPSPI4_SIN 0x00B0 0x0908 0x3 0x2 +#define MX8ULP_PAD_PTE12__LPUART7_CTS_B 0x00B0 0x09D8 0x4 0x1 +#define MX8ULP_PAD_PTE12__LPI2C7_SCL 0x00B0 0x09C4 0x5 0x1 +#define MX8ULP_PAD_PTE12__TPM4_CH4 0x00B0 0x0814 0x6 0x1 +#define MX8ULP_PAD_PTE12__I2S6_TXD0 0x00B0 0x0000 0x7 0x0 +#define MX8ULP_PAD_PTE12__SDHC2_RESET_B 0x00B0 0x0000 0x8 0x0 +#define MX8ULP_PAD_PTE12__FLEXSPI2_B_SS1_B 0x00B0 0x0000 0x9 0x0 +#define MX8ULP_PAD_PTE12__ENET0_1588_TMR0 0x00B0 0x0AD4 0xa 0x1 +#define MX8ULP_PAD_PTE12__DBI0_D7 0x00B0 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTE12__EPDC0_PWRCTRL1 0x00B0 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTE12__WUU1_P5 0x00B0 0x0000 0xd 0x0 +#define MX8ULP_PAD_PTE13__PTE13 0x00B4 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTE13__FXIO1_D10 0x00B4 0x0844 0x2 0x1 +#define MX8ULP_PAD_PTE13__LPSPI4_SOUT 0x00B4 0x090C 0x3 0x2 +#define MX8ULP_PAD_PTE13__LPUART7_RTS_B 0x00B4 0x0000 0x4 0x0 +#define MX8ULP_PAD_PTE13__LPI2C7_SDA 0x00B4 0x09C8 0x5 0x1 +#define MX8ULP_PAD_PTE13__TPM4_CH5 0x00B4 0x0818 0x6 0x1 +#define MX8ULP_PAD_PTE13__I2S6_TXD1 0x00B4 0x0000 0x7 0x0 +#define MX8ULP_PAD_PTE13__SDHC1_WP 0x00B4 0x0A88 0x8 0x2 +#define MX8ULP_PAD_PTE13__ENET0_1588_CLKIN 0x00B4 0x0AD0 0xa 0x1 +#define MX8ULP_PAD_PTE13__DBI0_D8 0x00B4 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTE13__EPDC0_PWRCTRL2 0x00B4 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTE13__LP_HV_DBG_MUX_7 0x00B4 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTE14__PTE14 0x00B8 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTE14__FXIO1_D9 0x00B8 0x08B8 0x2 0x1 +#define MX8ULP_PAD_PTE14__LPSPI4_SCK 0x00B8 0x0904 0x3 0x2 +#define MX8ULP_PAD_PTE14__LPUART7_TX 0x00B8 0x09E0 0x4 0x1 +#define MX8ULP_PAD_PTE14__LPI2C7_HREQ 0x00B8 0x09C0 0x5 0x1 +#define MX8ULP_PAD_PTE14__TPM5_CLKIN 0x00B8 0x0838 0x6 0x1 +#define MX8ULP_PAD_PTE14__I2S6_TXD2 0x00B8 0x0000 0x7 0x0 +#define MX8ULP_PAD_PTE14__SDHC1_CD 0x00B8 0x0A58 0x8 0x2 +#define MX8ULP_PAD_PTE14__ENET0_MDIO 0x00B8 0x0AF0 0xa 0x1 +#define MX8ULP_PAD_PTE14__DBI0_D9 0x00B8 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTE14__EPDC0_PWRCTRL3 0x00B8 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTE14__LP_HV_DBG_MUX_8 0x00B8 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTE15__PTE15 0x00BC 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTE15__FXIO1_D8 0x00BC 0x08B4 0x2 0x1 +#define MX8ULP_PAD_PTE15__LPSPI4_PCS0 0x00BC 0x08F4 0x3 0x2 +#define MX8ULP_PAD_PTE15__LPUART7_RX 0x00BC 0x09DC 0x4 0x1 +#define MX8ULP_PAD_PTE15__I3C2_PUR 0x00BC 0x0000 0x5 0x0 +#define MX8ULP_PAD_PTE15__TPM5_CH0 0x00BC 0x0820 0x6 0x1 +#define MX8ULP_PAD_PTE15__I2S6_TXD3 0x00BC 0x0000 0x7 0x0 +#define MX8ULP_PAD_PTE15__MQS1_LEFT 0x00BC 0x0000 0x8 0x0 +#define MX8ULP_PAD_PTE15__ENET0_MDC 0x00BC 0x0000 0xa 0x0 +#define MX8ULP_PAD_PTE15__DBI0_D10 0x00BC 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTE15__EPDC0_PWRCOM 0x00BC 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTE15__WUU1_P6 0x00BC 0x0000 0xd 0x0 +#define MX8ULP_PAD_PTE16__PTE16 0x00C0 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTE16__FXIO1_D7 0x00C0 0x08B0 0x2 0x1 +#define MX8ULP_PAD_PTE16__LPSPI5_PCS1 0x00C0 0x0914 0x3 0x1 +#define MX8ULP_PAD_PTE16__LPUART4_CTS_B 0x00C0 0x08DC 0x4 0x2 +#define MX8ULP_PAD_PTE16__LPI2C4_SCL 0x00C0 0x08C8 0x5 0x2 +#define MX8ULP_PAD_PTE16__TPM5_CH1 0x00C0 0x0824 0x6 0x1 +#define MX8ULP_PAD_PTE16__MQS1_LEFT 0x00C0 0x0000 0x7 0x0 +#define MX8ULP_PAD_PTE16__MQS1_RIGHT 0x00C0 0x0000 0x8 0x0 +#define MX8ULP_PAD_PTE16__USB0_ID 0x00C0 0x0AC8 0x9 0x2 +#define MX8ULP_PAD_PTE16__ENET0_TXEN 0x00C0 0x0000 0xa 0x0 +#define MX8ULP_PAD_PTE16__DBI0_D11 0x00C0 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTE16__EPDC0_PWRIRQ 0x00C0 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTE16__WDOG3_RST 0x00C0 0x0000 0xd 0x0 +#define MX8ULP_PAD_PTE16__LP_HV_DBG_MUX_9 0x00C0 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTE17__PTE17 0x00C4 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTE17__FXIO1_D6 0x00C4 0x08AC 0x2 0x1 +#define MX8ULP_PAD_PTE17__LPSPI5_PCS2 0x00C4 0x0918 0x3 0x1 +#define MX8ULP_PAD_PTE17__LPUART4_RTS_B 0x00C4 0x0000 0x4 0x0 +#define MX8ULP_PAD_PTE17__LPI2C4_SDA 0x00C4 0x08CC 0x5 0x2 +#define MX8ULP_PAD_PTE17__MQS1_RIGHT 0x00C4 0x0000 0x7 0x0 +#define MX8ULP_PAD_PTE17__SDHC1_VS 0x00C4 0x0000 0x8 0x0 +#define MX8ULP_PAD_PTE17__USB0_PWR 0x00C4 0x0000 0x9 0x0 +#define MX8ULP_PAD_PTE17__ENET0_RXER 0x00C4 0x0B08 0xa 0x1 +#define MX8ULP_PAD_PTE17__DBI0_D12 0x00C4 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTE17__EPDC0_PWRSTAT 0x00C4 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTE17__LP_HV_DBG_MUX_10 0x00C4 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTE18__PTE18 0x00C8 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTE18__FXIO1_D5 0x00C8 0x08A8 0x2 0x1 +#define MX8ULP_PAD_PTE18__LPSPI5_PCS3 0x00C8 0x091C 0x3 0x1 +#define MX8ULP_PAD_PTE18__LPUART4_TX 0x00C8 0x08E4 0x4 0x2 +#define MX8ULP_PAD_PTE18__LPI2C4_HREQ 0x00C8 0x08C4 0x5 0x2 +#define MX8ULP_PAD_PTE18__I2S7_TX_BCLK 0x00C8 0x0B6C 0x7 0x2 +#define MX8ULP_PAD_PTE18__USB0_OC 0x00C8 0x0AC0 0x9 0x2 +#define MX8ULP_PAD_PTE18__ENET0_CRS_DV 0x00C8 0x0AEC 0xa 0x1 +#define MX8ULP_PAD_PTE18__DBI0_D13 0x00C8 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTE18__EPDC0_PWRWAKE 0x00C8 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTE18__LP_HV_DBG_MUX_11 0x00C8 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTE19__PTE19 0x00CC 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTE19__FXIO1_D4 0x00CC 0x08A4 0x2 0x1 +#define MX8ULP_PAD_PTE19__LPUART4_RX 0x00CC 0x08E0 0x4 0x2 +#define MX8ULP_PAD_PTE19__LPI2C5_HREQ 0x00CC 0x08D0 0x5 0x2 +#define MX8ULP_PAD_PTE19__I3C2_PUR 0x00CC 0x0000 0x6 0x0 +#define MX8ULP_PAD_PTE19__I2S7_TX_FS 0x00CC 0x0B70 0x7 0x2 +#define MX8ULP_PAD_PTE19__USB1_PWR 0x00CC 0x0000 0x9 0x0 +#define MX8ULP_PAD_PTE19__ENET0_REFCLK 0x00CC 0x0AF4 0xa 0x1 +#define MX8ULP_PAD_PTE19__DBI0_D14 0x00CC 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTE19__EPDC0_GDCLK 0x00CC 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTE19__WUU1_P7 0x00CC 0x0000 0xd 0x0 +#define MX8ULP_PAD_PTE20__PTE20 0x00D0 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTE20__FXIO1_D3 0x00D0 0x0898 0x2 0x1 +#define MX8ULP_PAD_PTE20__LPSPI5_SIN 0x00D0 0x0924 0x3 0x1 +#define MX8ULP_PAD_PTE20__LPUART5_CTS_B 0x00D0 0x08E8 0x4 0x2 +#define MX8ULP_PAD_PTE20__LPI2C5_SCL 0x00D0 0x08D4 0x5 0x2 +#define MX8ULP_PAD_PTE20__I2S7_TXD0 0x00D0 0x0000 0x7 0x0 +#define MX8ULP_PAD_PTE20__USB1_OC 0x00D0 0x0AC4 0x9 0x2 +#define MX8ULP_PAD_PTE20__ENET0_RXD1 0x00D0 0x0AFC 0xa 0x1 +#define MX8ULP_PAD_PTE20__DBI0_D15 0x00D0 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTE20__EPDC0_GDOE 0x00D0 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTE20__LP_HV_DBG_MUX_12 0x00D0 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTE21__PTE21 0x00D4 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTE21__FXIO1_D2 0x00D4 0x086C 0x2 0x1 +#define MX8ULP_PAD_PTE21__LPSPI5_SOUT 0x00D4 0x0928 0x3 0x1 +#define MX8ULP_PAD_PTE21__LPUART5_RTS_B 0x00D4 0x0000 0x4 0x0 +#define MX8ULP_PAD_PTE21__LPI2C5_SDA 0x00D4 0x08D8 0x5 0x2 +#define MX8ULP_PAD_PTE21__TPM6_CLKIN 0x00D4 0x0994 0x6 0x1 +#define MX8ULP_PAD_PTE21__I2S7_TXD1 0x00D4 0x0000 0x7 0x0 +#define MX8ULP_PAD_PTE21__USB1_ID 0x00D4 0x0ACC 0x9 0x2 +#define MX8ULP_PAD_PTE21__ENET0_RXD0 0x00D4 0x0AF8 0xa 0x1 +#define MX8ULP_PAD_PTE21__EPDC0_GDRL 0x00D4 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTE21__WDOG4_RST 0x00D4 0x0000 0xd 0x0 +#define MX8ULP_PAD_PTE21__LP_HV_DBG_MUX_13 0x00D4 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTE22__PTE22 0x00D8 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTE22__FXIO1_D1 0x00D8 0x0840 0x2 0x1 +#define MX8ULP_PAD_PTE22__LPSPI5_SCK 0x00D8 0x0920 0x3 0x1 +#define MX8ULP_PAD_PTE22__LPUART5_TX 0x00D8 0x08F0 0x4 0x2 +#define MX8ULP_PAD_PTE22__I3C2_SCL 0x00D8 0x08BC 0x5 0x2 +#define MX8ULP_PAD_PTE22__TPM6_CH0 0x00D8 0x097C 0x6 0x1 +#define MX8ULP_PAD_PTE22__I2S7_TXD2 0x00D8 0x0000 0x7 0x0 +#define MX8ULP_PAD_PTE22__EXT_AUD_MCLK3 0x00D8 0x0B14 0x9 0x5 +#define MX8ULP_PAD_PTE22__ENET0_TXD1 0x00D8 0x0000 0xa 0x0 +#define MX8ULP_PAD_PTE22__EPDC0_SDOED 0x00D8 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTE22__CLKOUT2 0x00D8 0x0000 0xd 0x0 +#define MX8ULP_PAD_PTE22__LP_HV_DBG_MUX_14 0x00D8 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTE23__PTE23 0x00DC 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTE23__FXIO1_D0 0x00DC 0x083C 0x2 0x1 +#define MX8ULP_PAD_PTE23__LPSPI5_PCS0 0x00DC 0x0910 0x3 0x1 +#define MX8ULP_PAD_PTE23__LPUART5_RX 0x00DC 0x08EC 0x4 0x2 +#define MX8ULP_PAD_PTE23__I3C2_SDA 0x00DC 0x08C0 0x5 0x2 +#define MX8ULP_PAD_PTE23__TPM6_CH1 0x00DC 0x0980 0x6 0x1 +#define MX8ULP_PAD_PTE23__I2S7_TXD3 0x00DC 0x0000 0x7 0x0 +#define MX8ULP_PAD_PTE23__EXT_AUD_MCLK2 0x00DC 0x0800 0x9 0x1 +#define MX8ULP_PAD_PTE23__ENET0_TXD0 0x00DC 0x0000 0xa 0x0 +#define MX8ULP_PAD_PTE23__EPDC0_SDOEZ 0x00DC 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTE23__CLKOUT1 0x00DC 0x0000 0xd 0x0 +#define MX8ULP_PAD_PTE23__LP_HV_DBG_MUX_15 0x00DC 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTF0__PTF0 0x0100 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTF0__FXIO1_D0 0x0100 0x083C 0x2 0x2 +#define MX8ULP_PAD_PTF0__LPUART6_CTS_B 0x0100 0x09CC 0x4 0x2 +#define MX8ULP_PAD_PTF0__LPI2C6_SCL 0x0100 0x09B8 0x5 0x2 +#define MX8ULP_PAD_PTF0__I2S7_RX_BCLK 0x0100 0x0B64 0x7 0x2 +#define MX8ULP_PAD_PTF0__SDHC1_D1 0x0100 0x0A68 0x8 0x2 +#define MX8ULP_PAD_PTF0__ENET0_RXD1 0x0100 0x0AFC 0x9 0x2 +#define MX8ULP_PAD_PTF0__USB1_ID 0x0100 0x0ACC 0xa 0x3 +#define MX8ULP_PAD_PTF0__EPDC0_SDOE 0x0100 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTF0__DPI0_D23 0x0100 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTF0__WUU1_P8 0x0100 0x0000 0xd 0x0 +#define MX8ULP_PAD_PTF1__PTF1 0x0104 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTF1__FXIO1_D1 0x0104 0x0840 0x2 0x2 +#define MX8ULP_PAD_PTF1__LPUART6_RTS_B 0x0104 0x0000 0x4 0x0 +#define MX8ULP_PAD_PTF1__LPI2C6_SDA 0x0104 0x09BC 0x5 0x2 +#define MX8ULP_PAD_PTF1__I2S7_RX_FS 0x0104 0x0B68 0x7 0x2 +#define MX8ULP_PAD_PTF1__SDHC1_D0 0x0104 0x0A64 0x8 0x2 +#define MX8ULP_PAD_PTF1__ENET0_RXD0 0x0104 0x0AF8 0x9 0x2 +#define MX8ULP_PAD_PTF1__LP_HV_DBG_MUX_16 0x0104 0x0000 0xa 0x0 +#define MX8ULP_PAD_PTF1__EPDC0_SDSHR 0x0104 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTF1__DPI0_D22 0x0104 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTF1__WDOG3_RST 0x0104 0x0000 0xd 0x0 +#define MX8ULP_PAD_PTF1__DEBUG_MUX0_16 0x0104 0x0000 0xe 0x0 +#define MX8ULP_PAD_PTF1__DEBUG_MUX1_22 0x0104 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTF2__PTF2 0x0108 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTF2__FXIO1_D2 0x0108 0x086C 0x2 0x2 +#define MX8ULP_PAD_PTF2__LPUART6_TX 0x0108 0x09D4 0x4 0x2 +#define MX8ULP_PAD_PTF2__LPI2C6_HREQ 0x0108 0x09B4 0x5 0x2 +#define MX8ULP_PAD_PTF2__I2S7_RXD0 0x0108 0x0B54 0x7 0x2 +#define MX8ULP_PAD_PTF2__SDHC1_CLK 0x0108 0x0A5C 0x8 0x2 +#define MX8ULP_PAD_PTF2__ENET0_TXD1 0x0108 0x0000 0x9 0x0 +#define MX8ULP_PAD_PTF2__USB0_ID 0x0108 0x0AC8 0xa 0x3 +#define MX8ULP_PAD_PTF2__EPDC0_SDCE9 0x0108 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTF2__DPI0_D21 0x0108 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTF2__LP_HV_DBG_MUX_17 0x0108 0x0000 0xd 0x0 +#define MX8ULP_PAD_PTF2__DEBUG_MUX0_17 0x0108 0x0000 0xe 0x0 +#define MX8ULP_PAD_PTF2__DEBUG_MUX1_23 0x0108 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTF3__PTF3 0x010C 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTF3__FXIO1_D3 0x010C 0x0898 0x2 0x2 +#define MX8ULP_PAD_PTF3__LPUART6_RX 0x010C 0x09D0 0x4 0x2 +#define MX8ULP_PAD_PTF3__LPI2C7_HREQ 0x010C 0x09C0 0x5 0x2 +#define MX8ULP_PAD_PTF3__I2S7_RXD1 0x010C 0x0B58 0x7 0x2 +#define MX8ULP_PAD_PTF3__SDHC1_CMD 0x010C 0x0A60 0x8 0x2 +#define MX8ULP_PAD_PTF3__ENET0_TXD0 0x010C 0x0000 0x9 0x0 +#define MX8ULP_PAD_PTF3__USB0_PWR 0x010C 0x0000 0xa 0x0 +#define MX8ULP_PAD_PTF3__EPDC0_SDCE8 0x010C 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTF3__DPI0_D20 0x010C 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTF3__WUU1_P9 0x010C 0x0000 0xd 0x0 +#define MX8ULP_PAD_PTF3__DEBUG_MUX1_24 0x010C 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTF4__PTF4 0x0110 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTF4__FXIO1_D4 0x0110 0x08A4 0x2 0x2 +#define MX8ULP_PAD_PTF4__LPSPI4_PCS1 0x0110 0x08F8 0x3 0x3 +#define MX8ULP_PAD_PTF4__LPUART7_CTS_B 0x0110 0x09D8 0x4 0x2 +#define MX8ULP_PAD_PTF4__LPI2C7_SCL 0x0110 0x09C4 0x5 0x2 +#define MX8ULP_PAD_PTF4__TPM7_CLKIN 0x0110 0x09B0 0x6 0x1 +#define MX8ULP_PAD_PTF4__I2S7_RXD2 0x0110 0x0B5C 0x7 0x2 +#define MX8ULP_PAD_PTF4__SDHC1_D3 0x0110 0x0A70 0x8 0x2 +#define MX8ULP_PAD_PTF4__ENET0_TXEN 0x0110 0x0000 0x9 0x0 +#define MX8ULP_PAD_PTF4__USB0_OC 0x0110 0x0AC0 0xa 0x3 +#define MX8ULP_PAD_PTF4__EPDC0_SDCE7 0x0110 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTF4__DPI0_D19 0x0110 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTF4__WUU1_P10 0x0110 0x0000 0xd 0x0 +#define MX8ULP_PAD_PTF4__DEBUG_MUX1_25 0x0110 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTF5__PTF5 0x0114 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTF5__FXIO1_D5 0x0114 0x08A8 0x2 0x2 +#define MX8ULP_PAD_PTF5__LPSPI4_PCS2 0x0114 0x08FC 0x3 0x3 +#define MX8ULP_PAD_PTF5__LPUART7_RTS_B 0x0114 0x0000 0x4 0x0 +#define MX8ULP_PAD_PTF5__LPI2C7_SDA 0x0114 0x09C8 0x5 0x2 +#define MX8ULP_PAD_PTF5__TPM7_CH0 0x0114 0x0998 0x6 0x1 +#define MX8ULP_PAD_PTF5__I2S7_RXD3 0x0114 0x0B60 0x7 0x2 +#define MX8ULP_PAD_PTF5__SDHC1_D2 0x0114 0x0A6C 0x8 0x2 +#define MX8ULP_PAD_PTF5__ENET0_RXER 0x0114 0x0B08 0x9 0x2 +#define MX8ULP_PAD_PTF5__USB1_PWR 0x0114 0x0000 0xa 0x0 +#define MX8ULP_PAD_PTF5__EPDC0_SDCE6 0x0114 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTF5__DPI0_D18 0x0114 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTF5__LP_HV_DBG_MUX_18 0x0114 0x0000 0xd 0x0 +#define MX8ULP_PAD_PTF5__DEBUG_MUX0_18 0x0114 0x0000 0xe 0x0 +#define MX8ULP_PAD_PTF5__DEBUG_MUX1_26 0x0114 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTF6__LP_HV_DBG_MUX_19 0x0118 0x0000 0x0 0x0 +#define MX8ULP_PAD_PTF6__PTF6 0x0118 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTF6__FXIO1_D6 0x0118 0x08AC 0x2 0x2 +#define MX8ULP_PAD_PTF6__LPSPI4_PCS3 0x0118 0x0900 0x3 0x3 +#define MX8ULP_PAD_PTF6__LPUART7_TX 0x0118 0x09E0 0x4 0x2 +#define MX8ULP_PAD_PTF6__I3C2_SCL 0x0118 0x08BC 0x5 0x3 +#define MX8ULP_PAD_PTF6__TPM7_CH1 0x0118 0x099C 0x6 0x1 +#define MX8ULP_PAD_PTF6__I2S7_MCLK 0x0118 0x0000 0x7 0x0 +#define MX8ULP_PAD_PTF6__SDHC1_D4 0x0118 0x0A74 0x8 0x2 +#define MX8ULP_PAD_PTF6__ENET0_CRS_DV 0x0118 0x0AEC 0x9 0x2 +#define MX8ULP_PAD_PTF6__USB1_OC 0x0118 0x0AC4 0xa 0x3 +#define MX8ULP_PAD_PTF6__EPDC0_SDCE5 0x0118 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTF6__DPI0_D17 0x0118 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTF6__WDOG4_RST 0x0118 0x0000 0xd 0x0 +#define MX8ULP_PAD_PTF6__DEBUG_MUX0_19 0x0118 0x0000 0xe 0x0 +#define MX8ULP_PAD_PTF6__DEBUG_MUX1_27 0x0118 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTF7__PTF7 0x011C 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTF7__FXIO1_D7 0x011C 0x08B0 0x2 0x2 +#define MX8ULP_PAD_PTF7__LPUART7_RX 0x011C 0x09DC 0x4 0x2 +#define MX8ULP_PAD_PTF7__I3C2_SDA 0x011C 0x08C0 0x5 0x3 +#define MX8ULP_PAD_PTF7__TPM7_CH2 0x011C 0x09A0 0x6 0x1 +#define MX8ULP_PAD_PTF7__MQS1_LEFT 0x011C 0x0000 0x7 0x0 +#define MX8ULP_PAD_PTF7__SDHC1_D5 0x011C 0x0A78 0x8 0x2 +#define MX8ULP_PAD_PTF7__ENET0_REFCLK 0x011C 0x0AF4 0x9 0x2 +#define MX8ULP_PAD_PTF7__TRACE0_D15 0x011C 0x0000 0xa 0x0 +#define MX8ULP_PAD_PTF7__EPDC0_SDCE4 0x011C 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTF7__DPI0_D16 0x011C 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTF7__WUU1_P11 0x011C 0x0000 0xd 0x0 +#define MX8ULP_PAD_PTF7__DEBUG_MUX1_28 0x011C 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTF8__PTF8 0x0120 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTF8__FXIO1_D8 0x0120 0x08B4 0x2 0x2 +#define MX8ULP_PAD_PTF8__LPSPI4_SIN 0x0120 0x0908 0x3 0x3 +#define MX8ULP_PAD_PTF8__LPUART4_CTS_B 0x0120 0x08DC 0x4 0x3 +#define MX8ULP_PAD_PTF8__LPI2C4_SCL 0x0120 0x08C8 0x5 0x3 +#define MX8ULP_PAD_PTF8__TPM7_CH3 0x0120 0x09A4 0x6 0x1 +#define MX8ULP_PAD_PTF8__MQS1_RIGHT 0x0120 0x0000 0x7 0x0 +#define MX8ULP_PAD_PTF8__SDHC1_D6 0x0120 0x0A7C 0x8 0x2 +#define MX8ULP_PAD_PTF8__ENET0_MDIO 0x0120 0x0AF0 0x9 0x2 +#define MX8ULP_PAD_PTF8__TRACE0_D14 0x0120 0x0000 0xa 0x0 +#define MX8ULP_PAD_PTF8__EPDC0_D15 0x0120 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTF8__DPI0_D15 0x0120 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTF8__LP_HV_DBG_MUX_24 0x0120 0x0000 0xe 0x0 +#define MX8ULP_PAD_PTF8__DEBUG_MUX1_29 0x0120 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTF9__PTF9 0x0124 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTF9__FXIO1_D9 0x0124 0x08B8 0x2 0x2 +#define MX8ULP_PAD_PTF9__LPSPI4_SOUT 0x0124 0x090C 0x3 0x3 +#define MX8ULP_PAD_PTF9__LPUART4_RTS_B 0x0124 0x0000 0x4 0x0 +#define MX8ULP_PAD_PTF9__LPI2C4_SDA 0x0124 0x08CC 0x5 0x3 +#define MX8ULP_PAD_PTF9__TPM7_CH4 0x0124 0x09A8 0x6 0x1 +#define MX8ULP_PAD_PTF9__EXT_AUD_MCLK2 0x0124 0x0800 0x7 0x2 +#define MX8ULP_PAD_PTF9__SDHC1_D7 0x0124 0x0A80 0x8 0x2 +#define MX8ULP_PAD_PTF9__ENET0_MDC 0x0124 0x0000 0x9 0x0 +#define MX8ULP_PAD_PTF9__TRACE0_D13 0x0124 0x0000 0xa 0x0 +#define MX8ULP_PAD_PTF9__EPDC0_D14 0x0124 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTF9__DPI0_D14 0x0124 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTF9__LP_HV_DBG_MUX_25 0x0124 0x0000 0xe 0x0 +#define MX8ULP_PAD_PTF9__DEBUG_MUX1_30 0x0124 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTF10__LP_HV_DBG_MUX_26 0x0128 0x0000 0x0 0x0 +#define MX8ULP_PAD_PTF10__PTF10 0x0128 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTF10__FXIO1_D10 0x0128 0x0844 0x2 0x2 +#define MX8ULP_PAD_PTF10__LPSPI4_SCK 0x0128 0x0904 0x3 0x3 +#define MX8ULP_PAD_PTF10__LPUART4_TX 0x0128 0x08E4 0x4 0x3 +#define MX8ULP_PAD_PTF10__LPI2C4_HREQ 0x0128 0x08C4 0x5 0x3 +#define MX8ULP_PAD_PTF10__TPM7_CH5 0x0128 0x09AC 0x6 0x1 +#define MX8ULP_PAD_PTF10__I2S4_RX_BCLK 0x0128 0x0000 0x7 0x0 +#define MX8ULP_PAD_PTF10__SDHC1_DQS 0x0128 0x0A84 0x8 0x2 +#define MX8ULP_PAD_PTF10__ENET0_1588_CLKIN 0x0128 0x0AD0 0x9 0x2 +#define MX8ULP_PAD_PTF10__TRACE0_D12 0x0128 0x0000 0xa 0x0 +#define MX8ULP_PAD_PTF10__EPDC0_D13 0x0128 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTF10__DPI0_D13 0x0128 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTF10__DEBUG_MUX0_20 0x0128 0x0000 0xe 0x0 +#define MX8ULP_PAD_PTF10__DEBUG_MUX1_31 0x0128 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTF11__PTF11 0x012C 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTF11__FXIO1_D11 0x012C 0x0848 0x2 0x2 +#define MX8ULP_PAD_PTF11__LPSPI4_PCS0 0x012C 0x08F4 0x3 0x3 +#define MX8ULP_PAD_PTF11__LPUART4_RX 0x012C 0x08E0 0x4 0x3 +#define MX8ULP_PAD_PTF11__TPM4_CLKIN 0x012C 0x081C 0x6 0x2 +#define MX8ULP_PAD_PTF11__I2S4_RX_FS 0x012C 0x0000 0x7 0x0 +#define MX8ULP_PAD_PTF11__SDHC1_RESET_B 0x012C 0x0000 0x8 0x0 +#define MX8ULP_PAD_PTF11__ENET0_1588_TMR0 0x012C 0x0AD4 0x9 0x2 +#define MX8ULP_PAD_PTF11__TRACE0_D11 0x012C 0x0000 0xa 0x0 +#define MX8ULP_PAD_PTF11__EPDC0_D12 0x012C 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTF11__DPI0_D12 0x012C 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTF11__LP_HV_DBG_MUX_27 0x012C 0x0000 0xe 0x0 +#define MX8ULP_PAD_PTF11__DEBUG_MUX1_32 0x012C 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTF12__PTF12 0x0130 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTF12__FXIO1_D12 0x0130 0x084C 0x2 0x2 +#define MX8ULP_PAD_PTF12__LPSPI5_PCS1 0x0130 0x0914 0x3 0x2 +#define MX8ULP_PAD_PTF12__LPUART5_CTS_B 0x0130 0x08E8 0x4 0x3 +#define MX8ULP_PAD_PTF12__LPI2C5_SCL 0x0130 0x08D4 0x5 0x3 +#define MX8ULP_PAD_PTF12__TPM4_CH0 0x0130 0x0804 0x6 0x2 +#define MX8ULP_PAD_PTF12__I2S4_RXD0 0x0130 0x0000 0x7 0x0 +#define MX8ULP_PAD_PTF12__SDHC2_WP 0x0130 0x0ABC 0x8 0x1 +#define MX8ULP_PAD_PTF12__ENET0_1588_TMR1 0x0130 0x0AD8 0x9 0x2 +#define MX8ULP_PAD_PTF12__TRACE0_D10 0x0130 0x0000 0xa 0x0 +#define MX8ULP_PAD_PTF12__EPDC0_D11 0x0130 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTF12__DPI0_D11 0x0130 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTF12__LP_HV_DBG_MUX_28 0x0130 0x0000 0xe 0x0 +#define MX8ULP_PAD_PTF12__DEBUG_MUX1_33 0x0130 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTF13__PTF13 0x0134 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTF13__FXIO1_D13 0x0134 0x0850 0x2 0x2 +#define MX8ULP_PAD_PTF13__LPSPI5_PCS2 0x0134 0x0918 0x3 0x2 +#define MX8ULP_PAD_PTF13__LPUART5_RTS_B 0x0134 0x0000 0x4 0x0 +#define MX8ULP_PAD_PTF13__LPI2C5_SDA 0x0134 0x08D8 0x5 0x3 +#define MX8ULP_PAD_PTF13__TPM4_CH1 0x0134 0x0808 0x6 0x2 +#define MX8ULP_PAD_PTF13__I2S4_RXD1 0x0134 0x0000 0x7 0x0 +#define MX8ULP_PAD_PTF13__SDHC2_CD 0x0134 0x0A8C 0x8 0x1 +#define MX8ULP_PAD_PTF13__ENET0_1588_TMR2 0x0134 0x0ADC 0x9 0x2 +#define MX8ULP_PAD_PTF13__TRACE0_D9 0x0134 0x0000 0xa 0x0 +#define MX8ULP_PAD_PTF13__EPDC0_D10 0x0134 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTF13__DPI0_D10 0x0134 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTF13__DEBUG_MUX0_21 0x0134 0x0000 0xe 0x0 +#define MX8ULP_PAD_PTF13__LP_HV_DBG_MUX_29 0x0134 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTF14__PTF14 0x0138 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTF14__FXIO1_D14 0x0138 0x0854 0x2 0x2 +#define MX8ULP_PAD_PTF14__LPSPI5_PCS3 0x0138 0x091C 0x3 0x2 +#define MX8ULP_PAD_PTF14__LPUART5_TX 0x0138 0x08F0 0x4 0x3 +#define MX8ULP_PAD_PTF14__LPI2C5_HREQ 0x0138 0x08D0 0x5 0x3 +#define MX8ULP_PAD_PTF14__TPM4_CH2 0x0138 0x080C 0x6 0x2 +#define MX8ULP_PAD_PTF14__I2S4_MCLK 0x0138 0x0000 0x7 0x0 +#define MX8ULP_PAD_PTF14__SDHC2_VS 0x0138 0x0000 0x8 0x0 +#define MX8ULP_PAD_PTF14__ENET0_1588_TMR3 0x0138 0x0AE0 0x9 0x2 +#define MX8ULP_PAD_PTF14__TRACE0_D8 0x0138 0x0000 0xa 0x0 +#define MX8ULP_PAD_PTF14__EPDC0_D9 0x0138 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTF14__DPI0_D9 0x0138 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTF14__DEBUG_MUX0_22 0x0138 0x0000 0xe 0x0 +#define MX8ULP_PAD_PTF14__LP_HV_DBG_MUX_30 0x0138 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTF15__PTF15 0x013C 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTF15__FXIO1_D15 0x013C 0x0858 0x2 0x2 +#define MX8ULP_PAD_PTF15__LPUART5_RX 0x013C 0x08EC 0x4 0x3 +#define MX8ULP_PAD_PTF15__TPM4_CH3 0x013C 0x0810 0x6 0x2 +#define MX8ULP_PAD_PTF15__I2S4_TX_BCLK 0x013C 0x0000 0x7 0x0 +#define MX8ULP_PAD_PTF15__SDHC2_D1 0x013C 0x0A9C 0x8 0x3 +#define MX8ULP_PAD_PTF15__ENET0_RXD2 0x013C 0x0B00 0x9 0x2 +#define MX8ULP_PAD_PTF15__TRACE0_D7 0x013C 0x0000 0xa 0x0 +#define MX8ULP_PAD_PTF15__EPDC0_D8 0x013C 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTF15__DPI0_D8 0x013C 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTF15__LP_HV_DBG_MUX_31 0x013C 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTF16__PTF16 0x0140 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTF16__FXIO1_D16 0x0140 0x085C 0x2 0x2 +#define MX8ULP_PAD_PTF16__LPSPI5_SIN 0x0140 0x0924 0x3 0x2 +#define MX8ULP_PAD_PTF16__LPUART6_CTS_B 0x0140 0x09CC 0x4 0x3 +#define MX8ULP_PAD_PTF16__LPI2C6_SCL 0x0140 0x09B8 0x5 0x3 +#define MX8ULP_PAD_PTF16__TPM4_CH4 0x0140 0x0814 0x6 0x2 +#define MX8ULP_PAD_PTF16__I2S4_TX_FS 0x0140 0x0000 0x7 0x0 +#define MX8ULP_PAD_PTF16__SDHC2_D0 0x0140 0x0A98 0x8 0x3 +#define MX8ULP_PAD_PTF16__ENET0_RXD3 0x0140 0x0B04 0x9 0x2 +#define MX8ULP_PAD_PTF16__TRACE0_D6 0x0140 0x0000 0xa 0x0 +#define MX8ULP_PAD_PTF16__EPDC0_D7 0x0140 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTF16__DPI0_D7 0x0140 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTF16__LP_HV_DBG_MUX_32 0x0140 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTF17__PTF17 0x0144 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTF17__FXIO1_D17 0x0144 0x0860 0x2 0x2 +#define MX8ULP_PAD_PTF17__LPSPI5_SOUT 0x0144 0x0928 0x3 0x2 +#define MX8ULP_PAD_PTF17__LPUART6_RTS_B 0x0144 0x0000 0x4 0x0 +#define MX8ULP_PAD_PTF17__LPI2C6_SDA 0x0144 0x09BC 0x5 0x3 +#define MX8ULP_PAD_PTF17__TPM4_CH5 0x0144 0x0818 0x6 0x2 +#define MX8ULP_PAD_PTF17__I2S4_TXD0 0x0144 0x0000 0x7 0x0 +#define MX8ULP_PAD_PTF17__SDHC2_CLK 0x0144 0x0A90 0x8 0x3 +#define MX8ULP_PAD_PTF17__ENET0_RXCLK 0x0144 0x0B0C 0x9 0x2 +#define MX8ULP_PAD_PTF17__TRACE0_D5 0x0144 0x0000 0xa 0x0 +#define MX8ULP_PAD_PTF17__EPDC0_D6 0x0144 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTF17__DPI0_D6 0x0144 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTF17__DEBUG_MUX0_23 0x0144 0x0000 0xe 0x0 +#define MX8ULP_PAD_PTF17__LP_HV_DBG_MUX_33 0x0144 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTF18__PTF18 0x0148 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTF18__FXIO1_D18 0x0148 0x0864 0x2 0x2 +#define MX8ULP_PAD_PTF18__LPSPI5_SCK 0x0148 0x0920 0x3 0x2 +#define MX8ULP_PAD_PTF18__LPUART6_TX 0x0148 0x09D4 0x4 0x3 +#define MX8ULP_PAD_PTF18__LPI2C6_HREQ 0x0148 0x09B4 0x5 0x3 +#define MX8ULP_PAD_PTF18__TPM5_CLKIN 0x0148 0x0838 0x6 0x2 +#define MX8ULP_PAD_PTF18__I2S4_TXD1 0x0148 0x0000 0x7 0x0 +#define MX8ULP_PAD_PTF18__SDHC2_CMD 0x0148 0x0A94 0x8 0x3 +#define MX8ULP_PAD_PTF18__ENET0_TXD2 0x0148 0x0000 0x9 0x0 +#define MX8ULP_PAD_PTF18__TRACE0_D4 0x0148 0x0000 0xa 0x0 +#define MX8ULP_PAD_PTF18__EPDC0_D5 0x0148 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTF18__DPI0_D5 0x0148 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTF19__PTF19 0x014C 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTF19__FXIO1_D19 0x014C 0x0868 0x2 0x2 +#define MX8ULP_PAD_PTF19__LPSPI5_PCS0 0x014C 0x0910 0x3 0x2 +#define MX8ULP_PAD_PTF19__LPUART6_RX 0x014C 0x09D0 0x4 0x3 +#define MX8ULP_PAD_PTF19__TPM5_CH0 0x014C 0x0820 0x6 0x2 +#define MX8ULP_PAD_PTF19__I2S5_RX_BCLK 0x014C 0x0000 0x7 0x0 +#define MX8ULP_PAD_PTF19__SDHC2_D3 0x014C 0x0AA4 0x8 0x3 +#define MX8ULP_PAD_PTF19__ENET0_TXD3 0x014C 0x0000 0x9 0x0 +#define MX8ULP_PAD_PTF19__TRACE0_D3 0x014C 0x0000 0xa 0x0 +#define MX8ULP_PAD_PTF19__EPDC0_D4 0x014C 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTF19__DPI0_D4 0x014C 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTF20__PTF20 0x0150 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTF20__FXIO1_D20 0x0150 0x0870 0x2 0x2 +#define MX8ULP_PAD_PTF20__LPUART7_CTS_B 0x0150 0x09D8 0x4 0x3 +#define MX8ULP_PAD_PTF20__LPI2C7_SCL 0x0150 0x09C4 0x5 0x3 +#define MX8ULP_PAD_PTF20__TPM5_CH1 0x0150 0x0824 0x6 0x2 +#define MX8ULP_PAD_PTF20__I2S5_RX_FS 0x0150 0x0000 0x7 0x0 +#define MX8ULP_PAD_PTF20__SDHC2_D2 0x0150 0x0AA0 0x8 0x3 +#define MX8ULP_PAD_PTF20__ENET0_TXCLK 0x0150 0x0B10 0x9 0x2 +#define MX8ULP_PAD_PTF20__TRACE0_D2 0x0150 0x0000 0xa 0x0 +#define MX8ULP_PAD_PTF20__EPDC0_D3 0x0150 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTF20__DPI0_D3 0x0150 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTF21__PTF21 0x0154 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTF21__FXIO1_D21 0x0154 0x0874 0x2 0x2 +#define MX8ULP_PAD_PTF21__SPDIF_CLK 0x0154 0x0000 0x3 0x0 +#define MX8ULP_PAD_PTF21__LPUART7_RTS_B 0x0154 0x0000 0x4 0x0 +#define MX8ULP_PAD_PTF21__LPI2C7_SDA 0x0154 0x09C8 0x5 0x3 +#define MX8ULP_PAD_PTF21__TPM6_CLKIN 0x0154 0x0994 0x6 0x2 +#define MX8ULP_PAD_PTF21__I2S5_RXD0 0x0154 0x0000 0x7 0x0 +#define MX8ULP_PAD_PTF21__SDHC2_D4 0x0154 0x0AA8 0x8 0x2 +#define MX8ULP_PAD_PTF21__ENET0_CRS 0x0154 0x0AE8 0x9 0x2 +#define MX8ULP_PAD_PTF21__TRACE0_D1 0x0154 0x0000 0xa 0x0 +#define MX8ULP_PAD_PTF21__EPDC0_D2 0x0154 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTF21__DPI0_D2 0x0154 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTF22__PTF22 0x0158 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTF22__FXIO1_D22 0x0158 0x0878 0x2 0x2 +#define MX8ULP_PAD_PTF22__SPDIF_IN0 0x0158 0x0B74 0x3 0x3 +#define MX8ULP_PAD_PTF22__LPUART7_TX 0x0158 0x09E0 0x4 0x3 +#define MX8ULP_PAD_PTF22__LPI2C7_HREQ 0x0158 0x09C0 0x5 0x3 +#define MX8ULP_PAD_PTF22__TPM6_CH0 0x0158 0x097C 0x6 0x2 +#define MX8ULP_PAD_PTF22__I2S5_RXD1 0x0158 0x0000 0x7 0x0 +#define MX8ULP_PAD_PTF22__SDHC2_D5 0x0158 0x0AAC 0x8 0x2 +#define MX8ULP_PAD_PTF22__ENET0_COL 0x0158 0x0AE4 0x9 0x2 +#define MX8ULP_PAD_PTF22__TRACE0_D0 0x0158 0x0000 0xa 0x0 +#define MX8ULP_PAD_PTF22__EPDC0_D1 0x0158 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTF22__DPI0_D1 0x0158 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTF23__PTF23 0x015C 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTF23__FXIO1_D23 0x015C 0x087C 0x2 0x2 +#define MX8ULP_PAD_PTF23__SPDIF_OUT0 0x015C 0x0000 0x3 0x0 +#define MX8ULP_PAD_PTF23__LPUART7_RX 0x015C 0x09DC 0x4 0x3 +#define MX8ULP_PAD_PTF23__I3C2_PUR 0x015C 0x0000 0x5 0x0 +#define MX8ULP_PAD_PTF23__TPM6_CH1 0x015C 0x0980 0x6 0x2 +#define MX8ULP_PAD_PTF23__I2S5_RXD2 0x015C 0x0000 0x7 0x0 +#define MX8ULP_PAD_PTF23__SDHC2_D6 0x015C 0x0AB0 0x8 0x2 +#define MX8ULP_PAD_PTF23__ENET0_TXER 0x015C 0x0000 0x9 0x0 +#define MX8ULP_PAD_PTF23__TRACE0_CLKOUT 0x015C 0x0000 0xa 0x0 +#define MX8ULP_PAD_PTF23__EPDC0_D0 0x015C 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTF23__DPI0_D0 0x015C 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTF24__PTF24 0x0160 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTF24__FXIO1_D24 0x0160 0x0880 0x2 0x2 +#define MX8ULP_PAD_PTF24__SPDIF_IN1 0x0160 0x0B78 0x3 0x3 +#define MX8ULP_PAD_PTF24__I3C2_SCL 0x0160 0x08BC 0x5 0x4 +#define MX8ULP_PAD_PTF24__I2S5_RXD3 0x0160 0x0000 0x7 0x0 +#define MX8ULP_PAD_PTF24__SDHC2_D7 0x0160 0x0AB4 0x8 0x2 +#define MX8ULP_PAD_PTF24__DBI0_WRX 0x0160 0x0000 0xa 0x0 +#define MX8ULP_PAD_PTF24__EPDC0_SDCLK 0x0160 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTF24__DPI0_PCLK 0x0160 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTF24__WUU1_P12 0x0160 0x0000 0xd 0x0 +#define MX8ULP_PAD_PTF25__PTF25 0x0164 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTF25__FXIO1_D25 0x0164 0x0884 0x2 0x2 +#define MX8ULP_PAD_PTF25__SPDIF_OUT1 0x0164 0x0000 0x3 0x0 +#define MX8ULP_PAD_PTF25__I3C2_SDA 0x0164 0x08C0 0x5 0x4 +#define MX8ULP_PAD_PTF25__TPM7_CH5 0x0164 0x09AC 0x6 0x2 +#define MX8ULP_PAD_PTF25__I2S5_MCLK 0x0164 0x0000 0x7 0x0 +#define MX8ULP_PAD_PTF25__SDHC2_DQS 0x0164 0x0AB8 0x8 0x2 +#define MX8ULP_PAD_PTF25__EXT_AUD_MCLK2 0x0164 0x0800 0x9 0x3 +#define MX8ULP_PAD_PTF25__EPDC0_GDSP 0x0164 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTF25__DPI0_VSYNC 0x0164 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTF25__WUU1_P13 0x0164 0x0000 0xd 0x0 +#define MX8ULP_PAD_PTF26__PTF26 0x0168 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTF26__FXIO1_D26 0x0168 0x0888 0x2 0x2 +#define MX8ULP_PAD_PTF26__SPDIF_IN2 0x0168 0x0B7C 0x3 0x3 +#define MX8ULP_PAD_PTF26__TPM7_CLKIN 0x0168 0x09B0 0x6 0x2 +#define MX8ULP_PAD_PTF26__I2S5_TX_BCLK 0x0168 0x0000 0x7 0x0 +#define MX8ULP_PAD_PTF26__SDHC2_RESET_B 0x0168 0x0000 0x8 0x0 +#define MX8ULP_PAD_PTF26__EPDC0_SDLE 0x0168 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTF26__DPI0_HSYNC 0x0168 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTF26__WUU1_P14 0x0168 0x0000 0xd 0x0 +#define MX8ULP_PAD_PTF27__PTF27 0x016C 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTF27__FXIO1_D27 0x016C 0x088C 0x2 0x2 +#define MX8ULP_PAD_PTF27__SPDIF_OUT2 0x016C 0x0000 0x3 0x0 +#define MX8ULP_PAD_PTF27__TPM7_CH0 0x016C 0x0998 0x6 0x2 +#define MX8ULP_PAD_PTF27__I2S5_TX_FS 0x016C 0x0000 0x7 0x0 +#define MX8ULP_PAD_PTF27__SDHC2_WP 0x016C 0x0ABC 0x8 0x2 +#define MX8ULP_PAD_PTF27__EPDC0_SDCE0 0x016C 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTF27__DPI0_DE 0x016C 0x0000 0xc 0x0 +#define MX8ULP_PAD_PTF27__WUU1_P15 0x016C 0x0000 0xd 0x0 +#define MX8ULP_PAD_PTF28__PTF28 0x0170 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTF28__FXIO1_D28 0x0170 0x0890 0x2 0x2 +#define MX8ULP_PAD_PTF28__SPDIF_IN3 0x0170 0x0B80 0x3 0x3 +#define MX8ULP_PAD_PTF28__TPM7_CH1 0x0170 0x099C 0x6 0x2 +#define MX8ULP_PAD_PTF28__I2S5_TXD0 0x0170 0x0000 0x7 0x0 +#define MX8ULP_PAD_PTF28__SDHC2_CD 0x0170 0x0A8C 0x8 0x2 +#define MX8ULP_PAD_PTF28__EPDC0_SDCLK_B 0x0170 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTF28__LP_HV_DBG_MUX_20 0x0170 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTF29__PTF29 0x0174 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTF29__FXIO1_D29 0x0174 0x0894 0x2 0x2 +#define MX8ULP_PAD_PTF29__SPDIF_OUT3 0x0174 0x0000 0x3 0x0 +#define MX8ULP_PAD_PTF29__TPM7_CH2 0x0174 0x09A0 0x6 0x2 +#define MX8ULP_PAD_PTF29__I2S5_TXD1 0x0174 0x0000 0x7 0x0 +#define MX8ULP_PAD_PTF29__SDHC2_VS 0x0174 0x0000 0x8 0x0 +#define MX8ULP_PAD_PTF29__EPDC0_SDCE1 0x0174 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTF29__WDOG3_RST 0x0174 0x0000 0xd 0x0 +#define MX8ULP_PAD_PTF29__LP_HV_DBG_MUX_21 0x0174 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTF30__PTF30 0x0178 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTF30__FXIO1_D30 0x0178 0x089C 0x2 0x2 +#define MX8ULP_PAD_PTF30__TPM7_CH3 0x0178 0x09A4 0x6 0x2 +#define MX8ULP_PAD_PTF30__I2S5_TXD2 0x0178 0x0000 0x7 0x0 +#define MX8ULP_PAD_PTF30__MQS1_LEFT 0x0178 0x0000 0x8 0x0 +#define MX8ULP_PAD_PTF30__EPDC0_SDCE2 0x0178 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTF30__WDOG4_RST 0x0178 0x0000 0xd 0x0 +#define MX8ULP_PAD_PTF30__LP_HV_DBG_MUX_22 0x0178 0x0000 0xf 0x0 +#define MX8ULP_PAD_PTF31__PTF31 0x017C 0x0000 0x1 0x0 +#define MX8ULP_PAD_PTF31__FXIO1_D31 0x017C 0x08A0 0x2 0x2 +#define MX8ULP_PAD_PTF31__TPM7_CH4 0x017C 0x09A8 0x6 0x2 +#define MX8ULP_PAD_PTF31__I2S5_TXD3 0x017C 0x0000 0x7 0x0 +#define MX8ULP_PAD_PTF31__MQS1_RIGHT 0x017C 0x0000 0x8 0x0 +#define MX8ULP_PAD_PTF31__EPDC0_SDCE3 0x017C 0x0000 0xb 0x0 +#define MX8ULP_PAD_PTF31__WDOG5_RST 0x017C 0x0000 0xd 0x0 +#define MX8ULP_PAD_PTF31__LP_HV_DBG_MUX_23 0x017C 0x0000 0xf 0x0 +#define MX8ULP_PAD_BOOT_MODE0__BOOT_MODE0 0x0400 0x0000 0x0 0x0 +#define MX8ULP_PAD_BOOT_MODE1__BOOT_MODE1 0x0404 0x0000 0x0 0x0 + +#endif /* __DTS_IMX8ULP_PINFUNC_H */ diff --git a/arch/arm/dts/imx8ulp.dtsi b/arch/arm/dts/imx8ulp.dtsi new file mode 100644 index 0000000000..cf624c20db --- /dev/null +++ b/arch/arm/dts/imx8ulp.dtsi @@ -0,0 +1,706 @@ +// SPDX-License-Identifier: (GPL-2.0 OR MIT) +/* + * Copyright 2021 NXP + */ + +#include +#include +#include +#include "imx8ulp-pinfunc.h" + +/ { + interrupt-parent = <&gic>; + #address-cells = <2>; + #size-cells = <2>; + + aliases { + gpio0 = &gpiod; + gpio1 = &gpioe; + gpio2 = &gpiof; + serial0 = &lpuart5; + mmc0 = &usdhc0; + mmc1 = &usdhc1; + mmc2 = &usdhc2; + spi0 = &flexspi2; + ethernet0 = &fec; + i2c7 = &lpi2c7; + usbphy0 = &usbphy0; + usb0 = &usbotg0; + usbphy1 = &usbphy1; + usb1 = &usbotg1; + }; + + cpus: cpus { + #address-cells = <2>; + #size-cells = <0>; + + idle-states { + entry-method = "psci"; + + CPU_SLEEP: cpu-sleep { + compatible = "arm,idle-state"; + arm,psci-suspend-param = <0x0010033>; + local-timer-stop; + entry-latency-us = <1000>; + exit-latency-us = <700>; + min-residency-us = <2700>; + wakeup-latency-us = <1500>; + }; + }; + + /* We have 1 clusters with 4 Cortex-A35 cores */ + A35_0: cpu@0 { + device_type = "cpu"; + compatible = "arm,cortex-a35"; + reg = <0x0 0x0>; + enable-method = "psci"; + next-level-cache = <&A35_L2>; + clocks = <&cgc1 IMX8ULP_CLK_A35_DIV>; + }; + + A35_1: cpu@1 { + device_type = "cpu"; + compatible = "arm,cortex-a35"; + reg = <0x0 0x1>; + enable-method = "psci"; + next-level-cache = <&A35_L2>; + clocks = <&cgc1 IMX8ULP_CLK_A35_DIV>; + }; + + A35_L2: l2-cache0 { + compatible = "cache"; + }; + }; + + a35_opp_table: opp-table { + compatible = "operating-points-v2"; + opp-shared; + + opp-504000000 { + opp-hz = /bits/ 64 <504000000>; + opp-microvolt = <800000>; + clock-latency-ns = <150000>; + }; + + opp-744000000 { + opp-hz = /bits/ 64 <744000000>; + opp-microvolt = <900000>; + clock-latency-ns = <150000>; + }; + + opp-1008000000 { + opp-hz = /bits/ 64 <1008000000>; + opp-microvolt = <1000000>; + clock-latency-ns = <150000>; + opp-suspend; + }; + }; + + s400_mu: mu@27020000 { + u-boot,dm-spl; + compatible = "fsl,imx8ulp-mu"; + reg = <0 0x27020000 0 0x10000>; + status = "okay"; + }; + + gic: interrupt-controller@2d400000 { + compatible = "arm,gic-v3"; + reg = <0x0 0x2d400000 0 0x10000>, /* GIC Dist */ + <0x0 0x2d440000 0 0xc0000>; /* GICR (RD_base + SGI_base) */ + #interrupt-cells = <3>; + interrupt-controller; + interrupts = ; + }; + + psci { + compatible = "arm,psci-1.0"; + method = "smc"; + }; + + timer { + compatible = "arm,armv8-timer"; + interrupts = , /* Physical Secure */ + , /* Physical Non-Secure */ + , /* Virtual */ + ; /* Hypervisor */ + }; + + frosc: clock-frosc { + compatible = "fixed-clock"; + clock-frequency = <192000000>; + clock-output-names = "frosc"; + #clock-cells = <0>; + }; + + lposc: clock-lposc { + compatible = "fixed-clock"; + clock-frequency = <1000000>; + clock-output-names = "lposc"; + #clock-cells = <0>; + }; + + rosc: clock-rosc { + compatible = "fixed-clock"; + clock-frequency = <32768>; + clock-output-names = "rosc"; + #clock-cells = <0>; + }; + + sosc: clock-sosc { + compatible = "fixed-clock"; + clock-frequency = <24000000>; + clock-output-names = "sosc"; + #clock-cells = <0>; + }; + + sram@0x2201f000 { + compatible = "mmio-sram"; + reg = <0x0 0x2201f000 0x0 0x1000>; + + #address-cells = <1>; + #size-cells = <1>; + ranges = <0 0x0 0x2201f000 0x1000>; + + /* TODO: split or unify */ + scmi_pd: scmi_pd@0 { + compatible = "arm,scmi-shmem"; + reg = <0x0 0x200>; + }; + }; + + firmware { + scmi { + compatible = "arm,scmi-smc"; + arm,smc-id = <0xc20000fe>; + #address-cells = <1>; + #size-cells = <0>; + shmem = <&scmi_pd>; + + scmi_devpd: protocol@11 { + reg = <0x11>; + #power-domain-cells = <1>; + }; + + scmi_perf: protocol@13 { + reg = <0x13>; + }; + }; + }; + + soc@0 { + compatible = "simple-bus"; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0x0 0x0 0x0 0x80000000>; + + per_bridge3: bus@29000000 { + compatible = "simple-bus"; + reg = <0x29000000 0x800000>; + #address-cells = <1>; + #size-cells = <1>; + ranges; + + edma1: dma-controller@29010000 { + compatible = "fsl,imx8ulp-edma"; + reg = <0x29010000 0x10000>, + <0x29020000 0x10000>, <0x29030000 0x10000>, + <0x29040000 0x10000>, <0x29050000 0x10000>, + <0x29060000 0x10000>, <0x29070000 0x10000>, + <0x29080000 0x10000>, <0x29090000 0x10000>, + <0x290a0000 0x10000>, <0x290b0000 0x10000>, + <0x290c0000 0x10000>, <0x290d0000 0x10000>, + <0x290e0000 0x10000>, <0x290f0000 0x10000>, + <0x29100000 0x10000>, <0x29110000 0x10000>, + <0x29120000 0x10000>, <0x29130000 0x10000>, + <0x29140000 0x10000>, <0x29150000 0x10000>, + <0x29160000 0x10000>, <0x29170000 0x10000>, + <0x29180000 0x10000>, <0x29190000 0x10000>, + <0x291a0000 0x10000>, <0x291b0000 0x10000>, + <0x291c0000 0x10000>, <0x291d0000 0x10000>, + <0x291e0000 0x10000>, <0x291f0000 0x10000>, + <0x29200000 0x10000>, <0x29210000 0x10000>; + #dma-cells = <3>; + dma-channels = <32>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; + interrupt-names = "edma1-chan0-tx", "edma1-chan1-tx", + "edma1-chan2-tx", "edma1-chan3-tx", + "edma1-chan4-tx", "edma1-chan5-tx", + "edma1-chan6-tx", "edma1-chan7-tx", + "edma1-chan8-tx", "edma1-chan9-tx", + "edma1-chan10-tx", "edma1-chan11-tx", + "edma1-chan12-tx", "edma1-chan13-tx", + "edma1-chan14-tx", "edma1-chan15-tx", + "edma1-chan16-tx", "edma1-chan17-tx", + "edma1-chan18-tx", "edma1-chan19-tx", + "edma1-chan20-tx", "edma1-chan21-tx", + "edma1-chan22-tx", "edma1-chan23-tx", + "edma1-chan24-tx", "edma1-chan25-tx", + "edma1-chan26-tx", "edma1-chan27-tx", + "edma1-chan28-tx", "edma1-chan29-tx", + "edma1-chan30-tx", "edma1-chan31-tx"; + clocks = <&pcc3 IMX8ULP_CLK_DMA1_MP>, + <&pcc3 IMX8ULP_CLK_DMA1_CH0>, <&pcc3 IMX8ULP_CLK_DMA1_CH1>, + <&pcc3 IMX8ULP_CLK_DMA1_CH2>, <&pcc3 IMX8ULP_CLK_DMA1_CH3>, + <&pcc3 IMX8ULP_CLK_DMA1_CH4>, <&pcc3 IMX8ULP_CLK_DMA1_CH5>, + <&pcc3 IMX8ULP_CLK_DMA1_CH6>, <&pcc3 IMX8ULP_CLK_DMA1_CH7>, + <&pcc3 IMX8ULP_CLK_DMA1_CH8>, <&pcc3 IMX8ULP_CLK_DMA1_CH9>, + <&pcc3 IMX8ULP_CLK_DMA1_CH10>, <&pcc3 IMX8ULP_CLK_DMA1_CH11>, + <&pcc3 IMX8ULP_CLK_DMA1_CH12>, <&pcc3 IMX8ULP_CLK_DMA1_CH13>, + <&pcc3 IMX8ULP_CLK_DMA1_CH14>, <&pcc3 IMX8ULP_CLK_DMA1_CH15>, + <&pcc3 IMX8ULP_CLK_DMA1_CH16>, <&pcc3 IMX8ULP_CLK_DMA1_CH17>, + <&pcc3 IMX8ULP_CLK_DMA1_CH18>, <&pcc3 IMX8ULP_CLK_DMA1_CH19>, + <&pcc3 IMX8ULP_CLK_DMA1_CH20>, <&pcc3 IMX8ULP_CLK_DMA1_CH21>, + <&pcc3 IMX8ULP_CLK_DMA1_CH22>, <&pcc3 IMX8ULP_CLK_DMA1_CH23>, + <&pcc3 IMX8ULP_CLK_DMA1_CH24>, <&pcc3 IMX8ULP_CLK_DMA1_CH25>, + <&pcc3 IMX8ULP_CLK_DMA1_CH26>, <&pcc3 IMX8ULP_CLK_DMA1_CH27>, + <&pcc3 IMX8ULP_CLK_DMA1_CH28>, <&pcc3 IMX8ULP_CLK_DMA1_CH29>, + <&pcc3 IMX8ULP_CLK_DMA1_CH30>, <&pcc3 IMX8ULP_CLK_DMA1_CH31>; + clock-names = "edma-mp-clk", + "edma1-chan0-clk", "edma1-chan1-clk", + "edma1-chan2-clk", "edma1-chan3-clk", + "edma1-chan4-clk", "edma1-chan5-clk", + "edma1-chan6-clk", "edma1-chan7-clk", + "edma1-chan8-clk", "edma1-chan9-clk", + "edma1-chan10-clk", "edma1-chan11-clk", + "edma1-chan12-clk", "edma1-chan13-clk", + "edma1-chan14-clk", "edma1-chan15-clk", + "edma1-chan16-clk", "edma1-chan17-clk", + "edma1-chan18-clk", "edma1-chan19-clk", + "edma1-chan20-clk", "edma1-chan21-clk", + "edma1-chan22-clk", "edma1-chan23-clk", + "edma1-chan24-clk", "edma1-chan25-clk", + "edma1-chan26-clk", "edma1-chan27-clk", + "edma1-chan28-clk", "edma1-chan29-clk", + "edma1-chan30-clk", "edma1-chan31-clk"; + status = "okay"; + }; + + wdog3: watchdog@292a0000 { + compatible = "fsl,imx8ulp-wdt", "fsl,imx7ulp-wdt"; + reg = <0x292a0000 0x10000>; + interrupts = ; + clocks = <&pcc3 IMX8ULP_CLK_WDOG3>; + assigned-clocks = <&pcc3 IMX8ULP_CLK_WDOG3>; + assigned-clocks-parents = <&cgc1 IMX8ULP_CLK_SOSC_DIV2>; + timeout-sec = <40>; + }; + + cgc1: clock-controller@292c0000 { + compatible = "fsl,imx8ulp-cgc1"; + reg = <0x292c0000 0x10000>; + clocks = <&rosc>, <&sosc>, <&frosc>, <&lposc>; + clock-names = "rosc", "sosc", "frosc", "lposc"; + #clock-cells = <1>; + }; + + pcc3: clock-controller@292d0000 { + compatible = "fsl,imx8ulp-pcc3"; + reg = <0x292d0000 0x10000>; + #clock-cells = <1>; + }; + + tpm5: tpm@29340000 { + compatible = "fsl,imx8ulp-tpm", "fsl,imx7ulp-tpm"; + reg = <0x29340000 0x1000>; + interrupts = ; + clocks = <&pcc3 IMX8ULP_CLK_TPM5>, + <&pcc3 IMX8ULP_CLK_TPM5>; + clock-names = "ipg", "per"; + }; + + lpuart4: serial@29390000 { + compatible = "fsl,imx8ulp-lpuart", "fsl,imx7ulp-lpuart"; + reg = <0x29390000 0x1000>; + interrupts = ; + clocks = <&pcc3 IMX8ULP_CLK_LPUART4>; + clock-names = "ipg"; + status = "disabled"; + }; + + lpuart5: serial@293a0000 { + compatible = "fsl,imx8ulp-lpuart", "fsl,imx7ulp-lpuart"; + reg = <0x293a0000 0x1000>; + clocks = <&pcc3 IMX8ULP_CLK_LPUART5>; + clock-names = "ipg"; + status = "disabled"; + }; + }; + + per_bridge4: bus@29800000 { + compatible = "simple-bus"; + reg = <0x29800000 0x800000>; + #address-cells = <1>; + #size-cells = <1>; + ranges; + + pcc4: clock-controller@29800000 { + compatible = "fsl,imx8ulp-pcc4"; + reg = <0x29800000 0x10000>; + #clock-cells = <1>; + }; + + lpi2c6: lpi2c6@29840000 { + compatible = "fsl,imx8ulp-lpi2c", "fsl,imx7ulp-lpi2c"; + reg = <0x29840000 0x10000>; + interrupts = ; + clocks = <&pcc4 IMX8ULP_CLK_LPI2C6>, + <&pcc4 IMX8ULP_CLK_LPI2C6>; + clock-names = "per", "ipg"; + status = "disabled"; + }; + + lpi2c7: lpi2c7@29850000 { + compatible = "fsl,imx8ulp-lpi2c", "fsl,imx7ulp-lpi2c"; + reg = <0x29850000 0x10000>; + interrupts = ; + clocks = <&pcc4 IMX8ULP_CLK_LPI2C7>, + <&pcc4 IMX8ULP_CLK_LPI2C7>; + clock-names = "per", "ipg"; + status = "disabled"; + }; + + flexspi2: flexspi@29810000 { + #address-cells = <1>; + #size-cells = <0>; + compatible = "nxp,imx8ulp-fspi"; + reg = <0x29810000 0x10000>, + <0x60000000 0xfffffff>; + reg-names = "fspi_base", "fspi_mmap"; + status = "disabled"; + }; + + flexspi2_nand: flexspi2_nand@29810000 { + #address-cells = <1>; + #size-cells = <0>; + compatible = "fsl,imx8-fspi-nand"; + reg = <0x29810000 0x10000>, <0x60000000 0x10000000>; + reg-names = "FlexSPI", "FlexSPI-memory"; + status = "disabled"; + }; + + iomuxc1: pinctrl@298c0000 { + compatible = "fsl,imx8ulp-iomuxc1"; + reg = <0x298c0000 0x10000>; + fsl,mux_mask = <0xf00>; + }; + + usdhc0: mmc@298d0000 { + compatible = "fsl,imx8ulp-usdhc", "fsl,imx7ulp-usdhc"; + reg = <0x298d0000 0x10000>; + interrupts = ; + clocks = <&cgc1 IMX8ULP_CLK_DUMMY>, + <&cgc1 IMX8ULP_CLK_DUMMY>, + <&pcc4 IMX8ULP_CLK_USDHC0>; + clock-names = "ipg", "ahb", "per"; + fsl,tuning-start-tap = <20>; + fsl,tuning-step= <2>; + bus-width = <4>; + status = "disabled"; + }; + + usdhc1: mmc@298e0000 { + compatible = "fsl,imx8ulp-usdhc", "fsl,imx7ulp-usdhc"; + reg = <0x298e0000 0x10000>; + interrupts = ; + clocks = <&cgc1 IMX8ULP_CLK_DUMMY>, + <&cgc1 IMX8ULP_CLK_DUMMY>, + <&pcc4 IMX8ULP_CLK_USDHC1>; + clock-names = "ipg", "ahb", "per"; + fsl,tuning-start-tap = <20>; + fsl,tuning-step= <2>; + bus-width = <4>; + status = "disabled"; + }; + + usdhc2: mmc@298f0000 { + compatible = "fsl,imx8ulp-usdhc", "fsl,imx7ulp-usdhc"; + reg = <0x298f0000 0x10000>; + interrupts = ; + clocks = <&cgc1 IMX8ULP_CLK_DUMMY>, + <&cgc1 IMX8ULP_CLK_DUMMY>, + <&pcc4 IMX8ULP_CLK_USDHC2>; + clock-names = "ipg", "ahb", "per"; + fsl,tuning-start-tap = <20>; + fsl,tuning-step= <2>; + bus-width = <4>; + status = "disabled"; + }; + + usbotg0: usb@29900000 { + compatible = "fsl,imx8ulp-usb", "fsl,imx7ulp-usb", + "fsl,imx27-usb"; + reg = <0x29900000 0x200>; + interrupts = ; + clocks = <&pcc4 IMX8ULP_CLK_USB0>; + fsl,usbphy = <&usbphy0>; + fsl,usbmisc = <&usbmisc0 0>; + ahb-burst-config = <0x0>; + tx-burst-size-dword = <0x8>; + rx-burst-size-dword = <0x8>; + status = "disabled"; + }; + + usbmisc0: usbmisc@29900200 { + #index-cells = <1>; + compatible = "fsl,imx8ulp-usbmisc", "fsl,imx7ulp-usbmisc", + "fsl,imx6q-usbmisc"; + reg = <0x29900200 0x200>; + }; + + usbphy0: usbphy@29910000 { + compatible = "fsl,imx8ulp-usbphy", + "fsl,imx7ulp-usbphy", "fsl,imx23-usbphy"; + reg = <0x29910000 0x1000>; + interrupts = ; + clocks = <&pcc4 IMX8ULP_CLK_USB0_PHY>; + }; + + usbotg1: usb@29920000 { + compatible = "fsl,imx8ulp-usb", "fsl,imx7ulp-usb", + "fsl,imx27-usb"; + reg = <0x29920000 0x200>; + interrupts = ; + clocks = <&pcc4 IMX8ULP_CLK_USB1>; + fsl,usbphy = <&usbphy1>; + fsl,usbmisc = <&usbmisc1 0>; + ahb-burst-config = <0x0>; + tx-burst-size-dword = <0x8>; + rx-burst-size-dword = <0x8>; + status = "disabled"; + }; + + usbmisc1: usbmisc@29920200 { + #index-cells = <1>; + compatible = "fsl,imx8ulp-usbmisc", "fsl,imx7ulp-usbmisc", + "fsl,imx6q-usbmisc"; + reg = <0x29920200 0x200>; + }; + + usbphy1: usbphy@29930000 { + compatible = "fsl,imx8ulp-usbphy", + "fsl,imx7ulp-usbphy", "fsl,imx23-usbphy"; + reg = <0x29930000 0x1000>; + interrupts = ; + clocks = <&pcc4 IMX8ULP_CLK_USB1_PHY>; + }; + + fec: ethernet@29950000 { + compatible = "fsl,imx8ulp-fec", "fsl,imx6sx-fec"; + reg = <0x29950000 0x10000>; + interrupts = ; + clocks = <&pcc4 IMX8ULP_CLK_ENET>, + <&pcc4 IMX8ULP_CLK_ENET>, + <&cgc1 IMX8ULP_CLK_ENETSTAMP_SEL>, + <&pcc4 IMX8ULP_CLK_ENET>, + <&pcc4 IMX8ULP_CLK_ENET>; + clock-names = "ipg", "ahb", "ptp", + "enet_clk_ref", "enet_out"; + fsl,num-tx-queues = <3>; + fsl,num-rx-queues = <3>; + status = "disabled"; + }; + + }; + + gpioe: gpio@2d000000 { + compatible = "fsl,imx7ulp-gpio", "fsl,vf610-gpio"; + reg = <0x2d000080 0x1000 0x2d000040 0x40>; + gpio-controller; + #gpio-cells = <2>; + interrupts = ; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&pcc4 IMX8ULP_CLK_RGPIOE>, + <&pcc4 IMX8ULP_CLK_PCTLE>; + clock-names = "gpio", "port"; + gpio-ranges = <&iomuxc1 0 32 24>; + }; + + gpiof: gpio@2d010000 { + compatible = "fsl,imx7ulp-gpio", "fsl,vf610-gpio"; + reg = <0x2d010080 0x1000 0x2d010040 0x40>; + gpio-controller; + #gpio-cells = <2>; + interrupts = ; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&pcc4 IMX8ULP_CLK_RGPIOF>, + <&pcc4 IMX8ULP_CLK_PCTLF>; + clock-names = "gpio", "port"; + gpio-ranges = <&iomuxc1 0 64 24>; + }; + + per_bridge5: bus@2d800000 { + compatible = "simple-bus"; + reg = <0x2d800000 0x800000>; + #address-cells = <1>; + #size-cells = <1>; + ranges; + + edma2: dma-controller@2d800000 { + compatible = "fsl,imx8ulp-edma"; + reg = <0x2d800000 0x10000>, + <0x2d810000 0x10000>, <0x2d820000 0x10000>, + <0x2d830000 0x10000>, <0x2d840000 0x10000>, + <0x2d850000 0x10000>, <0x2d860000 0x10000>, + <0x2d870000 0x10000>, <0x2d880000 0x10000>, + <0x2d890000 0x10000>, <0x2d8a0000 0x10000>, + <0x2d8b0000 0x10000>, <0x2d8c0000 0x10000>, + <0x2d8d0000 0x10000>, <0x2d8e0000 0x10000>, + <0x2d8f0000 0x10000>, <0x2d900000 0x10000>, + <0x2d910000 0x10000>, <0x2d920000 0x10000>, + <0x2d930000 0x10000>, <0x2d940000 0x10000>, + <0x2d950000 0x10000>, <0x2d960000 0x10000>, + <0x2d970000 0x10000>, <0x2d980000 0x10000>, + <0x2d990000 0x10000>, <0x2d9a0000 0x10000>, + <0x2d9b0000 0x10000>, <0x2d9c0000 0x10000>, + <0x2d9d0000 0x10000>, <0x2d9e0000 0x10000>, + <0x2d9f0000 0x10000>, <0x2da00000 0x10000>; + #dma-cells = <3>; + dma-channels = <32>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; + interrupt-names = "edma2-chan0-tx", "edma2-chan1-tx", + "edma2-chan2-tx", "edma2-chan3-tx", + "edma2-chan4-tx", "edma2-chan5-tx", + "edma2-chan6-tx", "edma2-chan7-tx", + "edma2-chan8-tx", "edma2-chan9-tx", + "edma2-chan10-tx", "edma2-chan11-tx", + "edma2-chan12-tx", "edma2-chan13-tx", + "edma2-chan14-tx", "edma2-chan15-tx", + "edma2-chan16-tx", "edma2-chan17-tx", + "edma2-chan18-tx", "edma2-chan19-tx", + "edma2-chan20-tx", "edma2-chan21-tx", + "edma2-chan22-tx", "edma2-chan23-tx", + "edma2-chan24-tx", "edma2-chan25-tx", + "edma2-chan26-tx", "edma2-chan27-tx", + "edma2-chan28-tx", "edma2-chan29-tx", + "edma2-chan30-tx", "edma2-chan31-tx"; + clocks = <&pcc5 IMX8ULP_CLK_DMA2_MP>, + <&pcc5 IMX8ULP_CLK_DMA2_CH0>, <&pcc5 IMX8ULP_CLK_DMA2_CH1>, + <&pcc5 IMX8ULP_CLK_DMA2_CH2>, <&pcc5 IMX8ULP_CLK_DMA2_CH3>, + <&pcc5 IMX8ULP_CLK_DMA2_CH4>, <&pcc5 IMX8ULP_CLK_DMA2_CH5>, + <&pcc5 IMX8ULP_CLK_DMA2_CH6>, <&pcc5 IMX8ULP_CLK_DMA2_CH7>, + <&pcc5 IMX8ULP_CLK_DMA2_CH8>, <&pcc5 IMX8ULP_CLK_DMA2_CH9>, + <&pcc5 IMX8ULP_CLK_DMA2_CH10>, <&pcc5 IMX8ULP_CLK_DMA2_CH11>, + <&pcc5 IMX8ULP_CLK_DMA2_CH12>, <&pcc5 IMX8ULP_CLK_DMA2_CH13>, + <&pcc5 IMX8ULP_CLK_DMA2_CH14>, <&pcc5 IMX8ULP_CLK_DMA2_CH15>, + <&pcc5 IMX8ULP_CLK_DMA2_CH16>, <&pcc5 IMX8ULP_CLK_DMA2_CH17>, + <&pcc5 IMX8ULP_CLK_DMA2_CH18>, <&pcc5 IMX8ULP_CLK_DMA2_CH19>, + <&pcc5 IMX8ULP_CLK_DMA2_CH20>, <&pcc5 IMX8ULP_CLK_DMA2_CH21>, + <&pcc5 IMX8ULP_CLK_DMA2_CH22>, <&pcc5 IMX8ULP_CLK_DMA2_CH23>, + <&pcc5 IMX8ULP_CLK_DMA2_CH24>, <&pcc5 IMX8ULP_CLK_DMA2_CH25>, + <&pcc5 IMX8ULP_CLK_DMA2_CH26>, <&pcc5 IMX8ULP_CLK_DMA2_CH27>, + <&pcc5 IMX8ULP_CLK_DMA2_CH28>, <&pcc5 IMX8ULP_CLK_DMA2_CH29>, + <&pcc5 IMX8ULP_CLK_DMA2_CH30>, <&pcc5 IMX8ULP_CLK_DMA2_CH31>; + clock-names = "edma-mp-clk", + "edma2-chan0-clk", "edma2-chan1-clk", + "edma2-chan2-clk", "edma2-chan3-clk", + "edma2-chan4-clk", "edma2-chan5-clk", + "edma2-chan6-clk", "edma2-chan7-clk", + "edma2-chan8-clk", "edma2-chan9-clk", + "edma2-chan10-clk", "edma2-chan11-clk", + "edma2-chan12-clk", "edma2-chan13-clk", + "edma2-chan14-clk", "edma2-chan15-clk", + "edma2-chan16-clk", "edma2-chan17-clk", + "edma2-chan18-clk", "edma2-chan19-clk", + "edma2-chan20-clk", "edma2-chan21-clk", + "edma2-chan22-clk", "edma2-chan23-clk", + "edma2-chan24-clk", "edma2-chan25-clk", + "edma2-chan26-clk", "edma2-chan27-clk", + "edma2-chan28-clk", "edma2-chan29-clk", + "edma2-chan30-clk", "edma2-chan31-clk"; + status = "okay"; + }; + + cgc2: clock-controller@2da60000 { + compatible = "fsl,imx8ulp-cgc2"; + reg = <0x2da60000 0x10000>; + clocks = <&sosc>, <&frosc>; + clock-names = "sosc", "frosc"; + #clock-cells = <1>; + }; + + pcc5: clock-controller@2da70000 { + compatible = "fsl,imx8ulp-pcc5"; + reg = <0x2da70000 0x10000>; + #clock-cells = <1>; + }; + }; + + gpiod: gpio@2e200000 { + compatible = "fsl,imx7ulp-gpio", "fsl,vf610-gpio"; + reg = <0x2e200080 0x1000 0x2e200040 0x40>; + gpio-controller; + #gpio-cells = <2>; + interrupts = ; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&pcc5 IMX8ULP_CLK_RGPIOD>, + <&pcc5 IMX8ULP_CLK_RGPIOD>; + clock-names = "gpio", "port"; + gpio-ranges = <&iomuxc1 0 0 24>; + }; + }; +}; diff --git a/include/dt-bindings/clock/imx8ulp-clock.h b/include/dt-bindings/clock/imx8ulp-clock.h new file mode 100644 index 0000000000..49166a1830 --- /dev/null +++ b/include/dt-bindings/clock/imx8ulp-clock.h @@ -0,0 +1,247 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright 2020 NXP + */ + +#ifndef __DT_BINDINGS_CLOCK_IMX8ULP_H +#define __DT_BINDINGS_CLOCK_IMX8ULP_H + +#define IMX8ULP_CLK_DUMMY 0 +#define IMX8ULP_CLK_ROSC 1 +#define IMX8ULP_CLK_FROSC 2 +#define IMX8ULP_CLK_LPOSC 3 +#define IMX8ULP_CLK_SOSC 4 +#define IMX8ULP_CLK_SPLL2 5 +#define IMX8ULP_CLK_SPLL3 6 +#define IMX8ULP_CLK_A35_SEL 7 +#define IMX8ULP_CLK_A35_DIV 8 +#define IMX8ULP_CLK_SPLL2_PRE_SEL 9 +#define IMX8ULP_CLK_SPLL3_PRE_SEL 10 +#define IMX8ULP_CLK_SPLL3_PFD0 11 +#define IMX8ULP_CLK_SPLL3_PFD1 12 +#define IMX8ULP_CLK_SPLL3_PFD2 13 +#define IMX8ULP_CLK_SPLL3_PFD3 14 +#define IMX8ULP_CLK_SPLL3_PFD0_DIV1 15 +#define IMX8ULP_CLK_SPLL3_PFD0_DIV2 16 +#define IMX8ULP_CLK_SPLL3_PFD1_DIV1 17 +#define IMX8ULP_CLK_SPLL3_PFD1_DIV2 18 +#define IMX8ULP_CLK_SPLL3_PFD2_DIV1 19 +#define IMX8ULP_CLK_SPLL3_PFD2_DIV2 20 +#define IMX8ULP_CLK_SPLL3_PFD3_DIV1 21 +#define IMX8ULP_CLK_SPLL3_PFD3_DIV2 22 +#define IMX8ULP_CLK_NIC_SEL 23 +#define IMX8ULP_CLK_NIC_AD_DIVPLAT 24 +#define IMX8ULP_CLK_NIC_PER_DIVPLAT 25 +#define IMX8ULP_CLK_XBAR_SEL 26 +#define IMX8ULP_CLK_XBAR_AD_DIVPLAT 27 +#define IMX8ULP_CLK_XBAR_DIVBUS 28 +#define IMX8ULP_CLK_XBAR_AD_SLOW 29 +#define IMX8ULP_CLK_SOSC_DIV1 30 +#define IMX8ULP_CLK_SOSC_DIV2 31 +#define IMX8ULP_CLK_SOSC_DIV3 32 +#define IMX8ULP_CLK_FROSC_DIV1 33 +#define IMX8ULP_CLK_FROSC_DIV2 34 +#define IMX8ULP_CLK_FROSC_DIV3 35 +#define IMX8ULP_CLK_SPLL3_VCODIV 36 +#define IMX8ULP_CLK_SPLL3_PFD0_DIV1_GATE 37 +#define IMX8ULP_CLK_SPLL3_PFD0_DIV2_GATE 38 +#define IMX8ULP_CLK_SPLL3_PFD1_DIV1_GATE 39 +#define IMX8ULP_CLK_SPLL3_PFD1_DIV2_GATE 40 +#define IMX8ULP_CLK_SPLL3_PFD2_DIV1_GATE 41 +#define IMX8ULP_CLK_SPLL3_PFD2_DIV2_GATE 42 +#define IMX8ULP_CLK_SPLL3_PFD3_DIV1_GATE 43 +#define IMX8ULP_CLK_SPLL3_PFD3_DIV2_GATE 44 +#define IMX8ULP_CLK_SOSC_DIV1_GATE 45 +#define IMX8ULP_CLK_SOSC_DIV2_GATE 46 +#define IMX8ULP_CLK_SOSC_DIV3_GATE 47 +#define IMX8ULP_CLK_FROSC_DIV1_GATE 48 +#define IMX8ULP_CLK_FROSC_DIV2_GATE 49 +#define IMX8ULP_CLK_FROSC_DIV3_GATE 50 +#define IMX8ULP_CLK_ENETSTAMP_SEL 51 +#define IMX8ULP_CLK_SAI4_SEL 52 +#define IMX8ULP_CLK_SAI5_SEL 53 +#define IMX8ULP_CLK_AUD_CLK1 54 +#define IMX8ULP_CLK_ARM 55 + +#define IMX8ULP_CLK_CGC1_END 56 + +#define IMX8ULP_CLK_PLL4_PRE_SEL 0 +#define IMX8ULP_CLK_PLL4 1 +#define IMX8ULP_CLK_PLL4_VCODIV 2 +#define IMX8ULP_CLK_DDR_SEL 3 +#define IMX8ULP_CLK_DDR_DIV 4 +#define IMX8ULP_CLK_LPAV_AXI_SEL 5 +#define IMX8ULP_CLK_LPAV_AXI_DIV 6 +#define IMX8ULP_CLK_LPAV_AHB_DIV 7 +#define IMX8ULP_CLK_LPAV_BUS_DIV 8 +#define IMX8ULP_CLK_PLL4_PFD0 9 +#define IMX8ULP_CLK_PLL4_PFD1 10 +#define IMX8ULP_CLK_PLL4_PFD2 11 +#define IMX8ULP_CLK_PLL4_PFD3 12 +#define IMX8ULP_CLK_PLL4_PFD0_DIV1_GATE 13 +#define IMX8ULP_CLK_PLL4_PFD0_DIV2_GATE 14 +#define IMX8ULP_CLK_PLL4_PFD1_DIV1_GATE 15 +#define IMX8ULP_CLK_PLL4_PFD1_DIV2_GATE 16 +#define IMX8ULP_CLK_PLL4_PFD2_DIV1_GATE 17 +#define IMX8ULP_CLK_PLL4_PFD2_DIV2_GATE 18 +#define IMX8ULP_CLK_PLL4_PFD3_DIV1_GATE 19 +#define IMX8ULP_CLK_PLL4_PFD3_DIV2_GATE 20 +#define IMX8ULP_CLK_PLL4_PFD0_DIV1 21 +#define IMX8ULP_CLK_PLL4_PFD0_DIV2 22 +#define IMX8ULP_CLK_PLL4_PFD1_DIV1 23 +#define IMX8ULP_CLK_PLL4_PFD1_DIV2 24 +#define IMX8ULP_CLK_PLL4_PFD2_DIV1 25 +#define IMX8ULP_CLK_PLL4_PFD2_DIV2 26 +#define IMX8ULP_CLK_PLL4_PFD3_DIV1 27 +#define IMX8ULP_CLK_PLL4_PFD3_DIV2 28 +#define IMX8ULP_CLK_CGC2_SOSC_DIV1_GATE 29 +#define IMX8ULP_CLK_CGC2_SOSC_DIV2_GATE 30 +#define IMX8ULP_CLK_CGC2_SOSC_DIV3_GATE 31 +#define IMX8ULP_CLK_CGC2_SOSC_DIV1 32 +#define IMX8ULP_CLK_CGC2_SOSC_DIV2 33 +#define IMX8ULP_CLK_CGC2_SOSC_DIV3 34 +#define IMX8ULP_CLK_CGC2_FROSC_DIV1_GATE 35 +#define IMX8ULP_CLK_CGC2_FROSC_DIV2_GATE 36 +#define IMX8ULP_CLK_CGC2_FROSC_DIV3_GATE 37 +#define IMX8ULP_CLK_CGC2_FROSC_DIV1 38 +#define IMX8ULP_CLK_CGC2_FROSC_DIV2 39 +#define IMX8ULP_CLK_CGC2_FROSC_DIV3 40 +#define IMX8ULP_CLK_AUD_CLK2 41 +#define IMX8ULP_CLK_SAI6_SEL 42 +#define IMX8ULP_CLK_SAI7_SEL 43 +#define IMX8ULP_CLK_SPDIF_SEL 44 + +#define IMX8ULP_CLK_CGC2_END 45 + +/* PCC3 */ +#define IMX8ULP_CLK_WDOG3 0 +#define IMX8ULP_CLK_WDOG4 1 +#define IMX8ULP_CLK_LPIT1 2 +#define IMX8ULP_CLK_TPM4 3 +#define IMX8ULP_CLK_TPM5 4 +#define IMX8ULP_CLK_FLEXIO1 5 +#define IMX8ULP_CLK_I3C2 6 +#define IMX8ULP_CLK_LPI2C4 7 +#define IMX8ULP_CLK_LPI2C5 8 +#define IMX8ULP_CLK_LPUART4 9 +#define IMX8ULP_CLK_LPUART5 10 +#define IMX8ULP_CLK_LPSPI4 11 +#define IMX8ULP_CLK_LPSPI5 12 +#define IMX8ULP_CLK_DMA1_MP 13 +#define IMX8ULP_CLK_DMA1_CH0 14 +#define IMX8ULP_CLK_DMA1_CH1 15 +#define IMX8ULP_CLK_DMA1_CH2 16 +#define IMX8ULP_CLK_DMA1_CH3 17 +#define IMX8ULP_CLK_DMA1_CH4 18 +#define IMX8ULP_CLK_DMA1_CH5 19 +#define IMX8ULP_CLK_DMA1_CH6 20 +#define IMX8ULP_CLK_DMA1_CH7 21 +#define IMX8ULP_CLK_DMA1_CH8 22 +#define IMX8ULP_CLK_DMA1_CH9 23 +#define IMX8ULP_CLK_DMA1_CH10 24 +#define IMX8ULP_CLK_DMA1_CH11 25 +#define IMX8ULP_CLK_DMA1_CH12 26 +#define IMX8ULP_CLK_DMA1_CH13 27 +#define IMX8ULP_CLK_DMA1_CH14 28 +#define IMX8ULP_CLK_DMA1_CH15 29 +#define IMX8ULP_CLK_DMA1_CH16 30 +#define IMX8ULP_CLK_DMA1_CH17 31 +#define IMX8ULP_CLK_DMA1_CH18 32 +#define IMX8ULP_CLK_DMA1_CH19 33 +#define IMX8ULP_CLK_DMA1_CH20 34 +#define IMX8ULP_CLK_DMA1_CH21 35 +#define IMX8ULP_CLK_DMA1_CH22 36 +#define IMX8ULP_CLK_DMA1_CH23 37 +#define IMX8ULP_CLK_DMA1_CH24 38 +#define IMX8ULP_CLK_DMA1_CH25 39 +#define IMX8ULP_CLK_DMA1_CH26 40 +#define IMX8ULP_CLK_DMA1_CH27 41 +#define IMX8ULP_CLK_DMA1_CH28 42 +#define IMX8ULP_CLK_DMA1_CH29 43 +#define IMX8ULP_CLK_DMA1_CH30 44 +#define IMX8ULP_CLK_DMA1_CH31 45 + +#define IMX8ULP_CLK_PCC3_END 46 + +#define IMX8ULP_CLK_FLEXSPI2 0 +#define IMX8ULP_CLK_TPM6 1 +#define IMX8ULP_CLK_TPM7 2 +#define IMX8ULP_CLK_LPI2C6 3 +#define IMX8ULP_CLK_LPI2C7 4 +#define IMX8ULP_CLK_LPUART6 5 +#define IMX8ULP_CLK_LPUART7 6 +#define IMX8ULP_CLK_SAI4 7 +#define IMX8ULP_CLK_SAI5 8 +#define IMX8ULP_CLK_PCTLE 9 +#define IMX8ULP_CLK_PCTLF 10 +#define IMX8ULP_CLK_USDHC0 11 +#define IMX8ULP_CLK_USDHC1 12 +#define IMX8ULP_CLK_USDHC2 13 +#define IMX8ULP_CLK_USB0 14 +#define IMX8ULP_CLK_USB0_PHY 15 +#define IMX8ULP_CLK_USB1 16 +#define IMX8ULP_CLK_USB1_PHY 17 +#define IMX8ULP_CLK_USB_XBAR 18 +#define IMX8ULP_CLK_ENET 19 +#define IMX8ULP_CLK_SFA1 20 +#define IMX8ULP_CLK_RGPIOE 21 +#define IMX8ULP_CLK_RGPIOF 22 + +#define IMX8ULP_CLK_PCC4_END 23 + +#define IMX8ULP_CLK_TPM8 0 +#define IMX8ULP_CLK_SAI6 1 +#define IMX8ULP_CLK_SAI7 2 +#define IMX8ULP_CLK_SPDIF 3 +#define IMX8ULP_CLK_ISI 4 +#define IMX8ULP_CLK_CSI_REGS 5 +#define IMX8ULP_CLK_PCTLD 6 +#define IMX8ULP_CLK_CSI 7 +#define IMX8ULP_CLK_DSI 8 +#define IMX8ULP_CLK_WDOG5 9 +#define IMX8ULP_CLK_EPDC 10 +#define IMX8ULP_CLK_PXP 11 +#define IMX8ULP_CLK_SFA2 12 +#define IMX8ULP_CLK_GPU2D 13 +#define IMX8ULP_CLK_GPU3D 14 +#define IMX8ULP_CLK_DC_NANO 15 +#define IMX8ULP_CLK_CSI_CLK_UI 16 +#define IMX8ULP_CLK_CSI_CLK_ESC 17 +#define IMX8ULP_CLK_RGPIOD 18 +#define IMX8ULP_CLK_DMA2_MP 19 +#define IMX8ULP_CLK_DMA2_CH0 20 +#define IMX8ULP_CLK_DMA2_CH1 21 +#define IMX8ULP_CLK_DMA2_CH2 22 +#define IMX8ULP_CLK_DMA2_CH3 23 +#define IMX8ULP_CLK_DMA2_CH4 24 +#define IMX8ULP_CLK_DMA2_CH5 25 +#define IMX8ULP_CLK_DMA2_CH6 26 +#define IMX8ULP_CLK_DMA2_CH7 27 +#define IMX8ULP_CLK_DMA2_CH8 28 +#define IMX8ULP_CLK_DMA2_CH9 29 +#define IMX8ULP_CLK_DMA2_CH10 30 +#define IMX8ULP_CLK_DMA2_CH11 31 +#define IMX8ULP_CLK_DMA2_CH12 32 +#define IMX8ULP_CLK_DMA2_CH13 33 +#define IMX8ULP_CLK_DMA2_CH14 34 +#define IMX8ULP_CLK_DMA2_CH15 35 +#define IMX8ULP_CLK_DMA2_CH16 36 +#define IMX8ULP_CLK_DMA2_CH17 37 +#define IMX8ULP_CLK_DMA2_CH18 38 +#define IMX8ULP_CLK_DMA2_CH19 39 +#define IMX8ULP_CLK_DMA2_CH20 40 +#define IMX8ULP_CLK_DMA2_CH21 41 +#define IMX8ULP_CLK_DMA2_CH22 42 +#define IMX8ULP_CLK_DMA2_CH23 43 +#define IMX8ULP_CLK_DMA2_CH24 44 +#define IMX8ULP_CLK_DMA2_CH25 45 +#define IMX8ULP_CLK_DMA2_CH26 46 +#define IMX8ULP_CLK_DMA2_CH27 47 +#define IMX8ULP_CLK_DMA2_CH28 48 +#define IMX8ULP_CLK_DMA2_CH29 49 +#define IMX8ULP_CLK_DMA2_CH30 50 +#define IMX8ULP_CLK_DMA2_CH31 51 + +#define IMX8ULP_CLK_PCC5_END 52 + +#endif From patchwork Mon Apr 12 12:13:06 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Peng Fan \(OSS\)" X-Patchwork-Id: 419546 Delivered-To: patch@linaro.org Received: by 2002:a02:c4d2:0:0:0:0:0 with SMTP id h18csp1661976jaj; Mon, 12 Apr 2021 04:47:25 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzzdXCfU8k+szJgt9Bx0Ma8vhXWa7j8dXl8+1Hidfpg8acFp+J4CfJqmjaRmpUJbdlcOvhm X-Received: by 2002:a50:c3c2:: with SMTP id i2mr29002132edf.23.1618228044809; Mon, 12 Apr 2021 04:47:24 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1618228044; cv=pass; d=google.com; s=arc-20160816; b=D1o1EGQcIqQDN0JL3CY2uWgYYppsF3b6Rsi8uYuLe3vLYwNah4UOF3m7YtSJmW9a4X cCZALWRHhAY/irTcgzJzTbVzxpmi0ruaBtbFFd+gQ3SbAMGfo6CWsYC3da8/W27pmcfm fzI5gGWPh+jSBfVeRa2E/8e/UZ374aPelTFkyViI/6jVCU/+pZAKMWTrIaTJWSuWF65w yfnskTSTP3hPm9clC8Zs5eTwHnlhgLVONdW2hAoUIrXCNoVHNYdkzC9wN3thc6no9ALP lQcibORlrbezHVpeysR0MoPZ75v0sj8GfZt6JD4VpiaFNHJP59yaQmc4zu1LeizPgEe6 sCTQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:mime-version :content-transfer-encoding:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature; bh=nUf2Bo4Wzcu8h+ljGNMbI1Jn0c9ZvU8TuO0P4yMeoYo=; b=i07lf7VNgLEru/xu1c3PkSvkw7RwdftJjpYLo2G15F1GHK2ucQE4VepdeGdtdd8YPo xefYlCREqKzSqNwz/+uFQEfJr53WDT7/m2v7Z2RHA56v/aR6ja4dnE5Bb9XdLTmS6HjQ zyhL/LFcOoOvKTJF3uZFe9C5jkgW9TxZfBuV0sfjnBrnyrMGPdjXGrXYvQY3TOlb9m0G 4tmJzclaog2UPE4wABKvOoUJCuWx0KSoqjsjTCRWX9w94/OHsulbuT4rRBkWi4KpZOj0 yqbCkBtdP0/sFvZd/UcpH5QDUvZzaCKxPf1clxrOeb3kJ7jNoCdHcHahIePqMiCzdb2B FtNw== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@NXP1.onmicrosoft.com header.s=selector2-NXP1-onmicrosoft-com header.b=YVUhtHov; arc=pass (i=1 spf=pass spfdomain=oss.nxp.com dkim=pass dkdomain=oss.nxp.com dmarc=pass fromdomain=oss.nxp.com); spf=pass (google.com: domain of u-boot-bounces@lists.denx.de designates 2a01:238:438b:c500:173d:9f52:ddab:ee01 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Return-Path: Received: from phobos.denx.de (phobos.denx.de. [2a01:238:438b:c500:173d:9f52:ddab:ee01]) by mx.google.com with ESMTPS id dv21si7836788ejb.434.2021.04.12.04.47.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Apr 2021 04:47:24 -0700 (PDT) Received-SPF: pass (google.com: domain of u-boot-bounces@lists.denx.de designates 2a01:238:438b:c500:173d:9f52:ddab:ee01 as permitted sender) client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; Authentication-Results: mx.google.com; dkim=pass header.i=@NXP1.onmicrosoft.com header.s=selector2-NXP1-onmicrosoft-com header.b=YVUhtHov; arc=pass (i=1 spf=pass spfdomain=oss.nxp.com dkim=pass dkdomain=oss.nxp.com dmarc=pass fromdomain=oss.nxp.com); spf=pass (google.com: domain of u-boot-bounces@lists.denx.de designates 2a01:238:438b:c500:173d:9f52:ddab:ee01 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 5F93A82079; Mon, 12 Apr 2021 13:46:47 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=oss.nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="YVUhtHov"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 24D9481FD1; Mon, 12 Apr 2021 13:46:38 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER,SPF_HELO_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on0613.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe0d::613]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 317AE81FD1 for ; Mon, 12 Apr 2021 13:43:08 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=oss.nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=peng.fan@oss.nxp.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SZ1W3Uhu3U6CWZq5D2mrcj35FPxkisaTd/zQGMZZXQtZrLHiwInW/I1wWNGv03yA/eyx/xbAWHp59JVotFJlJx6FQ1uvqEmtQo3Iix/lg4XEjd/4ug46vwOaU1Vy6OCYMgetAlLAZhEwj1kES4oSxBScHwlfwG6tflMkVRM99TttMmffIMDIErzlq7n6uenw4xe+ayaK+ISzYoRvs6nvKA1xTQ6C0cyHqEnwLvqDlLJkJ6JvI5xop9cPokleNaUHlx1ZSc6AlD2FB2zC1O/E3Xxaab4ZS/tj4aaJ2s9Oe3m5y0y+K60YMoXawK4xjf8Tdwcmxr3U71Q8wDoOaexTPw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=nUf2Bo4Wzcu8h+ljGNMbI1Jn0c9ZvU8TuO0P4yMeoYo=; b=OFlE0vNm9ZjWbVhIhSbwVLBE+j8+36s2c/lfbRqHQqp5obMCeGt7tykyGUc9q3NQkOzILsQMO8mmgCXNjuwn1YE1qDdYXOUZCO85RaYDxehvNAVcRnpLsZBA0xmnJzME14FOlneBd0M8tgopu7mU3RASB1hqTVU/UHUojz4msvaY0sIXYSmCTgFAiLImlEuhBaqclnZ19IXoCapF5mzwlp37h5lUTMOdPkrgWZDb2mHkpHpDToOkGCiDSjJEqUMLgXxnNXCp9FgRkHCgi0b7qIQ9dsI6uZACMgD089J8eQ8GfGdr6+PX/eVd1GWq3glewTKrUAZsLg0JK5t8FNhr6Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector2-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=nUf2Bo4Wzcu8h+ljGNMbI1Jn0c9ZvU8TuO0P4yMeoYo=; b=YVUhtHovRFWlInDU+JLtgz2X9VZpPhuRZIBvWlRTovTaoqkqzYfR6NjHsS1DorskRRdjak2JQvNXa7oC+QoWfcX5zM5mEv0je2DwJ4PKl+lypPmB334fuH8OgpSFvuwJ5nnp6fblvhypII8noHTljHzQkRzOVkNzwAFDUfTG368= Authentication-Results: denx.de; dkim=none (message not signed) header.d=none; denx.de; dmarc=none action=none header.from=oss.nxp.com; Received: from DB6PR0402MB2760.eurprd04.prod.outlook.com (2603:10a6:4:a1::14) by DBBPR04MB7595.eurprd04.prod.outlook.com (2603:10a6:10:20d::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.22; Mon, 12 Apr 2021 11:43:05 +0000 Received: from DB6PR0402MB2760.eurprd04.prod.outlook.com ([fe80::c57a:6964:f72c:21cf]) by DB6PR0402MB2760.eurprd04.prod.outlook.com ([fe80::c57a:6964:f72c:21cf%11]) with mapi id 15.20.3999.032; Mon, 12 Apr 2021 11:43:05 +0000 From: "Peng Fan (OSS)" To: sbabic@denx.de, festevam@gmail.com Cc: u-boot@lists.denx.de, uboot-imx@nxp.com, Peng Fan Subject: [PATCH 37/37] arm: imx: add i.MX8ULP EVK support Date: Mon, 12 Apr 2021 20:13:06 +0800 Message-Id: <20210412121306.11484-38-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20210412121306.11484-1-peng.fan@oss.nxp.com> References: <20210412121306.11484-1-peng.fan@oss.nxp.com> X-Originating-IP: [119.31.174.71] X-ClientProxiedBy: HK2PR0401CA0009.apcprd04.prod.outlook.com (2603:1096:202:2::19) To DB6PR0402MB2760.eurprd04.prod.outlook.com (2603:10a6:4:a1::14) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from linux-1xn6.ap.freescale.net (119.31.174.71) by HK2PR0401CA0009.apcprd04.prod.outlook.com (2603:1096:202:2::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.16 via Frontend Transport; Mon, 12 Apr 2021 11:43:03 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a71ff658-8076-4650-487a-08d8fda82284 X-MS-TrafficTypeDiagnostic: DBBPR04MB7595: X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:369; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: LZaN0CXy1XiHfd5fIWrKbQ+b6SizRkFLbzoqdx4hBzulCuij8zt+IQiLa7qY+3g1T3HTLoVUi1w+8OXD+z6h6GWF1v09Xb5X0pIxP1tCxsJ8sgb3J1h7WBUoj9ymknbpRa2+xSJlzkDSIHgxszrinbh3VpitHuo0fZ7+kwceCOpSB3gn+RkviYRYN2q/dyqdnvgGa7X7pvgFBBitexNIAyYxQ+HafrvhuIAnlKXYOercgbM9V4Ob7kn4EjM6zBOsQoo/1YoUYpV4A23r9iASN55qBwR6eKgsixq6U5Er7k1ghrLegjFZrTKOffgTj6i1L+UnEz0JKrJVKQ/6yxx76VbuwpaNvxSfbk58d73rN9SXDOTmWwSA2LPR2ot9njBFKZkKzSLew/XUwkmbmuy6yhlWDkZTDHzpTE7Xq32ElJVDL/nSeIMbPcDs26PheBwm3lMkph9+Hycg2w//yzrwHUoPZTHIq36mIyKULyieLL68vVHC3dlXlr3iBrOxO+usZOAEcQWsEyLQ45Mt9X/omYMkIuLUnVATm3h2kxEf525dx+9NRadU/jWOVKCWs+o4B8eZPk/vA/eb8noKlurkx45aBE9t5xs3xSm15+oHwVfBcUSesMzPuH6L9mSNcOR0CTrHBfuaYG/0xUoMZjr3DgH174BjmgNqy0v6vtAb6v6HamLoZSwW4rfP0Cnmis2YXGM8n+/fHlIk3889B1bjAg== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB6PR0402MB2760.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(396003)(366004)(136003)(376002)(346002)(39860400002)(38100700002)(4326008)(6506007)(38350700002)(316002)(26005)(2616005)(86362001)(186003)(956004)(52116002)(478600001)(30864003)(2906002)(8676002)(1076003)(6512007)(83380400001)(66476007)(5660300002)(66556008)(8936002)(16526019)(66946007)(6486002)(579004)(559001)(414714003)(473944003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: ILgCVrtaLclCc1A6YAhCNutaCchQVBcd0pdsMoEjWdiWAXWb5R+MPxkcxd3DxQ4AzUGfVz53e3nDL3VxPbACV7UffojjZn2hTzfZeWDAP1DO0KvC3rg7pqLLZfJ+Nb1iwNWI429GP0RAcSDxdwQGez17KR2/zNbcgGEmDhULYjN94YCXmWQvXEy2BjQ5Es8stCEhc08VE3FgXx/bY9sfbqN+slhFPznVRI2819ihEe5j917iEPLcctkwoR0g4nqKU+W5LuJqhWhVYHWZFXGoUNA1LvYZjx4+4BsjHoZqcsRbbdPgK7aLnDQGX2RQJnnKiCc4FyM44NfvyExwttVJPrpxYl8vezDEG9BZ+iF6ZiRLvlUhHlKu0TQkQJ/khMOFf4z3S5XcIdWhhenKsJ4itv2dxsHZkvfC0Y5FyCakKKQrYl91gA7kKEsAgFmTp+0aZ6qCLJf8vflwZxr6UA1qyNIw26DPE4/FncuVqKLWq7OvIb7ewZCnhYStbgNvbC9fLCVU07LYPia3brkV1Z2tvGwQDLkzDTHAcbF1yeXi6FqeK0nZEGK5GOy4K2E83sfbPAiU4Pbo9kw2QR7ipSw5t5CDmsHAMAJXuohtlonUIi49HSJDuugXU8IVWmglALvNAFvO+3SWk3EecrCkCfF1Iv0twb8d9iuiXCAOEw1Oy8/dYBBlFlCdrmnf7OHWavsHQJYySweF4qkDYnxywIpDg9Ps1Hqxpte7mHOrHcwQqkcjrACfuThL2IOUnJlxEBxf7NgmkLLy/3lzdlS0Jp9AkCFI4SwTiQCY/OBkTMeEObLO1sBwqfvIki4wv7rBOmsej0Y++i7F19lec0c5rm6cgvx7MhZygvt/JcfaAecvywb+jtm7tZaqRRpyZ4o+1XvzWCY48WmgUVU5NuyImZqQpkNfUaLHIY2gcSZ841ab+8NI6S3ACRt2wwodzPB29zOitTh8OzIPj+DkK0IX9ZHBdxv0WNw/FpxOAK6XFXFp76mB2jO6Fq7w1atmu9aKH9epPhnftZ1tzXolF2wtGXvjaw4nkMr/BZ/U4rM6vb9aoBl2Z0Xzy82WadLMb6gVyfW9ohueLv5zcaH0PXu/XmSLYjUwjlG0i54dcbwBYWhdCHRUjclLAAz1o8sVUERX0RlD0vIoaVFpysXc5vogvBrRHX23KK0WiscOrEehsZEEgKI2EDaKwbmhTadTU0W3HgrDVw8XNhT7uG3hG3rbx8ETZ2e0Z4Pt34L61vomjC5+IOINpR6sp7xGVq2Eq+Qbte4E7ueJCdHxPpdQ6dsw97jpLsCdjDyj+6FPtxxPtmi0HWvsG0JJd+UNRFCtio0ndi24 X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: a71ff658-8076-4650-487a-08d8fda82284 X-MS-Exchange-CrossTenant-AuthSource: DB6PR0402MB2760.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2021 11:43:05.0921 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: vHME/pqkrKlUle0v5I6Ql3C6OPC1lHAgVjkkzYBMu/+QKVkYMQR+0EpIBNoNdfXQNDfg1FXKk/HAFEA09G2I8Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7595 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.4 at phobos.denx.de X-Virus-Status: Clean From: Peng Fan Add i.MX8ULP EVK basic support, support SD/I2C/ENET/LPUART Note: upower API currently not included. Signed-off-by: Peng Fan --- arch/arm/dts/imx8ulp-emulator-u-boot.dtsi | 32 + arch/arm/dts/imx8ulp-emulator.dts | 93 + arch/arm/dts/imx8ulp-evk-u-boot.dtsi | 32 + arch/arm/dts/imx8ulp-evk.dts | 204 +++ arch/arm/mach-imx/imx8ulp/Kconfig | 7 + board/freescale/imx8ulp_evk/Kconfig | 14 + board/freescale/imx8ulp_evk/MAINTAINERS | 6 + board/freescale/imx8ulp_evk/Makefile | 7 + board/freescale/imx8ulp_evk/ddr_init.c | 207 +++ board/freescale/imx8ulp_evk/imx8ulp_evk.c | 67 + board/freescale/imx8ulp_evk/lpddr4_timing.c | 1696 +++++++++++++++++++ board/freescale/imx8ulp_evk/spl.c | 146 ++ configs/imx8ulp_evk_defconfig | 103 ++ include/configs/imx8ulp_evk.h | 108 ++ 14 files changed, 2722 insertions(+) create mode 100644 arch/arm/dts/imx8ulp-emulator-u-boot.dtsi create mode 100644 arch/arm/dts/imx8ulp-emulator.dts create mode 100644 arch/arm/dts/imx8ulp-evk-u-boot.dtsi create mode 100644 arch/arm/dts/imx8ulp-evk.dts create mode 100644 board/freescale/imx8ulp_evk/Kconfig create mode 100644 board/freescale/imx8ulp_evk/MAINTAINERS create mode 100644 board/freescale/imx8ulp_evk/Makefile create mode 100644 board/freescale/imx8ulp_evk/ddr_init.c create mode 100644 board/freescale/imx8ulp_evk/imx8ulp_evk.c create mode 100644 board/freescale/imx8ulp_evk/lpddr4_timing.c create mode 100644 board/freescale/imx8ulp_evk/spl.c create mode 100644 configs/imx8ulp_evk_defconfig create mode 100644 include/configs/imx8ulp_evk.h -- 2.30.0 diff --git a/arch/arm/dts/imx8ulp-emulator-u-boot.dtsi b/arch/arm/dts/imx8ulp-emulator-u-boot.dtsi new file mode 100644 index 0000000000..21161520d8 --- /dev/null +++ b/arch/arm/dts/imx8ulp-emulator-u-boot.dtsi @@ -0,0 +1,32 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright 2020 NXP + */ + +&{/soc@0} { + u-boot,dm-spl; +}; + +&per_bridge3 { + u-boot,dm-spl; +}; + +&per_bridge4 { + u-boot,dm-spl; +}; + +&iomuxc1 { + u-boot,dm-spl; +}; + +&pinctrl_lpuart4 { + u-boot,dm-spl; +}; + +&s400_mu { + u-boot,dm-spl; +}; + +&lpuart4 { + u-boot,dm-spl; +}; diff --git a/arch/arm/dts/imx8ulp-emulator.dts b/arch/arm/dts/imx8ulp-emulator.dts new file mode 100644 index 0000000000..924078b361 --- /dev/null +++ b/arch/arm/dts/imx8ulp-emulator.dts @@ -0,0 +1,93 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright 2020 NXP + */ + +/dts-v1/; + +#include "imx8ulp.dtsi" + +/ { + model = "FSL i.MX8ULP Emulator"; + compatible = "fsl,imx8ulp-emulator", "fsl,imx8ulp"; + + chosen { + stdout-path = &lpuart4; + }; +}; + +&lpuart4 { + /* console */ + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&pinctrl_lpuart4>; + pinctrl-1 = <&pinctrl_lpuart4>; + status = "okay"; +}; + +&iomuxc1 { + pinctrl_lpuart4: lpuart4grp { + fsl,pins = < + MX8ULP_PAD_PTE2__LPUART4_TX 0x3 + MX8ULP_PAD_PTE3__LPUART4_RX 0x3 + >; + bias-pull-up; + }; + + pinctrl_usdhc0: usdhc0grp { + fsl,pins = < + MX8ULP_PAD_PTD0__SDHC0_RESET_B 0x43 + MX8ULP_PAD_PTD1__SDHC0_CMD 0x43 + MX8ULP_PAD_PTD2__SDHC0_CLK 0x10042 + MX8ULP_PAD_PTD10__SDHC0_D0 0x43 + MX8ULP_PAD_PTD9__SDHC0_D1 0x43 + MX8ULP_PAD_PTD8__SDHC0_D2 0x43 + MX8ULP_PAD_PTD7__SDHC0_D3 0x43 + MX8ULP_PAD_PTD11__SDHC0_DQS 0x10042 + >; + }; + + pinctrl_usdhc1_ptf: usdhc1ptfgrp { + fsl,pins = < + MX8ULP_PAD_PTF11__SDHC1_RESET_B 0x43 + MX8ULP_PAD_PTF1__SDHC1_D0 0x43 + MX8ULP_PAD_PTF0__SDHC1_D1 0x43 + MX8ULP_PAD_PTF2__SDHC1_CLK 0x10042 + MX8ULP_PAD_PTF3__SDHC1_CMD 0x43 + MX8ULP_PAD_PTF4__SDHC1_D3 0x42 + MX8ULP_PAD_PTF5__SDHC1_D2 0x42 + >; + }; +}; + +&usdhc0 { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&pinctrl_usdhc0>; + pinctrl-1 = <&pinctrl_usdhc0>; + bus-width = <1>; + broken-cd; + non-removable; + status = "okay"; +}; + +&usdhc1 { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&pinctrl_usdhc1_ptf>; + pinctrl-1 = <&pinctrl_usdhc1_ptf>; + bus-width = <1>; + broken-cd; + non-removable; + status = "okay"; +}; + +&flexspi2 { + status = "okay"; + + flash0: mt35xu512aba@0 { + reg = <0>; + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + spi-max-frequency = <29000000>; + spi-nor,ddr-quad-read-dummy = <8>; + }; +}; diff --git a/arch/arm/dts/imx8ulp-evk-u-boot.dtsi b/arch/arm/dts/imx8ulp-evk-u-boot.dtsi new file mode 100644 index 0000000000..a3cfb1c853 --- /dev/null +++ b/arch/arm/dts/imx8ulp-evk-u-boot.dtsi @@ -0,0 +1,32 @@ +// SPDX-License-Identifier: (GPL-2.0 OR MIT) +/* + * Copyright 2021 NXP + */ + +&{/soc@0} { + u-boot,dm-spl; +}; + +&per_bridge3 { + u-boot,dm-spl; +}; + +&per_bridge4 { + u-boot,dm-spl; +}; + +&iomuxc1 { + u-boot,dm-spl; +}; + +&pinctrl_lpuart5 { + u-boot,dm-spl; +}; + +&s400_mu { + u-boot,dm-spl; +}; + +&lpuart5 { + u-boot,dm-spl; +}; diff --git a/arch/arm/dts/imx8ulp-evk.dts b/arch/arm/dts/imx8ulp-evk.dts new file mode 100644 index 0000000000..1cdd855ccd --- /dev/null +++ b/arch/arm/dts/imx8ulp-evk.dts @@ -0,0 +1,204 @@ +// SPDX-License-Identifier: (GPL-2.0 OR MIT) +/* + * Copyright 2021 NXP + */ + +/dts-v1/; + +#include "imx8ulp.dtsi" + +/ { + model = "FSL i.MX8ULP EVK"; + compatible = "fsl,imx8ulp-evk", "fsl,imx8ulp"; + + chosen { + stdout-path = &lpuart5; + }; + + reg_usdhc2_vmmc: regulator-usdhc2 { + compatible = "regulator-fixed"; + regulator-name = "VSD_3V3"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + gpio = <&pcal6408 0 GPIO_ACTIVE_HIGH>; + enable-active-high; + startup-delay-us = <100>; + off-on-delay-us = <12000>; + }; +}; + +&lpuart5 { + /* console */ + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&pinctrl_lpuart5>; + pinctrl-1 = <&pinctrl_lpuart5>; + status = "okay"; +}; + +&iomuxc1 { + pinctrl_lpuart5: lpuart5grp { + fsl,pins = < + MX8ULP_PAD_PTF14__LPUART5_TX 0x40 + MX8ULP_PAD_PTF15__LPUART5_RX 0x40 + >; + }; + + pinctrl_lpi2c7: lpi2c7grp { + fsl,pins = < + MX8ULP_PAD_PTE12__LPI2C7_SCL 0x27 + MX8ULP_PAD_PTE13__LPI2C7_SDA 0x27 + >; + }; + + pinctrl_usdhc0: usdhc0grp { + fsl,pins = < + MX8ULP_PAD_PTD0__SDHC0_RESET_B 0x43 + MX8ULP_PAD_PTD1__SDHC0_CMD 0x43 + MX8ULP_PAD_PTD2__SDHC0_CLK 0x10042 + MX8ULP_PAD_PTD10__SDHC0_D0 0x43 + MX8ULP_PAD_PTD9__SDHC0_D1 0x43 + MX8ULP_PAD_PTD8__SDHC0_D2 0x43 + MX8ULP_PAD_PTD7__SDHC0_D3 0x43 + MX8ULP_PAD_PTD6__SDHC0_D4 0x43 + MX8ULP_PAD_PTD5__SDHC0_D5 0x43 + MX8ULP_PAD_PTD4__SDHC0_D6 0x43 + MX8ULP_PAD_PTD3__SDHC0_D7 0x43 + MX8ULP_PAD_PTD11__SDHC0_DQS 0x10042 + >; + }; + + pinctrl_usdhc2: usdhc2grp { + fsl,pins = < + MX8ULP_PAD_PTE1__SDHC2_D0 0x43 + MX8ULP_PAD_PTE0__SDHC2_D1 0x43 + MX8ULP_PAD_PTE5__SDHC2_D2 0x42 + MX8ULP_PAD_PTE4__SDHC2_D3 0x42 + MX8ULP_PAD_PTE2__SDHC2_CLK 0x10042 + MX8ULP_PAD_PTE3__SDHC2_CMD 0x43 + >; + }; + + pinctrl_fec: fecgrp { + fsl,pins = < + MX8ULP_PAD_PTE14__ENET0_MDIO 0x43 + MX8ULP_PAD_PTE15__ENET0_MDC 0x43 + MX8ULP_PAD_PTE18__ENET0_CRS_DV 0x43 + MX8ULP_PAD_PTE17__ENET0_RXER 0x43 + MX8ULP_PAD_PTF1__ENET0_RXD0 0x43 + MX8ULP_PAD_PTE20__ENET0_RXD1 0x43 + MX8ULP_PAD_PTE16__ENET0_TXEN 0x43 + MX8ULP_PAD_PTE23__ENET0_TXD0 0x43 + MX8ULP_PAD_PTE22__ENET0_TXD1 0x43 + MX8ULP_PAD_PTE19__ENET0_REFCLK 0x10043 + MX8ULP_PAD_PTF10__ENET0_1588_CLKIN 0x10043 + >; + }; + + pinctrl_usbotg0_id: otg0idgrp { + fsl,pins = < + MX8ULP_PAD_PTF2__USB0_ID 0x10003 + >; + }; + + pinctrl_usbotg1_id: otg1idgrp { + fsl,pins = < + MX8ULP_PAD_PTD23__USB1_ID 0x10003 + >; + }; +}; + +&usdhc0 { + pinctrl-names = "default", "state_100mhz", "state_200mhz"; + pinctrl-0 = <&pinctrl_usdhc0>; + pinctrl-1 = <&pinctrl_usdhc0>; + pinctrl-2 = <&pinctrl_usdhc0>; + bus-width = <8>; + non-removable; + status = "okay"; +}; + +&usdhc2 { + pinctrl-names = "default", "state_100mhz", "state_200mhz"; + pinctrl-0 = <&pinctrl_usdhc2>; + pinctrl-1 = <&pinctrl_usdhc2>; + pinctrl-2 = <&pinctrl_usdhc2>; + bus-width = <4>; + broken-cd; + vmmc-supply = <®_usdhc2_vmmc>; + status = "okay"; +}; + +&lpi2c7 { + #address-cells = <1>; + #size-cells = <0>; + clock-frequency = <100000>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_lpi2c7>; + status = "okay"; + + pcal6408: gpio@21 { + compatible = "ti,tca6408"; + reg = <0x21>; + gpio-controller; + #gpio-cells = <2>; + }; +}; + +&flexspi2 { + status = "okay"; + + flash0: mt35xu512aba@0 { + reg = <0>; + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + spi-max-frequency = <29000000>; + spi-nor,ddr-quad-read-dummy = <8>; + }; +}; + +&fec { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_fec>; + phy-mode = "rmii"; + phy-handle = <ðphy>; + status = "okay"; + + phy-reset-gpios = <&pcal6408 4 GPIO_ACTIVE_LOW>; + + mdio { + #address-cells = <1>; + #size-cells = <0>; + + ethphy: ethernet-phy@1 { + reg = <1>; + micrel,led-mode = <1>; + }; + }; +}; + +&usbotg0 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_usbotg0_id>; + srp-disable; + hnp-disable; + adp-disable; + status = "okay"; +}; + +&usbphy0 { + fsl,tx-d-cal = <88>; +}; + +&usbotg1 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_usbotg1_id>; + srp-disable; + hnp-disable; + adp-disable; + status = "okay"; +}; + +&usbphy1 { + fsl,tx-d-cal = <88>; +}; diff --git a/arch/arm/mach-imx/imx8ulp/Kconfig b/arch/arm/mach-imx/imx8ulp/Kconfig index 167dbb3fb1..963fc93d34 100644 --- a/arch/arm/mach-imx/imx8ulp/Kconfig +++ b/arch/arm/mach-imx/imx8ulp/Kconfig @@ -11,6 +11,13 @@ choice prompt "i.MX8ULP board select" optional +config TARGET_IMX8ULP_EVK + bool "imx8ulp_evk" + select IMX8ULP + select SUPPORT_SPL + endchoice +source "board/freescale/imx8ulp_evk/Kconfig" + endif diff --git a/board/freescale/imx8ulp_evk/Kconfig b/board/freescale/imx8ulp_evk/Kconfig new file mode 100644 index 0000000000..1e461ee1da --- /dev/null +++ b/board/freescale/imx8ulp_evk/Kconfig @@ -0,0 +1,14 @@ +if TARGET_IMX8ULP_EVK + +config SYS_BOARD + default "imx8ulp_evk" + +config SYS_VENDOR + default "freescale" + +config SYS_CONFIG_NAME + default "imx8ulp_evk" + +source "board/freescale/common/Kconfig" + +endif diff --git a/board/freescale/imx8ulp_evk/MAINTAINERS b/board/freescale/imx8ulp_evk/MAINTAINERS new file mode 100644 index 0000000000..267b7b0caa --- /dev/null +++ b/board/freescale/imx8ulp_evk/MAINTAINERS @@ -0,0 +1,6 @@ +i.MX8ULP EVK BOARD +M: Peng Fan +S: Maintained +F: board/freescale/imx8ulp_evk/ +F: include/configs/imx8ulp_evk.h +F: configs/imx8ulp_evk_defconfig diff --git a/board/freescale/imx8ulp_evk/Makefile b/board/freescale/imx8ulp_evk/Makefile new file mode 100644 index 0000000000..b2e72b4e85 --- /dev/null +++ b/board/freescale/imx8ulp_evk/Makefile @@ -0,0 +1,7 @@ +# SPDX-License-Identifier: GPL-2.0+ + +obj-y += imx8ulp_evk.o + +ifdef CONFIG_SPL_BUILD +obj-y += spl.o ddr_init.o lpddr4_timing.o +endif diff --git a/board/freescale/imx8ulp_evk/ddr_init.c b/board/freescale/imx8ulp_evk/ddr_init.c new file mode 100644 index 0000000000..f4238d29b3 --- /dev/null +++ b/board/freescale/imx8ulp_evk/ddr_init.c @@ -0,0 +1,207 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* + * Copyright 2021 NXP + */ +#include +#include +#include +#include +#include + +#define DENALI_CTL_00 (DDR_CTL_BASE_ADDR) +#define CTL_START 0x1 + +#define DENALI_CTL_03 (DDR_CTL_BASE_ADDR + 4 * 3) +#define DENALI_CTL_197 (DDR_CTL_BASE_ADDR + 4 * 197) +#define DENALI_CTL_250 (DDR_CTL_BASE_ADDR + 4 * 250) +#define DENALI_CTL_251 (DDR_CTL_BASE_ADDR + 4 * 251) +#define DENALI_CTL_266 (DDR_CTL_BASE_ADDR + 4 * 266) +#define DFI_INIT_COMPLETE 0x2 + +#define DENALI_CTL_614 (DDR_CTL_BASE_ADDR + 4 * 614) +#define DENALI_CTL_615 (DDR_CTL_BASE_ADDR + 4 * 615) + +#define DENALI_PI_00 (DDR_PI_BASE_ADDR) +#define PI_START 0x1 + +#define DENALI_PI_04 (DDR_PI_BASE_ADDR + 4 * 4) +#define DENALI_PI_11 (DDR_PI_BASE_ADDR + 4 * 11) +#define DENALI_PI_12 (DDR_PI_BASE_ADDR + 4 * 12) +#define DENALI_CTL_23 (DDR_CTL_BASE_ADDR + 4 * 23) +#define DENALI_CTL_25 (DDR_CTL_BASE_ADDR + 4 * 25) + +#define DENALI_PHY_1624 (DDR_PHY_BASE_ADDR + 4 * 1624) +#define DENALI_PHY_1537 (DDR_PHY_BASE_ADDR + 4 * 1537) +#define PHY_FREQ_SEL_MULTICAST_EN(X) ((X) << 8) +#define PHY_FREQ_SEL_INDEX(X) ((X) << 16) + +#define DENALI_PHY_1547 (DDR_PHY_BASE_ADDR + 4 * 1547) +#define DENALI_PHY_1555 (DDR_PHY_BASE_ADDR + 4 * 1555) +#define DENALI_PHY_1564 (DDR_PHY_BASE_ADDR + 4 * 1564) +#define DENALI_PHY_1565 (DDR_PHY_BASE_ADDR + 4 * 1565) + +int ddr_calibration(unsigned int fsp_table[3]) +{ + u32 reg_val; + u32 int_status_init, phy_freq_req, phy_freq_type; + u32 lock_0, lock_1, lock_2; + u32 freq_chg_pt, freq_chg_cnt; + + reg_val = readl(DENALI_CTL_250); + if (((reg_val >> 16) & 0x3) == 1) + freq_chg_cnt = 2; + else + freq_chg_cnt = 3; + + reg_val = readl(DENALI_PI_12); + if (reg_val == 0x3) { + freq_chg_pt = 1; + } else if (reg_val == 0x7) { + freq_chg_pt = 2; + } else { + printf("frequency map(0x%x) is wrong, please check!\r\n", reg_val); + return -1; + } + + debug("%s\n", __func__); + + /* Assert PI_START parameter and then assert START parameter in Controller. */ + reg_val = readl(DENALI_PI_00) | PI_START; + writel(reg_val, DENALI_PI_00); + + reg_val = readl(DENALI_CTL_00) | CTL_START; + writel(reg_val, DENALI_CTL_00); + + /* Poll for init_done_bit in Controller interrupt status register (INT_STATUS_INIT) */ + do { + if (!freq_chg_cnt) { + int_status_init = (readl(DENALI_CTL_266) >> 8) & 0xff; + /* DDR subsystem is ready for traffic. */ + if (int_status_init & DFI_INIT_COMPLETE) { + printf("complete\n"); + break; + } + } + + /* + * During leveling, PHY will request for freq change and SoC clock + * logic should provide requested frequency, Polling SIM LPDDR_CTRL2 + * Bit phy_freq_chg_req until be 1'b1 + */ + reg_val = readl(AVD_SIM_LPDDR_CTRL2); + phy_freq_req = (reg_val >> 7) & 0x1; + + if (phy_freq_req) { + phy_freq_type = reg_val & 0x1F; + if (!phy_freq_type) { + printf("Poll for freq_chg_req on SIM register and change to F0 frequency.\n"); + set_ddr_clk(fsp_table[phy_freq_type] >> 1); + + /* Write 1'b1 at LPDDR_CTRL2 bit phy_freq_cfg_ack */ + reg_val = readl(AVD_SIM_LPDDR_CTRL2); + writel(reg_val | (0x1 << 6), AVD_SIM_LPDDR_CTRL2); + } else if (phy_freq_type == 0x01) { + printf("Poll for freq_chg_req on SIM register and change to F1 frequency.\n"); + set_ddr_clk(fsp_table[phy_freq_type] >> 1); + + /* Write 1'b1 at LPDDR_CTRL2 bit phy_freq_cfg_ack */ + reg_val = readl(AVD_SIM_LPDDR_CTRL2); + writel(reg_val | (0x1 << 6), AVD_SIM_LPDDR_CTRL2); + if (freq_chg_pt == 1) + freq_chg_cnt--; + } else if (phy_freq_type == 0x02) { + printf("Poll for freq_chg_req on SIM register and change to F2 frequency.\n"); + set_ddr_clk(fsp_table[phy_freq_type] >> 1); + + /* Write 1'b1 at LPDDR_CTRL2 bit phy_freq_cfg_ack */ + reg_val = readl(AVD_SIM_LPDDR_CTRL2); + writel(reg_val | (0x1 << 6), AVD_SIM_LPDDR_CTRL2); + if (freq_chg_pt == 2) + freq_chg_cnt--; + } + reg_val = readl(AVD_SIM_LPDDR_CTRL2); + } + } while (1); + + /* Check PLL lock status */ + lock_0 = readl(DENALI_PHY_1564) & 0xffff; + lock_1 = (readl(DENALI_PHY_1564) >> 16) & 0xffff; + lock_2 = readl(DENALI_PHY_1565) & 0xffff; + + if ((lock_0 & 0x3) != 0x3 || (lock_1 & 0x3) != 0x3 || (lock_2 & 0x3) != 0x3) { + printf("De-Skew PLL failed to lock\n"); + printf("lock_0=0x%x, lock_1=0x%x, lock_2=0x%x\n", lock_0, lock_1, lock_2); + return -1; + } + + printf("De-Skew PLL is locked and ready\n"); + return 0; +} + +int ddr_init(struct dram_timing_info2 *dram_timing) +{ + int i; + + debug("%s\n", __func__); + + set_ddr_clk(dram_timing->fsp_table[0] >> 1); /* Set to boot freq */ + + /* Initialize CTL registers */ + for (i = 0; i < dram_timing->ctl_cfg_num; i++) + writel(dram_timing->ctl_cfg[i].val, (ulong)dram_timing->ctl_cfg[i].reg); + + /* Initialize PI registers */ + for (i = 0; i < dram_timing->pi_cfg_num; i++) + writel(dram_timing->pi_cfg[i].val, (ulong)dram_timing->pi_cfg[i].reg); + + /* Write PHY regiters for all 3 frequency points (48Mhz/384Mhz/528Mhz): f1_index=0 */ + writel(PHY_FREQ_SEL_MULTICAST_EN(1) | PHY_FREQ_SEL_INDEX(0), DENALI_PHY_1537); + for (i = 0; i < dram_timing->phy_f1_cfg_num; i++) + writel(dram_timing->phy_f1_cfg[i].val, (ulong)dram_timing->phy_f1_cfg[i].reg); + + /* Write PHY regiters for freqency point 2 (528Mhz): f2_index=1 */ + writel(PHY_FREQ_SEL_MULTICAST_EN(0) | PHY_FREQ_SEL_INDEX(1), DENALI_PHY_1537); + for (i = 0; i < dram_timing->phy_f2_cfg_num; i++) + writel(dram_timing->phy_f2_cfg[i].val, (ulong)dram_timing->phy_f2_cfg[i].reg); + + /* Re-enable MULTICAST mode */ + writel(PHY_FREQ_SEL_MULTICAST_EN(1) | PHY_FREQ_SEL_INDEX(0), DENALI_PHY_1537); + + return ddr_calibration(dram_timing->fsp_table); +} + +void enable_bypass_mode(void) +{ + u32 reg_val; + + /* PI_INIT_LVL_EN=0x0 (DENALI_PI_04) */ + reg_val = readl(DENALI_PI_04) & ~0x1; + writel(reg_val, DENALI_PI_04); + + /* PI_FREQ_MAP=0x1 (DENALI_PI_12) */ + writel(0x1, DENALI_PI_12); + + /* PI_INIT_WORK_FREQ=0x0 (DENALI_PI_11) */ + reg_val = readl(DENALI_PI_11) & ~(0x1f << 8); + writel(reg_val, DENALI_PI_11); + + /* DFIBUS_FREQ_INIT=0x0 (DENALI_CTL_23) */ + reg_val = readl(DENALI_CTL_23) & ~(0x3 << 24); + writel(reg_val, DENALI_CTL_23); + + /* PHY_LP4_BOOT_DISABLE=0x0 (DENALI_PHY_1547) */ + reg_val = readl(DENALI_PHY_1547) & ~(0x1 << 8); + writel(reg_val, DENALI_PHY_1547); + + /* PHY_PLL_BYPASS=0x1 (DENALI_PHY_1624) */ + reg_val = readl(DENALI_PHY_1624) | 0x1; + writel(reg_val, DENALI_PHY_1624); + + /* PHY_LP4_BOOT_PLL_BYPASS to 0x1 (DENALI_PHY_1555) */ + reg_val = readl(DENALI_PHY_1555) | 0x1; + writel(reg_val, DENALI_PHY_1555); + + /* FREQ_CHANGE_TYPE_F0 = 0x0/FREQ_CHANGE_TYPE_F1 = 0x1/FREQ_CHANGE_TYPE_F2 = 0x2 */ + reg_val = 0x020100; + writel(reg_val, DENALI_CTL_25); +} diff --git a/board/freescale/imx8ulp_evk/imx8ulp_evk.c b/board/freescale/imx8ulp_evk/imx8ulp_evk.c new file mode 100644 index 0000000000..3ff4d43c99 --- /dev/null +++ b/board/freescale/imx8ulp_evk/imx8ulp_evk.c @@ -0,0 +1,67 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright 2020 NXP + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +DECLARE_GLOBAL_DATA_PTR; + +#if IS_ENABLED(CONFIG_FEC_MXC) +#define ENET_CLK_PAD_CTRL (PAD_CTL_PUS_UP | PAD_CTL_DSE | PAD_CTL_IBE_ENABLE) +static iomux_cfg_t const enet_clk_pads[] = { + IMX8ULP_PAD_PTE19__ENET0_REFCLK | MUX_PAD_CTRL(ENET_CLK_PAD_CTRL), + IMX8ULP_PAD_PTF10__ENET0_1588_CLKIN | MUX_PAD_CTRL(ENET_CLK_PAD_CTRL), +}; + +static int setup_fec(void) +{ + /* + * Since ref clock and timestamp clock are from external, + * set the iomux prior the clock enablement + */ + imx8ulp_iomux_setup_multiple_pads(enet_clk_pads, ARRAY_SIZE(enet_clk_pads)); + + /* Select enet time stamp clock: 001 - External Timestamp Clock */ + cgc1_enet_stamp_sel(1); + + /* enable FEC PCC */ + pcc_clock_enable(4, ENET_PCC4_SLOT, true); + pcc_reset_peripheral(4, ENET_PCC4_SLOT, false); + + return 0; +} + +int board_phy_config(struct phy_device *phydev) +{ + if (phydev->drv->config) + phydev->drv->config(phydev); + return 0; +} +#endif + +int board_init(void) +{ + if (IS_ENABLED(CONFIG_FEC_MXC)) + setup_fec(); + + return 0; +} + +int board_early_init_f(void) +{ + return 0; +} + +int board_late_init(void) +{ + return 0; +} diff --git a/board/freescale/imx8ulp_evk/lpddr4_timing.c b/board/freescale/imx8ulp_evk/lpddr4_timing.c new file mode 100644 index 0000000000..e827f01cd7 --- /dev/null +++ b/board/freescale/imx8ulp_evk/lpddr4_timing.c @@ -0,0 +1,1696 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* + * Copyright 2021 NXP + * + * Generated code from MX8M_DDR_tool + * + */ + +#include +#include + +/** CTL settings **/ +struct dram_cfg_param ddr_ctl_cfg[] = { + { 0x2e060000, 0xb00 }, /* 0 */ + { 0x2e060004, 0x0 }, /* 1 */ + { 0x2e060008, 0x0 }, /* 2 */ + { 0x2e06000c, 0x0 }, /* 3 */ + { 0x2e060010, 0x0 }, /* 4 */ + { 0x2e060014, 0x0 }, /* 5 */ + { 0x2e060018, 0x0 }, /* 6 */ + { 0x2e06001c, 0x0 }, /* 7 */ + { 0x2e060020, 0x0 }, /* 8 */ + { 0x2e060024, 0x0 }, /* 9 */ + { 0x2e060028, 0x258100 }, /* 10 */ + { 0x2e06002c, 0x17702 }, /* 11 */ + { 0x2e060030, 0x5 }, /* 12 */ + { 0x2e060034, 0x61 }, /* 13 */ + { 0x2e060038, 0x1a0ab }, /* 14 */ + { 0x2e06003c, 0x1046ab }, /* 15 */ + { 0x2e060040, 0x5 }, /* 16 */ + { 0x2e060044, 0x42b }, /* 17 */ + { 0x2e060048, 0xd056 }, /* 18 */ + { 0x2e06004c, 0x82356 }, /* 19 */ + { 0x2e060050, 0x5 }, /* 20 */ + { 0x2e060054, 0x216 }, /* 21 */ + { 0x2e060058, 0x1010000 }, /* 22 */ + { 0x2e06005c, 0x1011001 }, /* 23 */ + { 0x2e060060, 0x2010000 }, /* 24 */ + { 0x2e060064, 0x20100 }, /* 25 */ + { 0x2e060068, 0xa }, /* 26 */ + { 0x2e06006c, 0x19 }, /* 27 */ + { 0x2e060070, 0x0 }, /* 28 */ + { 0x2e060074, 0x0 }, /* 29 */ + { 0x2e060078, 0x2020200 }, /* 30 */ + { 0x2e06007c, 0xb16 }, /* 31 */ + { 0x2e060080, 0x0 }, /* 32 */ + { 0x2e060084, 0x0 }, /* 33 */ + { 0x2e060088, 0x0 }, /* 34 */ + { 0x2e06008c, 0x0 }, /* 35 */ + { 0x2e060090, 0x10 }, /* 36 */ + { 0x2e060094, 0x0 }, /* 37 */ + { 0x2e060098, 0x0 }, /* 38 */ + { 0x2e06009c, 0x0 }, /* 39 */ + { 0x2e0600a0, 0x0 }, /* 40 */ + { 0x2e0600a4, 0x614040c }, /* 41 */ + { 0x2e0600a8, 0x804040c }, /* 42 */ + { 0x2e0600ac, 0x604 }, /* 43 */ + { 0x2e0600b0, 0x3050003 }, /* 44 */ + { 0x2e0600b4, 0x40002 }, /* 45 */ + { 0x2e0600b8, 0x170021 }, /* 46 */ + { 0x2e0600bc, 0x100a07 }, /* 47 */ + { 0x2e0600c0, 0x1104 }, /* 48 */ + { 0x2e0600c4, 0x505000c }, /* 49 */ + { 0x2e0600c8, 0x8200008 }, /* 50 */ + { 0x2e0600cc, 0xa0a }, /* 51 */ + { 0x2e0600d0, 0x4000694 }, /* 52 */ + { 0x2e0600d4, 0xa0a0804 }, /* 53 */ + { 0x2e0600d8, 0x4004920 }, /* 54 */ + { 0x2e0600dc, 0xa0a0804 }, /* 55 */ + { 0x2e0600e0, 0x4002490 }, /* 56 */ + { 0x2e0600e4, 0x2030404 }, /* 57 */ + { 0x2e0600e8, 0xa040400 }, /* 58 */ + { 0x2e0600ec, 0x806050b }, /* 59 */ + { 0x2e0600f0, 0x7010100 }, /* 60 */ + { 0x2e0600f4, 0x40b15 }, /* 61 */ + { 0x2e0600fc, 0x1010000 }, /* 63 */ + { 0x2e060100, 0x1000000 }, /* 64 */ + { 0x2e060104, 0x90403 }, /* 65 */ + { 0x2e060108, 0xb3 }, /* 66 */ + { 0x2e06010c, 0x60 }, /* 67 */ + { 0x2e060110, 0x818 }, /* 68 */ + { 0x2e060114, 0x30 }, /* 69 */ + { 0x2e060118, 0x408 }, /* 70 */ + { 0x2e06011c, 0x5 }, /* 71 */ + { 0x2e060120, 0x50000 }, /* 72 */ + { 0x2e060124, 0x30000f }, /* 73 */ + { 0x2e060128, 0x1800fc }, /* 74 */ + { 0x2e06012c, 0x40007a }, /* 75 */ + { 0x2e060130, 0x120103 }, /* 76 */ + { 0x2e060134, 0x50005 }, /* 77 */ + { 0x2e060138, 0xd070005 }, /* 78 */ + { 0x2e06013c, 0x5050108 }, /* 79 */ + { 0x2e060140, 0x101030a }, /* 80 */ + { 0x2e060144, 0x30a0505 }, /* 81 */ + { 0x2e060148, 0x5050101 }, /* 82 */ + { 0x2e06014c, 0x1030a }, /* 83 */ + { 0x2e060150, 0xa000a }, /* 84 */ + { 0x2e060154, 0x640064 }, /* 85 */ + { 0x2e060158, 0x320032 }, /* 86 */ + { 0x2e06015c, 0x3050505 }, /* 87 */ + { 0x2e060160, 0x3010403 }, /* 88 */ + { 0x2e060164, 0x8050505 }, /* 89 */ + { 0x2e060168, 0x3010403 }, /* 90 */ + { 0x2e06016c, 0x4050505 }, /* 91 */ + { 0x2e060170, 0x3010403 }, /* 92 */ + { 0x2e060174, 0x3010000 }, /* 93 */ + { 0x2e060178, 0x10000 }, /* 94 */ + { 0x2e06017c, 0x0 }, /* 95 */ + { 0x2e060180, 0x1000000 }, /* 96 */ + { 0x2e060184, 0x80104002 }, /* 97 */ + { 0x2e060188, 0x40003 }, /* 98 */ + { 0x2e06018c, 0x40005 }, /* 99 */ + { 0x2e060190, 0x30000 }, /* 100 */ + { 0x2e060194, 0x50004 }, /* 101 */ + { 0x2e060198, 0x4 }, /* 102 */ + { 0x2e06019c, 0x40003 }, /* 103 */ + { 0x2e0601a0, 0x40005 }, /* 104 */ + { 0x2e0601a4, 0x0 }, /* 105 */ + { 0x2e0601a8, 0x2cc0 }, /* 106 */ + { 0x2e0601ac, 0x2cc0 }, /* 107 */ + { 0x2e0601b0, 0x2cc0 }, /* 108 */ + { 0x2e0601b4, 0x2cc0 }, /* 109 */ + { 0x2e0601b8, 0x2cc0 }, /* 110 */ + { 0x2e0601bc, 0x0 }, /* 111 */ + { 0x2e0601c0, 0x4e5 }, /* 112 */ + { 0x2e0601c4, 0x20600 }, /* 113 */ + { 0x2e0601c8, 0x20600 }, /* 114 */ + { 0x2e0601cc, 0x20600 }, /* 115 */ + { 0x2e0601d0, 0x20600 }, /* 116 */ + { 0x2e0601d4, 0x20600 }, /* 117 */ + { 0x2e0601d8, 0x0 }, /* 118 */ + { 0x2e0601dc, 0x38a8 }, /* 119 */ + { 0x2e0601e0, 0x10200 }, /* 120 */ + { 0x2e0601e4, 0x10200 }, /* 121 */ + { 0x2e0601e8, 0x10200 }, /* 122 */ + { 0x2e0601ec, 0x10200 }, /* 123 */ + { 0x2e0601f0, 0x10200 }, /* 124 */ + { 0x2e0601f4, 0x0 }, /* 125 */ + { 0x2e0601f8, 0x1c38 }, /* 126 */ + { 0x2e0601fc, 0x0 }, /* 127 */ + { 0x2e060200, 0x0 }, /* 128 */ + { 0x2e060204, 0x0 }, /* 129 */ + { 0x2e060208, 0x0 }, /* 130 */ + { 0x2e06020c, 0x0 }, /* 131 */ + { 0x2e060210, 0x0 }, /* 132 */ + { 0x2e060214, 0x0 }, /* 133 */ + { 0x2e060218, 0x0 }, /* 134 */ + { 0x2e06021c, 0x5000000 }, /* 135 */ + { 0x2e060220, 0x5030503 }, /* 136 */ + { 0x2e060224, 0x3 }, /* 137 */ + { 0x2e060228, 0x7010a09 }, /* 138 */ + { 0x2e06022c, 0xe0a09 }, /* 139 */ + { 0x2e060230, 0x10a0900 }, /* 140 */ + { 0x2e060234, 0xe0a0907 }, /* 141 */ + { 0x2e060238, 0xa090000 }, /* 142 */ + { 0x2e06023c, 0xa090701 }, /* 143 */ + { 0x2e060240, 0x101000e }, /* 144 */ + { 0x2e060244, 0x40003 }, /* 145 */ + { 0x2e060248, 0x7 }, /* 146 */ + { 0x2e06024c, 0x0 }, /* 147 */ + { 0x2e060250, 0x0 }, /* 148 */ + { 0x2e060254, 0x0 }, /* 149 */ + { 0x2e060258, 0x0 }, /* 150 */ + { 0x2e06025c, 0x0 }, /* 151 */ + { 0x2e060260, 0x0 }, /* 152 */ + { 0x2e060264, 0x4040100 }, /* 153 */ + { 0x2e060268, 0x1000000 }, /* 154 */ + { 0x2e06026c, 0x100000c0 }, /* 155 */ + { 0x2e060270, 0x100000c0 }, /* 156 */ + { 0x2e060274, 0x100000c0 }, /* 157 */ + { 0x2e060278, 0x0 }, /* 158 */ + { 0x2e06027c, 0x1600 }, /* 159 */ + { 0x2e060280, 0x0 }, /* 160 */ + { 0x2e060284, 0x1 }, /* 161 */ + { 0x2e060288, 0x2 }, /* 162 */ + { 0x2e06028c, 0x100e }, /* 163 */ + { 0x2e060290, 0x0 }, /* 164 */ + { 0x2e060294, 0x0 }, /* 165 */ + { 0x2e060298, 0x0 }, /* 166 */ + { 0x2e06029c, 0x0 }, /* 167 */ + { 0x2e0602a0, 0x0 }, /* 168 */ + { 0x2e0602a4, 0xa0000 }, /* 169 */ + { 0x2e0602a8, 0xd0005 }, /* 170 */ + { 0x2e0602ac, 0x404 }, /* 171 */ + { 0x2e0602b0, 0xd }, /* 172 */ + { 0x2e0602b4, 0x36006b }, /* 173 */ + { 0x2e0602b8, 0x4040086 }, /* 174 */ + { 0x2e0602bc, 0x86 }, /* 175 */ + { 0x2e0602c0, 0x1b0036 }, /* 176 */ + { 0x2e0602c4, 0x4040043 }, /* 177 */ + { 0x2e0602c8, 0x43 }, /* 178 */ + { 0x2e0602cc, 0x0 }, /* 179 */ + { 0x2e0602d0, 0x0 }, /* 180 */ + { 0x2e0602d4, 0x0 }, /* 181 */ + { 0x2e0602d8, 0x9140004 }, /* 182 */ + { 0x2e0602dc, 0x30000004 }, /* 183 */ + { 0x2e0602e0, 0x3030 }, /* 184 */ + { 0x2e0602e4, 0x44000000 }, /* 185 */ + { 0x2e0602e8, 0x19191944 }, /* 186 */ + { 0x2e0602ec, 0x19191908 }, /* 187 */ + { 0x2e0602f0, 0x0 }, /* 188 */ + { 0x2e0602f4, 0x40404 }, /* 189 */ + { 0x2e0602f8, 0x40914 }, /* 190 */ + { 0x2e0602fc, 0x30303000 }, /* 191 */ + { 0x2e060300, 0x0 }, /* 192 */ + { 0x2e060304, 0x19444400 }, /* 193 */ + { 0x2e060308, 0x19081919 }, /* 194 */ + { 0x2e06030c, 0x1919 }, /* 195 */ + { 0x2e060310, 0x4040000 }, /* 196 */ + { 0x2e060314, 0x20 }, /* 197 */ + { 0x2e060318, 0x100 }, /* 198 */ + { 0x2e06031c, 0x1 }, /* 199 */ + { 0x2e060320, 0x0 }, /* 200 */ + { 0x2e060324, 0x1000000 }, /* 201 */ + { 0x2e060328, 0x1 }, /* 202 */ + { 0x2e06032c, 0x0 }, /* 203 */ + { 0x2e060330, 0x0 }, /* 204 */ + { 0x2e060334, 0x0 }, /* 205 */ + { 0x2e060338, 0x0 }, /* 206 */ + { 0x2e06033c, 0x0 }, /* 207 */ + { 0x2e060340, 0x0 }, /* 208 */ + { 0x2e060344, 0x0 }, /* 209 */ + { 0x2e060348, 0x0 }, /* 210 */ + { 0x2e06034c, 0x0 }, /* 211 */ + { 0x2e060350, 0x0 }, /* 212 */ + { 0x2e060354, 0x11000000 }, /* 213 */ + { 0x2e060358, 0x40c1815 }, /* 214 */ + { 0x2e06035c, 0x0 }, /* 215 */ + { 0x2e060360, 0x0 }, /* 216 */ + { 0x2e060364, 0x0 }, /* 217 */ + { 0x2e060368, 0x0 }, /* 218 */ + { 0x2e06036c, 0x0 }, /* 219 */ + { 0x2e060370, 0x0 }, /* 220 */ + { 0x2e060374, 0x0 }, /* 221 */ + { 0x2e060378, 0x0 }, /* 222 */ + { 0x2e06037c, 0x0 }, /* 223 */ + { 0x2e060380, 0x0 }, /* 224 */ + { 0x2e060384, 0x0 }, /* 225 */ + { 0x2e060388, 0x0 }, /* 226 */ + { 0x2e06038c, 0x0 }, /* 227 */ + { 0x2e060390, 0x30000 }, /* 228 */ + { 0x2e060394, 0x1000200 }, /* 229 */ + { 0x2e060398, 0x310040 }, /* 230 */ + { 0x2e06039c, 0x20002 }, /* 231 */ + { 0x2e0603a0, 0x400100 }, /* 232 */ + { 0x2e0603a4, 0x100216 }, /* 233 */ + { 0x2e0603a8, 0x1000200 }, /* 234 */ + { 0x2e0603ac, 0x10b0040 }, /* 235 */ + { 0x2e0603b0, 0x8 }, /* 236 */ + { 0x2e0603b4, 0x1b0003 }, /* 237 */ + { 0x2e0603b8, 0x100000e }, /* 238 */ + { 0x2e0603bc, 0x0 }, /* 239 */ + { 0x2e0603d4, 0x0 }, /* 245 */ + { 0x2e0603d8, 0xffff0b00 }, /* 246 */ + { 0x2e0603dc, 0x1010001 }, /* 247 */ + { 0x2e0603e0, 0x1010101 }, /* 248 */ + { 0x2e0603e4, 0x10b0101 }, /* 249 */ + { 0x2e0603e8, 0x10000 }, /* 250 */ + { 0x2e0603ec, 0x4010101 }, /* 251 */ + { 0x2e0603f0, 0x1010000 }, /* 252 */ + { 0x2e0603f4, 0x4 }, /* 253 */ + { 0x2e0603f8, 0x0 }, /* 254 */ + { 0x2e0603fc, 0x3030101 }, /* 255 */ + { 0x2e060400, 0x103 }, /* 256 */ + { 0x2e060404, 0x0 }, /* 257 */ + { 0x2e060408, 0x0 }, /* 258 */ + { 0x2e06040c, 0x0 }, /* 259 */ + { 0x2e060410, 0x0 }, /* 260 */ + { 0x2e060414, 0x0 }, /* 261 */ + { 0x2e060418, 0x0 }, /* 262 */ + { 0x2e06041c, 0x0 }, /* 263 */ + { 0x2e060420, 0x0 }, /* 264 */ + { 0x2e060424, 0x0 }, /* 265 */ + { 0x2e060428, 0x0 }, /* 266 */ + { 0x2e06042c, 0x0 }, /* 267 */ + { 0x2e060430, 0x0 }, /* 268 */ + { 0x2e060434, 0x0 }, /* 269 */ + { 0x2e060438, 0x0 }, /* 270 */ + { 0x2e06043c, 0x0 }, /* 271 */ + { 0x2e060440, 0x0 }, /* 272 */ + { 0x2e060444, 0x0 }, /* 273 */ + { 0x2e060448, 0x0 }, /* 274 */ + { 0x2e06044c, 0x0 }, /* 275 */ + { 0x2e060450, 0x0 }, /* 276 */ + { 0x2e060454, 0x0 }, /* 277 */ + { 0x2e060458, 0x0 }, /* 278 */ + { 0x2e06045c, 0x0 }, /* 279 */ + { 0x2e060460, 0x0 }, /* 280 */ + { 0x2e060464, 0x0 }, /* 281 */ + { 0x2e060468, 0x0 }, /* 282 */ + { 0x2e06046c, 0x0 }, /* 283 */ + { 0x2e060470, 0x0 }, /* 284 */ + { 0x2e060474, 0x0 }, /* 285 */ + { 0x2e060478, 0x0 }, /* 286 */ + { 0x2e06047c, 0x0 }, /* 287 */ + { 0x2e060480, 0x0 }, /* 288 */ + { 0x2e060484, 0x0 }, /* 289 */ + { 0x2e060488, 0x0 }, /* 290 */ + { 0x2e06048c, 0x0 }, /* 291 */ + { 0x2e060490, 0x0 }, /* 292 */ + { 0x2e060494, 0x0 }, /* 293 */ + { 0x2e060498, 0x0 }, /* 294 */ + { 0x2e06049c, 0x0 }, /* 295 */ + { 0x2e0604a0, 0x0 }, /* 296 */ + { 0x2e0604a4, 0x2020101 }, /* 297 */ + { 0x2e0604a8, 0x10100 }, /* 298 */ + { 0x2e0604ac, 0x1000101 }, /* 299 */ + { 0x2e0604b0, 0x1010101 }, /* 300 */ + { 0x2e0604b4, 0x3040300 }, /* 301 */ + { 0x2e0604b8, 0x8050805 }, /* 302 */ + { 0x2e0604bc, 0x8020808 }, /* 303 */ + { 0x2e0604c0, 0xa020e00 }, /* 304 */ + { 0x2e0604c4, 0x8020f00 }, /* 305 */ + { 0x2e0604c8, 0x8000e00 }, /* 306 */ + { 0x2e0604cc, 0x80a }, /* 307 */ + { 0x2e0604d0, 0x1020101 }, /* 308 */ + { 0x2e0604d4, 0x101 }, /* 309 */ + { 0x2e0604d8, 0x404 }, /* 310 */ + { 0x2e0604dc, 0x40400 }, /* 311 */ + { 0x2e0604e0, 0x4040000 }, /* 312 */ + { 0x2e0604e4, 0x4000000 }, /* 313 */ + { 0x2e0604e8, 0x10004 }, /* 314 */ + { 0x2e0604ec, 0x0 }, /* 315 */ + { 0x2e0604f0, 0xfffff }, /* 316 */ + { 0x2e0604f4, 0x0 }, /* 317 */ + { 0x2e0604f8, 0xfffff }, /* 318 */ + { 0x2e0604fc, 0x0 }, /* 319 */ + { 0x2e060500, 0xfffff }, /* 320 */ + { 0x2e060504, 0x0 }, /* 321 */ + { 0x2e060508, 0xfffff }, /* 322 */ + { 0x2e06050c, 0x0 }, /* 323 */ + { 0x2e060510, 0xfffff }, /* 324 */ + { 0x2e060514, 0x0 }, /* 325 */ + { 0x2e060518, 0xfffff }, /* 326 */ + { 0x2e06051c, 0x0 }, /* 327 */ + { 0x2e060520, 0xfffff }, /* 328 */ + { 0x2e060524, 0x0 }, /* 329 */ + { 0x2e060528, 0xfffff }, /* 330 */ + { 0x2e06052c, 0x0 }, /* 331 */ + { 0x2e060530, 0xfffff }, /* 332 */ + { 0x2e060534, 0x0 }, /* 333 */ + { 0x2e060538, 0xfffff }, /* 334 */ + { 0x2e06053c, 0x0 }, /* 335 */ + { 0x2e060540, 0xfffff }, /* 336 */ + { 0x2e060544, 0x0 }, /* 337 */ + { 0x2e060548, 0xfffff }, /* 338 */ + { 0x2e06054c, 0x0 }, /* 339 */ + { 0x2e060550, 0xfffff }, /* 340 */ + { 0x2e060554, 0x0 }, /* 341 */ + { 0x2e060558, 0xfffff }, /* 342 */ + { 0x2e06055c, 0x0 }, /* 343 */ + { 0x2e060560, 0xfffff }, /* 344 */ + { 0x2e060564, 0x0 }, /* 345 */ + { 0x2e060568, 0xfffff }, /* 346 */ + { 0x2e06056c, 0x0 }, /* 347 */ + { 0x2e060570, 0xfffff }, /* 348 */ + { 0x2e060574, 0x0 }, /* 349 */ + { 0x2e060578, 0xfffff }, /* 350 */ + { 0x2e06057c, 0x0 }, /* 351 */ + { 0x2e060580, 0xfffff }, /* 352 */ + { 0x2e060584, 0x0 }, /* 353 */ + { 0x2e060588, 0xfffff }, /* 354 */ + { 0x2e06058c, 0x0 }, /* 355 */ + { 0x2e060590, 0xfffff }, /* 356 */ + { 0x2e060594, 0x0 }, /* 357 */ + { 0x2e060598, 0xfffff }, /* 358 */ + { 0x2e06059c, 0x0 }, /* 359 */ + { 0x2e0605a0, 0xfffff }, /* 360 */ + { 0x2e0605a4, 0x0 }, /* 361 */ + { 0x2e0605a8, 0xfffff }, /* 362 */ + { 0x2e0605ac, 0x0 }, /* 363 */ + { 0x2e0605b0, 0xfffff }, /* 364 */ + { 0x2e0605b4, 0x0 }, /* 365 */ + { 0x2e0605b8, 0xfffff }, /* 366 */ + { 0x2e0605bc, 0x0 }, /* 367 */ + { 0x2e0605c0, 0xfffff }, /* 368 */ + { 0x2e0605c4, 0x0 }, /* 369 */ + { 0x2e0605c8, 0xfffff }, /* 370 */ + { 0x2e0605cc, 0x0 }, /* 371 */ + { 0x2e0605d0, 0xfffff }, /* 372 */ + { 0x2e0605d4, 0x0 }, /* 373 */ + { 0x2e0605d8, 0xfffff }, /* 374 */ + { 0x2e0605dc, 0x0 }, /* 375 */ + { 0x2e0605e0, 0xfffff }, /* 376 */ + { 0x2e0605e4, 0x0 }, /* 377 */ + { 0x2e0605e8, 0xfffff }, /* 378 */ + { 0x2e0605ec, 0x0 }, /* 379 */ + { 0x2e0605f0, 0xfffff }, /* 380 */ + { 0x2e0605f4, 0x0 }, /* 381 */ + { 0x2e0605f8, 0xfffff }, /* 382 */ + { 0x2e0605fc, 0x0 }, /* 383 */ + { 0x2e060600, 0xfffff }, /* 384 */ + { 0x2e060604, 0x0 }, /* 385 */ + { 0x2e060608, 0xfffff }, /* 386 */ + { 0x2e06060c, 0x0 }, /* 387 */ + { 0x2e060610, 0xfffff }, /* 388 */ + { 0x2e060614, 0x0 }, /* 389 */ + { 0x2e060618, 0xfffff }, /* 390 */ + { 0x2e06061c, 0x0 }, /* 391 */ + { 0x2e060620, 0xfffff }, /* 392 */ + { 0x2e060624, 0x0 }, /* 393 */ + { 0x2e060628, 0xfffff }, /* 394 */ + { 0x2e06062c, 0x0 }, /* 395 */ + { 0x2e060630, 0xfffff }, /* 396 */ + { 0x2e060634, 0x0 }, /* 397 */ + { 0x2e060638, 0xfffff }, /* 398 */ + { 0x2e06063c, 0x0 }, /* 399 */ + { 0x2e060640, 0xfffff }, /* 400 */ + { 0x2e060644, 0x0 }, /* 401 */ + { 0x2e060648, 0xfffff }, /* 402 */ + { 0x2e06064c, 0x0 }, /* 403 */ + { 0x2e060650, 0xfffff }, /* 404 */ + { 0x2e060654, 0x0 }, /* 405 */ + { 0x2e060658, 0xfffff }, /* 406 */ + { 0x2e06065c, 0x0 }, /* 407 */ + { 0x2e060660, 0xfffff }, /* 408 */ + { 0x2e060664, 0x0 }, /* 409 */ + { 0x2e060668, 0xfffff }, /* 410 */ + { 0x2e06066c, 0x0 }, /* 411 */ + { 0x2e060670, 0xfffff }, /* 412 */ + { 0x2e060674, 0x0 }, /* 413 */ + { 0x2e060678, 0xfffff }, /* 414 */ + { 0x2e06067c, 0x0 }, /* 415 */ + { 0x2e060680, 0xfffff }, /* 416 */ + { 0x2e060684, 0x0 }, /* 417 */ + { 0x2e060688, 0xfffff }, /* 418 */ + { 0x2e06068c, 0x0 }, /* 419 */ + { 0x2e060690, 0xfffff }, /* 420 */ + { 0x2e060694, 0x0 }, /* 421 */ + { 0x2e060698, 0xfffff }, /* 422 */ + { 0x2e06069c, 0x0 }, /* 423 */ + { 0x2e0606a0, 0xfffff }, /* 424 */ + { 0x2e0606a4, 0x0 }, /* 425 */ + { 0x2e0606a8, 0xfffff }, /* 426 */ + { 0x2e0606ac, 0x0 }, /* 427 */ + { 0x2e0606b0, 0xfffff }, /* 428 */ + { 0x2e0606b4, 0x0 }, /* 429 */ + { 0x2e0606b8, 0xfffff }, /* 430 */ + { 0x2e0606bc, 0x0 }, /* 431 */ + { 0x2e0606c0, 0xfffff }, /* 432 */ + { 0x2e0606c4, 0x0 }, /* 433 */ + { 0x2e0606c8, 0xfffff }, /* 434 */ + { 0x2e0606cc, 0x0 }, /* 435 */ + { 0x2e0606d0, 0xfffff }, /* 436 */ + { 0x2e0606d4, 0x0 }, /* 437 */ + { 0x2e0606d8, 0xfffff }, /* 438 */ + { 0x2e0606dc, 0x0 }, /* 439 */ + { 0x2e0606e0, 0xfffff }, /* 440 */ + { 0x2e0606e4, 0x0 }, /* 441 */ + { 0x2e0606e8, 0x30fffff }, /* 442 */ + { 0x2e0606ec, 0xffffffff }, /* 443 */ + { 0x2e0606f0, 0x30000 }, /* 444 */ + { 0x2e0606f4, 0xffffffff }, /* 445 */ + { 0x2e0606f8, 0x30000 }, /* 446 */ + { 0x2e0606fc, 0xffffffff }, /* 447 */ + { 0x2e060700, 0x30000 }, /* 448 */ + { 0x2e060704, 0xffffffff }, /* 449 */ + { 0x2e060708, 0x30000 }, /* 450 */ + { 0x2e06070c, 0xffffffff }, /* 451 */ + { 0x2e060710, 0x30000 }, /* 452 */ + { 0x2e060714, 0xffffffff }, /* 453 */ + { 0x2e060718, 0x30000 }, /* 454 */ + { 0x2e06071c, 0xffffffff }, /* 455 */ + { 0x2e060720, 0x30000 }, /* 456 */ + { 0x2e060724, 0xffffffff }, /* 457 */ + { 0x2e060728, 0x30000 }, /* 458 */ + { 0x2e06072c, 0xffffffff }, /* 459 */ + { 0x2e060730, 0x30000 }, /* 460 */ + { 0x2e060734, 0xffffffff }, /* 461 */ + { 0x2e060738, 0x30000 }, /* 462 */ + { 0x2e06073c, 0xffffffff }, /* 463 */ + { 0x2e060740, 0x30000 }, /* 464 */ + { 0x2e060744, 0xffffffff }, /* 465 */ + { 0x2e060748, 0x30000 }, /* 466 */ + { 0x2e06074c, 0xffffffff }, /* 467 */ + { 0x2e060750, 0x30000 }, /* 468 */ + { 0x2e060754, 0xffffffff }, /* 469 */ + { 0x2e060758, 0x30000 }, /* 470 */ + { 0x2e06075c, 0xffffffff }, /* 471 */ + { 0x2e060760, 0x30000 }, /* 472 */ + { 0x2e060764, 0xffffffff }, /* 473 */ + { 0x2e060768, 0x30000 }, /* 474 */ + { 0x2e06076c, 0xffffffff }, /* 475 */ + { 0x2e060770, 0x30000 }, /* 476 */ + { 0x2e060774, 0xffffffff }, /* 477 */ + { 0x2e060778, 0x30000 }, /* 478 */ + { 0x2e06077c, 0xffffffff }, /* 479 */ + { 0x2e060780, 0x30000 }, /* 480 */ + { 0x2e060784, 0xffffffff }, /* 481 */ + { 0x2e060788, 0x30000 }, /* 482 */ + { 0x2e06078c, 0xffffffff }, /* 483 */ + { 0x2e060790, 0x30000 }, /* 484 */ + { 0x2e060794, 0xffffffff }, /* 485 */ + { 0x2e060798, 0x30000 }, /* 486 */ + { 0x2e06079c, 0xffffffff }, /* 487 */ + { 0x2e0607a0, 0x30000 }, /* 488 */ + { 0x2e0607a4, 0xffffffff }, /* 489 */ + { 0x2e0607a8, 0x30000 }, /* 490 */ + { 0x2e0607ac, 0xffffffff }, /* 491 */ + { 0x2e0607b0, 0x30000 }, /* 492 */ + { 0x2e0607b4, 0xffffffff }, /* 493 */ + { 0x2e0607b8, 0x30000 }, /* 494 */ + { 0x2e0607bc, 0xffffffff }, /* 495 */ + { 0x2e0607c0, 0x30000 }, /* 496 */ + { 0x2e0607c4, 0xffffffff }, /* 497 */ + { 0x2e0607c8, 0x30000 }, /* 498 */ + { 0x2e0607cc, 0xffffffff }, /* 499 */ + { 0x2e0607d0, 0x30000 }, /* 500 */ + { 0x2e0607d4, 0xffffffff }, /* 501 */ + { 0x2e0607d8, 0x30000 }, /* 502 */ + { 0x2e0607dc, 0xffffffff }, /* 503 */ + { 0x2e0607e0, 0x30000 }, /* 504 */ + { 0x2e0607e4, 0xffffffff }, /* 505 */ + { 0x2e0607e8, 0x30000 }, /* 506 */ + { 0x2e0607ec, 0xffffffff }, /* 507 */ + { 0x2e0607f0, 0x30000 }, /* 508 */ + { 0x2e0607f4, 0xffffffff }, /* 509 */ + { 0x2e0607f8, 0x30000 }, /* 510 */ + { 0x2e0607fc, 0xffffffff }, /* 511 */ + { 0x2e060800, 0x30000 }, /* 512 */ + { 0x2e060804, 0xffffffff }, /* 513 */ + { 0x2e060808, 0x30000 }, /* 514 */ + { 0x2e06080c, 0xffffffff }, /* 515 */ + { 0x2e060810, 0x30000 }, /* 516 */ + { 0x2e060814, 0xffffffff }, /* 517 */ + { 0x2e060818, 0x30000 }, /* 518 */ + { 0x2e06081c, 0xffffffff }, /* 519 */ + { 0x2e060820, 0x30000 }, /* 520 */ + { 0x2e060824, 0xffffffff }, /* 521 */ + { 0x2e060828, 0x30000 }, /* 522 */ + { 0x2e06082c, 0xffffffff }, /* 523 */ + { 0x2e060830, 0x30000 }, /* 524 */ + { 0x2e060834, 0xffffffff }, /* 525 */ + { 0x2e060838, 0x30000 }, /* 526 */ + { 0x2e06083c, 0xffffffff }, /* 527 */ + { 0x2e060840, 0x30000 }, /* 528 */ + { 0x2e060844, 0xffffffff }, /* 529 */ + { 0x2e060848, 0x30000 }, /* 530 */ + { 0x2e06084c, 0xffffffff }, /* 531 */ + { 0x2e060850, 0x30000 }, /* 532 */ + { 0x2e060854, 0xffffffff }, /* 533 */ + { 0x2e060858, 0x30000 }, /* 534 */ + { 0x2e06085c, 0xffffffff }, /* 535 */ + { 0x2e060860, 0x30000 }, /* 536 */ + { 0x2e060864, 0xffffffff }, /* 537 */ + { 0x2e060868, 0x30000 }, /* 538 */ + { 0x2e06086c, 0xffffffff }, /* 539 */ + { 0x2e060870, 0x30000 }, /* 540 */ + { 0x2e060874, 0xffffffff }, /* 541 */ + { 0x2e060878, 0x30000 }, /* 542 */ + { 0x2e06087c, 0xffffffff }, /* 543 */ + { 0x2e060880, 0x30000 }, /* 544 */ + { 0x2e060884, 0xffffffff }, /* 545 */ + { 0x2e060888, 0x30000 }, /* 546 */ + { 0x2e06088c, 0xffffffff }, /* 547 */ + { 0x2e060890, 0x30000 }, /* 548 */ + { 0x2e060894, 0xffffffff }, /* 549 */ + { 0x2e060898, 0x30000 }, /* 550 */ + { 0x2e06089c, 0xffffffff }, /* 551 */ + { 0x2e0608a0, 0x30000 }, /* 552 */ + { 0x2e0608a4, 0xffffffff }, /* 553 */ + { 0x2e0608a8, 0x30000 }, /* 554 */ + { 0x2e0608ac, 0xffffffff }, /* 555 */ + { 0x2e0608b0, 0x30000 }, /* 556 */ + { 0x2e0608b4, 0xffffffff }, /* 557 */ + { 0x2e0608b8, 0x30000 }, /* 558 */ + { 0x2e0608bc, 0xffffffff }, /* 559 */ + { 0x2e0608c0, 0x30000 }, /* 560 */ + { 0x2e0608c4, 0xffffffff }, /* 561 */ + { 0x2e0608c8, 0x30000 }, /* 562 */ + { 0x2e0608cc, 0xffffffff }, /* 563 */ + { 0x2e0608d0, 0x30000 }, /* 564 */ + { 0x2e0608d4, 0xffffffff }, /* 565 */ + { 0x2e0608d8, 0x30000 }, /* 566 */ + { 0x2e0608dc, 0xffffffff }, /* 567 */ + { 0x2e0608e0, 0x30000 }, /* 568 */ + { 0x2e0608e4, 0xffffffff }, /* 569 */ + { 0x2e0608e8, 0x32070000 }, /* 570 */ + { 0x2e0608ec, 0x1320001 }, /* 571 */ + { 0x2e0608f0, 0x13200 }, /* 572 */ + { 0x2e0608f4, 0x132 }, /* 573 */ + { 0x2e0608f8, 0x0 }, /* 574 */ + { 0x2e0608fc, 0x211b0000 }, /* 575 */ + { 0x2e060900, 0x1d }, /* 576 */ + { 0x2e060904, 0xa }, /* 577 */ + { 0x2e060908, 0x166 }, /* 578 */ + { 0x2e06090c, 0x200 }, /* 579 */ + { 0x2e060910, 0x200 }, /* 580 */ + { 0x2e060914, 0x200 }, /* 581 */ + { 0x2e060918, 0x200 }, /* 582 */ + { 0x2e06091c, 0x432 }, /* 583 */ + { 0x2e060920, 0xdfc }, /* 584 */ + { 0x2e060924, 0x204 }, /* 585 */ + { 0x2e060928, 0x1030 }, /* 586 */ + { 0x2e06092c, 0x200 }, /* 587 */ + { 0x2e060930, 0x200 }, /* 588 */ + { 0x2e060934, 0x200 }, /* 589 */ + { 0x2e060938, 0x200 }, /* 590 */ + { 0x2e06093c, 0x3090 }, /* 591 */ + { 0x2e060940, 0xa1e0 }, /* 592 */ + { 0x2e060944, 0x406 }, /* 593 */ + { 0x2e060948, 0x810 }, /* 594 */ + { 0x2e06094c, 0x200 }, /* 595 */ + { 0x2e060950, 0x200 }, /* 596 */ + { 0x2e060954, 0x200 }, /* 597 */ + { 0x2e060958, 0x200 }, /* 598 */ + { 0x2e06095c, 0x1830 }, /* 599 */ + { 0x2e060960, 0x50a0 }, /* 600 */ + { 0x2e060964, 0x2020204 }, /* 601 */ + { 0x2e060968, 0x2030202 }, /* 602 */ + { 0x2e06096c, 0x1000202 }, /* 603 */ + { 0x2e060970, 0x1000304 }, /* 604 */ + { 0x2e060974, 0x10105 }, /* 605 */ + { 0x2e060978, 0x10101 }, /* 606 */ + { 0x2e06097c, 0x10101 }, /* 607 */ + { 0x2e060980, 0x10001 }, /* 608 */ + { 0x2e060984, 0x101 }, /* 609 */ + { 0x2e060988, 0x2000201 }, /* 610 */ + { 0x2e06098c, 0x2010000 }, /* 611 */ + { 0x2e060990, 0x6000200 }, /* 612 */ + { 0x2e060994, 0x300060a }, /* 613 */ + { 0x2e060998, 0x200060c }, /* 614 */ + { 0x2e06099c, 0xf00 }, /* 615 */ + { 0x2e0609a0, 0xf000f }, /* 616 */ + { 0x2e0609a4, 0xf000f }, /* 617 */ + { 0x2e0609a8, 0xf000f }, /* 618 */ + { 0x2e0609ac, 0xf000f }, /* 619 */ + { 0x2e0609b0, 0xf000f }, /* 620 */ + { 0x2e0609b4, 0xf000f }, /* 621 */ + { 0x2e0609b8, 0xf000f }, /* 622 */ + { 0x2e0609bc, 0xf000f }, /* 623 */ + { 0x2e0609c0, 0xf000f }, /* 624 */ + { 0x2e0609c4, 0xf000f }, /* 625 */ + { 0x2e0609c8, 0xf000f }, /* 626 */ + { 0x2e0609cc, 0xf000f }, /* 627 */ + { 0x2e0609d0, 0xf000f }, /* 628 */ + { 0x2e0609d4, 0xf000f }, /* 629 */ + { 0x2e0609d8, 0xf000f }, /* 630 */ + { 0x2e0609dc, 0xf000f }, /* 631 */ + { 0x2e0609e0, 0xf000f }, /* 632 */ + { 0x2e0609e4, 0xf000f }, /* 633 */ + { 0x2e0609e8, 0xf000f }, /* 634 */ + { 0x2e0609ec, 0xf000f }, /* 635 */ + { 0x2e0609f0, 0xf000f }, /* 636 */ + { 0x2e0609f4, 0xf000f }, /* 637 */ + { 0x2e0609f8, 0xf000f }, /* 638 */ + { 0x2e0609fc, 0xf000f }, /* 639 */ + { 0x2e060a00, 0xf000f }, /* 640 */ + { 0x2e060a04, 0xf000f }, /* 641 */ + { 0x2e060a08, 0xf000f }, /* 642 */ + { 0x2e060a0c, 0xf000f }, /* 643 */ + { 0x2e060a10, 0xf000f }, /* 644 */ + { 0x2e060a14, 0xf000f }, /* 645 */ + { 0x2e060a18, 0xf000f }, /* 646 */ + { 0x2e060a1c, 0xf000f }, /* 647 */ + { 0x2e060a20, 0xf000f }, /* 648 */ + { 0x2e060a24, 0xf000f }, /* 649 */ + { 0x2e060a28, 0xf000f }, /* 650 */ + { 0x2e060a2c, 0xf000f }, /* 651 */ + { 0x2e060a30, 0xf000f }, /* 652 */ + { 0x2e060a34, 0xf000f }, /* 653 */ + { 0x2e060a38, 0xf000f }, /* 654 */ + { 0x2e060a3c, 0xf000f }, /* 655 */ + { 0x2e060a40, 0xf000f }, /* 656 */ + { 0x2e060a44, 0xf000f }, /* 657 */ + { 0x2e060a48, 0xf000f }, /* 658 */ + { 0x2e060a4c, 0xf000f }, /* 659 */ + { 0x2e060a50, 0xf000f }, /* 660 */ + { 0x2e060a54, 0xf000f }, /* 661 */ + { 0x2e060a58, 0xf000f }, /* 662 */ + { 0x2e060a5c, 0xf000f }, /* 663 */ + { 0x2e060a60, 0xf000f }, /* 664 */ + { 0x2e060a64, 0xf000f }, /* 665 */ + { 0x2e060a68, 0xf000f }, /* 666 */ + { 0x2e060a6c, 0xf000f }, /* 667 */ + { 0x2e060a70, 0xf000f }, /* 668 */ + { 0x2e060a74, 0xf000f }, /* 669 */ + { 0x2e060a78, 0xf000f }, /* 670 */ + { 0x2e060a7c, 0xf000f }, /* 671 */ + { 0x2e060a80, 0xf000f }, /* 672 */ + { 0x2e060a84, 0xf000f }, /* 673 */ + { 0x2e060a88, 0xf000f }, /* 674 */ + { 0x2e060a8c, 0xf000f }, /* 675 */ + { 0x2e060a90, 0xf000f }, /* 676 */ + { 0x2e060a94, 0xf000f }, /* 677 */ + { 0x2e060a98, 0xf000f }, /* 678 */ + { 0x2e060a9c, 0xf }, /* 679 */ +}; + +/** PI settings **/ +struct dram_cfg_param ddr_pi_cfg[] = { + { 0x2e062000, 0xb00 }, /* 0 */ + { 0x2e062004, 0xbeedb66f }, /* 1 */ + { 0x2e062008, 0xabef6bd }, /* 2 */ + { 0x2e06200c, 0x1001387 }, /* 3 */ + { 0x2e062010, 0x1 }, /* 4 */ + { 0x2e062014, 0x10064 }, /* 5 */ + { 0x2e062018, 0x0 }, /* 6 */ + { 0x2e06201c, 0x0 }, /* 7 */ + { 0x2e062020, 0x0 }, /* 8 */ + { 0x2e062024, 0x0 }, /* 9 */ + { 0x2e062028, 0x0 }, /* 10 */ + { 0x2e06202c, 0x101 }, /* 11 */ + { 0x2e062030, 0x3 }, /* 12 */ + { 0x2e062034, 0x50001 }, /* 13 */ + { 0x2e062038, 0x3030800 }, /* 14 */ + { 0x2e06203c, 0x1 }, /* 15 */ + { 0x2e062040, 0x5 }, /* 16 */ + { 0x2e062044, 0x0 }, /* 17 */ + { 0x2e062048, 0x0 }, /* 18 */ + { 0x2e06204c, 0x0 }, /* 19 */ + { 0x2e062050, 0x0 }, /* 20 */ + { 0x2e062054, 0x0 }, /* 21 */ + { 0x2e062058, 0x0 }, /* 22 */ + { 0x2e06205c, 0x0 }, /* 23 */ + { 0x2e062060, 0x0 }, /* 24 */ + { 0x2e062064, 0x1000000 }, /* 25 */ + { 0x2e062068, 0xa000001 }, /* 26 */ + { 0x2e06206c, 0x28 }, /* 27 */ + { 0x2e062070, 0x1 }, /* 28 */ + { 0x2e062074, 0x320005 }, /* 29 */ + { 0x2e062078, 0x0 }, /* 30 */ + { 0x2e06207c, 0x0 }, /* 31 */ + { 0x2e062080, 0x10102 }, /* 32 */ + { 0x2e062084, 0x1 }, /* 33 */ + { 0x2e062088, 0xaa }, /* 34 */ + { 0x2e06208c, 0x55 }, /* 35 */ + { 0x2e062090, 0xb5 }, /* 36 */ + { 0x2e062094, 0x4a }, /* 37 */ + { 0x2e062098, 0x56 }, /* 38 */ + { 0x2e06209c, 0xa9 }, /* 39 */ + { 0x2e0620a0, 0xa9 }, /* 40 */ + { 0x2e0620a4, 0xb5 }, /* 41 */ + { 0x2e0620a8, 0x10000 }, /* 42 */ + { 0x2e0620ac, 0x100 }, /* 43 */ + { 0x2e0620b0, 0x5050000 }, /* 44 */ + { 0x2e0620b4, 0x12 }, /* 45 */ + { 0x2e0620b8, 0x7d0 }, /* 46 */ + { 0x2e0620bc, 0x300 }, /* 47 */ + { 0x2e0620c0, 0x0 }, /* 48 */ + { 0x2e0620c4, 0x0 }, /* 49 */ + { 0x2e0620c8, 0x1000000 }, /* 50 */ + { 0x2e0620cc, 0x10101 }, /* 51 */ + { 0x2e0620d0, 0x0 }, /* 52 */ + { 0x2e0620d4, 0x0 }, /* 53 */ + { 0x2e0620d8, 0x10003 }, /* 54 */ + { 0x2e0620dc, 0x170500 }, /* 55 */ + { 0x2e0620e0, 0x0 }, /* 56 */ + { 0x2e0620e4, 0x0 }, /* 57 */ + { 0x2e0620e8, 0x0 }, /* 58 */ + { 0x2e0620ec, 0xa140a01 }, /* 59 */ + { 0x2e0620f0, 0x204010a }, /* 60 */ + { 0x2e0620f4, 0x21010 }, /* 61 */ + { 0x2e0620f8, 0x40401 }, /* 62 */ + { 0x2e0620fc, 0x10e0005 }, /* 63 */ + { 0x2e062100, 0x5000001 }, /* 64 */ + { 0x2e062104, 0x204 }, /* 65 */ + { 0x2e062108, 0x34 }, /* 66 */ + { 0x2e06210c, 0x0 }, /* 67 */ + { 0x2e062110, 0x0 }, /* 68 */ + { 0x2e062114, 0x1000000 }, /* 69 */ + { 0x2e062118, 0x1000000 }, /* 70 */ + { 0x2e06211c, 0x80200 }, /* 71 */ + { 0x2e062120, 0x2000200 }, /* 72 */ + { 0x2e062124, 0x1000100 }, /* 73 */ + { 0x2e062128, 0x1000000 }, /* 74 */ + { 0x2e06212c, 0x2000200 }, /* 75 */ + { 0x2e062130, 0x200 }, /* 76 */ + { 0x2e062134, 0x0 }, /* 77 */ + { 0x2e062138, 0x0 }, /* 78 */ + { 0x2e06213c, 0x0 }, /* 79 */ + { 0x2e062140, 0x0 }, /* 80 */ + { 0x2e062144, 0x0 }, /* 81 */ + { 0x2e062148, 0x0 }, /* 82 */ + { 0x2e06214c, 0x0 }, /* 83 */ + { 0x2e062150, 0x0 }, /* 84 */ + { 0x2e062154, 0x0 }, /* 85 */ + { 0x2e062158, 0x0 }, /* 86 */ + { 0x2e06215c, 0x0 }, /* 87 */ + { 0x2e062160, 0x0 }, /* 88 */ + { 0x2e062164, 0x400 }, /* 89 */ + { 0x2e062168, 0x2010000 }, /* 90 */ + { 0x2e06216c, 0x80103 }, /* 91 */ + { 0x2e062170, 0x0 }, /* 92 */ + { 0x2e062174, 0x10008 }, /* 93 */ + { 0x2e062178, 0x0 }, /* 94 */ + { 0x2e06217c, 0xaa00 }, /* 95 */ + { 0x2e062180, 0x0 }, /* 96 */ + { 0x2e062184, 0x0 }, /* 97 */ + { 0x2e062188, 0x10000 }, /* 98 */ + { 0x2e06218c, 0x0 }, /* 99 */ + { 0x2e062190, 0x0 }, /* 100 */ + { 0x2e062194, 0x0 }, /* 101 */ + { 0x2e062198, 0x0 }, /* 102 */ + { 0x2e06219c, 0x0 }, /* 103 */ + { 0x2e0621a0, 0x0 }, /* 104 */ + { 0x2e0621a4, 0x0 }, /* 105 */ + { 0x2e0621a8, 0x0 }, /* 106 */ + { 0x2e0621ac, 0x0 }, /* 107 */ + { 0x2e0621b0, 0x0 }, /* 108 */ + { 0x2e0621b4, 0x0 }, /* 109 */ + { 0x2e0621b8, 0x0 }, /* 110 */ + { 0x2e0621bc, 0x0 }, /* 111 */ + { 0x2e0621c0, 0x0 }, /* 112 */ + { 0x2e0621c4, 0x0 }, /* 113 */ + { 0x2e0621c8, 0x0 }, /* 114 */ + { 0x2e0621cc, 0x0 }, /* 115 */ + { 0x2e0621d0, 0x0 }, /* 116 */ + { 0x2e0621d4, 0x0 }, /* 117 */ + { 0x2e0621d8, 0x0 }, /* 118 */ + { 0x2e0621dc, 0x0 }, /* 119 */ + { 0x2e0621e0, 0x0 }, /* 120 */ + { 0x2e0621e4, 0x0 }, /* 121 */ + { 0x2e0621e8, 0x0 }, /* 122 */ + { 0x2e0621ec, 0x8 }, /* 123 */ + { 0x2e0621f0, 0x0 }, /* 124 */ + { 0x2e0621f4, 0x0 }, /* 125 */ + { 0x2e0621f8, 0x0 }, /* 126 */ + { 0x2e0621fc, 0x0 }, /* 127 */ + { 0x2e062200, 0x0 }, /* 128 */ + { 0x2e062204, 0x0 }, /* 129 */ + { 0x2e062208, 0x0 }, /* 130 */ + { 0x2e06220c, 0x0 }, /* 131 */ + { 0x2e062210, 0x0 }, /* 132 */ + { 0x2e062214, 0x0 }, /* 133 */ + { 0x2e062218, 0xf0000 }, /* 134 */ + { 0x2e06221c, 0xa }, /* 135 */ + { 0x2e062220, 0x19 }, /* 136 */ + { 0x2e062224, 0x0 }, /* 137 */ + { 0x2e062228, 0x100 }, /* 138 */ + { 0x2e06222c, 0x0 }, /* 139 */ + { 0x2e062230, 0x0 }, /* 140 */ + { 0x2e062234, 0x0 }, /* 141 */ + { 0x2e062238, 0x1000000 }, /* 142 */ + { 0x2e06223c, 0x10003 }, /* 143 */ + { 0x2e062240, 0x2000101 }, /* 144 */ + { 0x2e062244, 0x1030001 }, /* 145 */ + { 0x2e062248, 0x10400 }, /* 146 */ + { 0x2e06224c, 0x6000105 }, /* 147 */ + { 0x2e062250, 0x1070001 }, /* 148 */ + { 0x2e062254, 0x0 }, /* 149 */ + { 0x2e062258, 0x0 }, /* 150 */ + { 0x2e06225c, 0x0 }, /* 151 */ + { 0x2e062260, 0x10001 }, /* 152 */ + { 0x2e062264, 0x0 }, /* 153 */ + { 0x2e062268, 0x0 }, /* 154 */ + { 0x2e06226c, 0x0 }, /* 155 */ + { 0x2e062270, 0x0 }, /* 156 */ + { 0x2e062274, 0x401 }, /* 157 */ + { 0x2e062278, 0x0 }, /* 158 */ + { 0x2e06227c, 0x10000 }, /* 159 */ + { 0x2e062280, 0x0 }, /* 160 */ + { 0x2e062284, 0xb010000 }, /* 161 */ + { 0x2e062288, 0x6 }, /* 162 */ + { 0x2e06228c, 0x34 }, /* 163 */ + { 0x2e062290, 0x3c }, /* 164 */ + { 0x2e062294, 0x20036 }, /* 165 */ + { 0x2e062298, 0x2000200 }, /* 166 */ + { 0x2e06229c, 0x14060c04 }, /* 167 */ + { 0x2e0622a0, 0x90c04 }, /* 168 */ + { 0x2e0622a4, 0xb3 }, /* 169 */ + { 0x2e0622a8, 0x60 }, /* 170 */ + { 0x2e0622ac, 0x818 }, /* 171 */ + { 0x2e0622b0, 0x30 }, /* 172 */ + { 0x2e0622b4, 0x4000408 }, /* 173 */ + { 0x2e0622b8, 0x1010404 }, /* 174 */ + { 0x2e0622bc, 0x1501 }, /* 175 */ + { 0x2e0622c0, 0x18001a }, /* 176 */ + { 0x2e0622c4, 0x1000100 }, /* 177 */ + { 0x2e0622c8, 0x100 }, /* 178 */ + { 0x2e0622cc, 0x0 }, /* 179 */ + { 0x2e0622d0, 0x5030403 }, /* 180 */ + { 0x2e0622d4, 0x1010508 }, /* 181 */ + { 0x2e0622d8, 0x1010101 }, /* 182 */ + { 0x2e0622dc, 0x0 }, /* 183 */ + { 0x2e0622e0, 0x0 }, /* 184 */ + { 0x2e0622e4, 0x0 }, /* 185 */ + { 0x2e0622e8, 0x2040604 }, /* 186 */ + { 0x2e0622ec, 0x2020204 }, /* 187 */ + { 0x2e0622f0, 0x3102 }, /* 188 */ + { 0x2e0622f4, 0x360009 }, /* 189 */ + { 0x2e0622f8, 0x34000e }, /* 190 */ + { 0x2e0622fc, 0x101000c }, /* 191 */ + { 0x2e062300, 0xd0101 }, /* 192 */ + { 0x2e062304, 0x1008601 }, /* 193 */ + { 0x2e062308, 0x1000043 }, /* 194 */ + { 0x2e06230c, 0xe000e }, /* 195 */ + { 0x2e062310, 0x870100 }, /* 196 */ + { 0x2e062314, 0x1000087 }, /* 197 */ + { 0x2e062318, 0x440044 }, /* 198 */ + { 0x2e06231c, 0x220f220f }, /* 199 */ + { 0x2e062320, 0x101220f }, /* 200 */ + { 0x2e062324, 0xa070601 }, /* 201 */ + { 0x2e062328, 0xa07070d }, /* 202 */ + { 0x2e06232c, 0xa07060d }, /* 203 */ + { 0x2e062330, 0xc00d }, /* 204 */ + { 0x2e062334, 0xc01000 }, /* 205 */ + { 0x2e062338, 0xc01000 }, /* 206 */ + { 0x2e06233c, 0x21000 }, /* 207 */ + { 0x2e062340, 0x14000d }, /* 208 */ + { 0x2e062344, 0x110086 }, /* 209 */ + { 0x2e062348, 0x150043 }, /* 210 */ + { 0x2e06234c, 0x220f0056 }, /* 211 */ + { 0x2e062350, 0x101 }, /* 212 */ + { 0x2e062354, 0x560019 }, /* 213 */ + { 0x2e062358, 0x101220f }, /* 214 */ + { 0x2e06235c, 0x1500 }, /* 215 */ + { 0x2e062360, 0x220f0056 }, /* 216 */ + { 0x2e062364, 0x8000101 }, /* 217 */ + { 0x2e062368, 0x4050403 }, /* 218 */ + { 0x2e06236c, 0x5eb }, /* 219 */ + { 0x2e062370, 0x20010003 }, /* 220 */ + { 0x2e062374, 0x80a0a03 }, /* 221 */ + { 0x2e062378, 0xb070a0c }, /* 222 */ + { 0x2e06237c, 0x41d0 }, /* 223 */ + { 0x2e062380, 0x20020017 }, /* 224 */ + { 0x2e062384, 0x80a0a08 }, /* 225 */ + { 0x2e062388, 0x6050506 }, /* 226 */ + { 0x2e06238c, 0x20e8 }, /* 227 */ + { 0x2e062390, 0x2001000c }, /* 228 */ + { 0x2e062394, 0xa0a04 }, /* 229 */ + { 0x2e062398, 0x166 }, /* 230 */ + { 0x2e06239c, 0xdfc }, /* 231 */ + { 0x2e0623a0, 0x1030 }, /* 232 */ + { 0x2e0623a4, 0xa1e0 }, /* 233 */ + { 0x2e0623a8, 0x810 }, /* 234 */ + { 0x2e0623ac, 0x50a0 }, /* 235 */ + { 0x2e0623b0, 0x64000a }, /* 236 */ + { 0x2e0623b4, 0x3030032 }, /* 237 */ + { 0x2e0623b8, 0x258103 }, /* 238 */ + { 0x2e0623bc, 0x17702 }, /* 239 */ + { 0x2e0623c0, 0x5 }, /* 240 */ + { 0x2e0623c4, 0x61 }, /* 241 */ + { 0x2e0623c8, 0xa }, /* 242 */ + { 0x2e0623cc, 0x1a0ab }, /* 243 */ + { 0x2e0623d0, 0x17702 }, /* 244 */ + { 0x2e0623d4, 0x5 }, /* 245 */ + { 0x2e0623d8, 0x42b }, /* 246 */ + { 0x2e0623dc, 0x64 }, /* 247 */ + { 0x2e0623e0, 0xd056 }, /* 248 */ + { 0x2e0623e4, 0x17702 }, /* 249 */ + { 0x2e0623e8, 0x5 }, /* 250 */ + { 0x2e0623ec, 0x216 }, /* 251 */ + { 0x2e0623f0, 0x1000032 }, /* 252 */ + { 0x2e0623f4, 0x310040 }, /* 253 */ + { 0x2e0623f8, 0x10002 }, /* 254 */ + { 0x2e0623fc, 0x2160040 }, /* 255 */ + { 0x2e062400, 0x10010 }, /* 256 */ + { 0x2e062404, 0x10b0040 }, /* 257 */ + { 0x2e062408, 0x308 }, /* 258 */ + { 0x2e06240c, 0xe001b }, /* 259 */ + { 0x2e062410, 0x1010101 }, /* 260 */ + { 0x2e062414, 0x2020101 }, /* 261 */ + { 0x2e062418, 0x8080404 }, /* 262 */ + { 0x2e06241c, 0x5508 }, /* 263 */ + { 0x2e062420, 0x83c5a00 }, /* 264 */ + { 0x2e062424, 0x55 }, /* 265 */ + { 0x2e062428, 0x55083c5a }, /* 266 */ + { 0x2e06242c, 0x5a000000 }, /* 267 */ + { 0x2e062430, 0x55083c }, /* 268 */ + { 0x2e062434, 0x3c5a0000 }, /* 269 */ + { 0x2e062438, 0xf0e0d0c }, /* 270 */ + { 0x2e06243c, 0xb0a0908 }, /* 271 */ + { 0x2e062440, 0x7060504 }, /* 272 */ + { 0x2e062444, 0x3020100 }, /* 273 */ + { 0x2e062448, 0x0 }, /* 274 */ + { 0x2e06244c, 0x2020101 }, /* 275 */ + { 0x2e062450, 0x8080404 }, /* 276 */ + { 0x2e062454, 0x300004 }, /* 277 */ + { 0x2e062458, 0x14004d4d }, /* 278 */ + { 0x2e06245c, 0x19443009 }, /* 279 */ + { 0x2e062460, 0x40419 }, /* 280 */ + { 0x2e062464, 0x19194430 }, /* 281 */ + { 0x2e062468, 0x30000404 }, /* 282 */ + { 0x2e06246c, 0x44d4d00 }, /* 283 */ + { 0x2e062470, 0x44300914 }, /* 284 */ + { 0x2e062474, 0x4041919 }, /* 285 */ + { 0x2e062478, 0x19443000 }, /* 286 */ + { 0x2e06247c, 0x40419 }, /* 287 */ + { 0x2e062480, 0x4d4d0030 }, /* 288 */ + { 0x2e062484, 0x30091404 }, /* 289 */ + { 0x2e062488, 0x4191944 }, /* 290 */ + { 0x2e06248c, 0x44300004 }, /* 291 */ + { 0x2e062490, 0x4041919 }, /* 292 */ + { 0x2e062494, 0x4d003000 }, /* 293 */ + { 0x2e062498, 0x914044d }, /* 294 */ + { 0x2e06249c, 0x19194430 }, /* 295 */ + { 0x2e0624a0, 0x30000404 }, /* 296 */ + { 0x2e0624a4, 0x4191944 }, /* 297 */ +}; + +/** PHY_F1 settings **/ +struct dram_cfg_param ddr_phy_f1_cfg[] = { + { 0x2e064000, 0x4f0 }, /* 0 */ + { 0x2e064004, 0x0 }, /* 1 */ + { 0x2e064008, 0x1030200 }, /* 2 */ + { 0x2e06400c, 0x0 }, /* 3 */ + { 0x2e064010, 0x0 }, /* 4 */ + { 0x2e064014, 0x3000000 }, /* 5 */ + { 0x2e064018, 0x1000001 }, /* 6 */ + { 0x2e06401c, 0x3000400 }, /* 7 */ + { 0x2e064020, 0x1 }, /* 8 */ + { 0x2e064024, 0x1 }, /* 9 */ + { 0x2e064028, 0x0 }, /* 10 */ + { 0x2e06402c, 0x0 }, /* 11 */ + { 0x2e064030, 0x10000 }, /* 12 */ + { 0x2e064034, 0x0 }, /* 13 */ + { 0x2e064038, 0xc00004 }, /* 14 */ + { 0x2e06403c, 0xcc0008 }, /* 15 */ + { 0x2e064040, 0x660601 }, /* 16 */ + { 0x2e064044, 0x3 }, /* 17 */ + { 0x2e064048, 0x0 }, /* 18 */ + { 0x2e06404c, 0x1 }, /* 19 */ + { 0x2e064050, 0xaaaa }, /* 20 */ + { 0x2e064054, 0x5555 }, /* 21 */ + { 0x2e064058, 0xb5b5 }, /* 22 */ + { 0x2e06405c, 0x4a4a }, /* 23 */ + { 0x2e064060, 0x5656 }, /* 24 */ + { 0x2e064064, 0xa9a9 }, /* 25 */ + { 0x2e064068, 0xb7b7 }, /* 26 */ + { 0x2e06406c, 0x4848 }, /* 27 */ + { 0x2e064070, 0x0 }, /* 28 */ + { 0x2e064074, 0x0 }, /* 29 */ + { 0x2e064078, 0x8000000 }, /* 30 */ + { 0x2e06407c, 0x4010008 }, /* 31 */ + { 0x2e064080, 0x408 }, /* 32 */ + { 0x2e064084, 0x3102000 }, /* 33 */ + { 0x2e064088, 0xc0020 }, /* 34 */ + { 0x2e06408c, 0x10000 }, /* 35 */ + { 0x2e064090, 0x55555555 }, /* 36 */ + { 0x2e064094, 0xaaaaaaaa }, /* 37 */ + { 0x2e064098, 0x55555555 }, /* 38 */ + { 0x2e06409c, 0xaaaaaaaa }, /* 39 */ + { 0x2e0640a0, 0x5555 }, /* 40 */ + { 0x2e0640a4, 0x1000100 }, /* 41 */ + { 0x2e0640a8, 0x800180 }, /* 42 */ + { 0x2e0640ac, 0x1 }, /* 43 */ + { 0x2e0640b0, 0x0 }, /* 44 */ + { 0x2e0640b4, 0x0 }, /* 45 */ + { 0x2e0640b8, 0x0 }, /* 46 */ + { 0x2e0640bc, 0x0 }, /* 47 */ + { 0x2e0640c0, 0x0 }, /* 48 */ + { 0x2e0640c4, 0x0 }, /* 49 */ + { 0x2e0640c8, 0x0 }, /* 50 */ + { 0x2e0640cc, 0x0 }, /* 51 */ + { 0x2e0640d0, 0x0 }, /* 52 */ + { 0x2e0640d4, 0x0 }, /* 53 */ + { 0x2e0640d8, 0x0 }, /* 54 */ + { 0x2e0640dc, 0x0 }, /* 55 */ + { 0x2e0640e0, 0x0 }, /* 56 */ + { 0x2e0640e4, 0x0 }, /* 57 */ + { 0x2e0640e8, 0x0 }, /* 58 */ + { 0x2e0640ec, 0x0 }, /* 59 */ + { 0x2e0640f0, 0x0 }, /* 60 */ + { 0x2e0640f4, 0x0 }, /* 61 */ + { 0x2e0640f8, 0x0 }, /* 62 */ + { 0x2e0640fc, 0x0 }, /* 63 */ + { 0x2e064100, 0x4 }, /* 64 */ + { 0x2e064104, 0x0 }, /* 65 */ + { 0x2e064108, 0x0 }, /* 66 */ + { 0x2e06410c, 0x0 }, /* 67 */ + { 0x2e064110, 0x0 }, /* 68 */ + { 0x2e064114, 0x0 }, /* 69 */ + { 0x2e064118, 0x0 }, /* 70 */ + { 0x2e06411c, 0x41f07ff }, /* 71 */ + { 0x2e064120, 0x1 }, /* 72 */ + { 0x2e064124, 0x1cc0800 }, /* 73 */ + { 0x2e064128, 0x3003cc08 }, /* 74 */ + { 0x2e06412c, 0x2000014e }, /* 75 */ + { 0x2e064130, 0x7ff0200 }, /* 76 */ + { 0x2e064134, 0x301 }, /* 77 */ + { 0x2e064138, 0x0 }, /* 78 */ + { 0x2e06413c, 0x0 }, /* 79 */ + { 0x2e064140, 0x30000 }, /* 80 */ + { 0x2e064144, 0x0 }, /* 81 */ + { 0x2e064148, 0x0 }, /* 82 */ + { 0x2e06414c, 0x0 }, /* 83 */ + { 0x2e064150, 0x0 }, /* 84 */ + { 0x2e064154, 0x2000000 }, /* 85 */ + { 0x2e064158, 0x51515042 }, /* 86 */ + { 0x2e06415c, 0x31c06000 }, /* 87 */ + { 0x2e064160, 0x9bf007f }, /* 88 */ + { 0x2e064164, 0xc0c001 }, /* 89 */ + { 0x2e064168, 0x3020000 }, /* 90 */ + { 0x2e06416c, 0x10001000 }, /* 91 */ + { 0x2e064170, 0xc043e42 }, /* 92 */ + { 0x2e064174, 0xf0c1701 }, /* 93 */ + { 0x2e064178, 0x1000140 }, /* 94 */ + { 0x2e06417c, 0xc000120 }, /* 95 */ + { 0x2e064180, 0x188 }, /* 96 */ + { 0x2e064184, 0x3200203 }, /* 97 */ + { 0x2e064188, 0x56417032 }, /* 98 */ + { 0x2e06418c, 0x8 }, /* 99 */ + { 0x2e064190, 0x3080308 }, /* 100 */ + { 0x2e064194, 0x3080308 }, /* 101 */ + { 0x2e064198, 0x3080308 }, /* 102 */ + { 0x2e06419c, 0x3080308 }, /* 103 */ + { 0x2e0641a0, 0x308 }, /* 104 */ + { 0x2e0641a4, 0x8000 }, /* 105 */ + { 0x2e0641a8, 0x800080 }, /* 106 */ + { 0x2e0641ac, 0x800080 }, /* 107 */ + { 0x2e0641b0, 0x800080 }, /* 108 */ + { 0x2e0641b4, 0x800080 }, /* 109 */ + { 0x2e0641b8, 0x800080 }, /* 110 */ + { 0x2e0641bc, 0x800080 }, /* 111 */ + { 0x2e0641c0, 0x800080 }, /* 112 */ + { 0x2e0641c4, 0x800080 }, /* 113 */ + { 0x2e0641c8, 0x1c40080 }, /* 114 */ + { 0x2e0641cc, 0x1a00001 }, /* 115 */ + { 0x2e0641d0, 0x0 }, /* 116 */ + { 0x2e0641d4, 0x10000 }, /* 117 */ + { 0x2e0641d8, 0x80200 }, /* 118 */ + { 0x2e0641dc, 0x0 }, /* 119 */ + { 0x2e0641e0, 0x0 }, /* 120 */ + { 0x2e064400, 0x4f0 }, /* 256 */ + { 0x2e064404, 0x0 }, /* 257 */ + { 0x2e064408, 0x1030200 }, /* 258 */ + { 0x2e06440c, 0x0 }, /* 259 */ + { 0x2e064410, 0x0 }, /* 260 */ + { 0x2e064414, 0x3000000 }, /* 261 */ + { 0x2e064418, 0x1000001 }, /* 262 */ + { 0x2e06441c, 0x3000400 }, /* 263 */ + { 0x2e064420, 0x1 }, /* 264 */ + { 0x2e064424, 0x1 }, /* 265 */ + { 0x2e064428, 0x0 }, /* 266 */ + { 0x2e06442c, 0x0 }, /* 267 */ + { 0x2e064430, 0x10000 }, /* 268 */ + { 0x2e064434, 0x0 }, /* 269 */ + { 0x2e064438, 0xc00004 }, /* 270 */ + { 0x2e06443c, 0xcc0008 }, /* 271 */ + { 0x2e064440, 0x660601 }, /* 272 */ + { 0x2e064444, 0x3 }, /* 273 */ + { 0x2e064448, 0x0 }, /* 274 */ + { 0x2e06444c, 0x1 }, /* 275 */ + { 0x2e064450, 0xaaaa }, /* 276 */ + { 0x2e064454, 0x5555 }, /* 277 */ + { 0x2e064458, 0xb5b5 }, /* 278 */ + { 0x2e06445c, 0x4a4a }, /* 279 */ + { 0x2e064460, 0x5656 }, /* 280 */ + { 0x2e064464, 0xa9a9 }, /* 281 */ + { 0x2e064468, 0xb7b7 }, /* 282 */ + { 0x2e06446c, 0x4848 }, /* 283 */ + { 0x2e064470, 0x0 }, /* 284 */ + { 0x2e064474, 0x0 }, /* 285 */ + { 0x2e064478, 0x8000000 }, /* 286 */ + { 0x2e06447c, 0x4010008 }, /* 287 */ + { 0x2e064480, 0x408 }, /* 288 */ + { 0x2e064484, 0x3102000 }, /* 289 */ + { 0x2e064488, 0xc0020 }, /* 290 */ + { 0x2e06448c, 0x10000 }, /* 291 */ + { 0x2e064490, 0x55555555 }, /* 292 */ + { 0x2e064494, 0xaaaaaaaa }, /* 293 */ + { 0x2e064498, 0x55555555 }, /* 294 */ + { 0x2e06449c, 0xaaaaaaaa }, /* 295 */ + { 0x2e0644a0, 0x5555 }, /* 296 */ + { 0x2e0644a4, 0x1000100 }, /* 297 */ + { 0x2e0644a8, 0x800180 }, /* 298 */ + { 0x2e0644ac, 0x0 }, /* 299 */ + { 0x2e0644b0, 0x0 }, /* 300 */ + { 0x2e0644b4, 0x0 }, /* 301 */ + { 0x2e0644b8, 0x0 }, /* 302 */ + { 0x2e0644bc, 0x0 }, /* 303 */ + { 0x2e0644c0, 0x0 }, /* 304 */ + { 0x2e0644c4, 0x0 }, /* 305 */ + { 0x2e0644c8, 0x0 }, /* 306 */ + { 0x2e0644cc, 0x0 }, /* 307 */ + { 0x2e0644d0, 0x0 }, /* 308 */ + { 0x2e0644d4, 0x0 }, /* 309 */ + { 0x2e0644d8, 0x0 }, /* 310 */ + { 0x2e0644dc, 0x0 }, /* 311 */ + { 0x2e0644e0, 0x0 }, /* 312 */ + { 0x2e0644e4, 0x0 }, /* 313 */ + { 0x2e0644e8, 0x0 }, /* 314 */ + { 0x2e0644ec, 0x0 }, /* 315 */ + { 0x2e0644f0, 0x0 }, /* 316 */ + { 0x2e0644f4, 0x0 }, /* 317 */ + { 0x2e0644f8, 0x0 }, /* 318 */ + { 0x2e0644fc, 0x0 }, /* 319 */ + { 0x2e064500, 0x4 }, /* 320 */ + { 0x2e064504, 0x0 }, /* 321 */ + { 0x2e064508, 0x0 }, /* 322 */ + { 0x2e06450c, 0x0 }, /* 323 */ + { 0x2e064510, 0x0 }, /* 324 */ + { 0x2e064514, 0x0 }, /* 325 */ + { 0x2e064518, 0x0 }, /* 326 */ + { 0x2e06451c, 0x41f07ff }, /* 327 */ + { 0x2e064520, 0x1 }, /* 328 */ + { 0x2e064524, 0x1cc0800 }, /* 329 */ + { 0x2e064528, 0x3003cc08 }, /* 330 */ + { 0x2e06452c, 0x2000014e }, /* 331 */ + { 0x2e064530, 0x7ff0200 }, /* 332 */ + { 0x2e064534, 0x301 }, /* 333 */ + { 0x2e064538, 0x0 }, /* 334 */ + { 0x2e06453c, 0x0 }, /* 335 */ + { 0x2e064540, 0x30000 }, /* 336 */ + { 0x2e064544, 0x0 }, /* 337 */ + { 0x2e064548, 0x0 }, /* 338 */ + { 0x2e06454c, 0x0 }, /* 339 */ + { 0x2e064550, 0x0 }, /* 340 */ + { 0x2e064554, 0x2000000 }, /* 341 */ + { 0x2e064558, 0x51515042 }, /* 342 */ + { 0x2e06455c, 0x31c06000 }, /* 343 */ + { 0x2e064560, 0x9bf007f }, /* 344 */ + { 0x2e064564, 0xc0c001 }, /* 345 */ + { 0x2e064568, 0x3020000 }, /* 346 */ + { 0x2e06456c, 0x10001000 }, /* 347 */ + { 0x2e064570, 0xc043e42 }, /* 348 */ + { 0x2e064574, 0xf0c1701 }, /* 349 */ + { 0x2e064578, 0x1000140 }, /* 350 */ + { 0x2e06457c, 0xc000120 }, /* 351 */ + { 0x2e064580, 0x188 }, /* 352 */ + { 0x2e064584, 0x3200203 }, /* 353 */ + { 0x2e064588, 0x30217465 }, /* 354 */ + { 0x2e06458c, 0x8 }, /* 355 */ + { 0x2e064590, 0x3080308 }, /* 356 */ + { 0x2e064594, 0x3080308 }, /* 357 */ + { 0x2e064598, 0x3080308 }, /* 358 */ + { 0x2e06459c, 0x3080308 }, /* 359 */ + { 0x2e0645a0, 0x308 }, /* 360 */ + { 0x2e0645a4, 0x8000 }, /* 361 */ + { 0x2e0645a8, 0x800080 }, /* 362 */ + { 0x2e0645ac, 0x800080 }, /* 363 */ + { 0x2e0645b0, 0x800080 }, /* 364 */ + { 0x2e0645b4, 0x800080 }, /* 365 */ + { 0x2e0645b8, 0x800080 }, /* 366 */ + { 0x2e0645bc, 0x800080 }, /* 367 */ + { 0x2e0645c0, 0x800080 }, /* 368 */ + { 0x2e0645c4, 0x800080 }, /* 369 */ + { 0x2e0645c8, 0x1c40080 }, /* 370 */ + { 0x2e0645cc, 0x1a00001 }, /* 371 */ + { 0x2e0645d0, 0x0 }, /* 372 */ + { 0x2e0645d4, 0x10000 }, /* 373 */ + { 0x2e0645d8, 0x80200 }, /* 374 */ + { 0x2e0645dc, 0x0 }, /* 375 */ + { 0x2e0645e0, 0x0 }, /* 376 */ + { 0x2e064800, 0x4f0 }, /* 512 */ + { 0x2e064804, 0x0 }, /* 513 */ + { 0x2e064808, 0x1030200 }, /* 514 */ + { 0x2e06480c, 0x0 }, /* 515 */ + { 0x2e064810, 0x0 }, /* 516 */ + { 0x2e064814, 0x3000000 }, /* 517 */ + { 0x2e064818, 0x1000001 }, /* 518 */ + { 0x2e06481c, 0x3000400 }, /* 519 */ + { 0x2e064820, 0x1 }, /* 520 */ + { 0x2e064824, 0x1 }, /* 521 */ + { 0x2e064828, 0x0 }, /* 522 */ + { 0x2e06482c, 0x0 }, /* 523 */ + { 0x2e064830, 0x10000 }, /* 524 */ + { 0x2e064834, 0x0 }, /* 525 */ + { 0x2e064838, 0xc00004 }, /* 526 */ + { 0x2e06483c, 0xcc0008 }, /* 527 */ + { 0x2e064840, 0x660601 }, /* 528 */ + { 0x2e064844, 0x3 }, /* 529 */ + { 0x2e064848, 0x0 }, /* 530 */ + { 0x2e06484c, 0x1 }, /* 531 */ + { 0x2e064850, 0xaaaa }, /* 532 */ + { 0x2e064854, 0x5555 }, /* 533 */ + { 0x2e064858, 0xb5b5 }, /* 534 */ + { 0x2e06485c, 0x4a4a }, /* 535 */ + { 0x2e064860, 0x5656 }, /* 536 */ + { 0x2e064864, 0xa9a9 }, /* 537 */ + { 0x2e064868, 0xb7b7 }, /* 538 */ + { 0x2e06486c, 0x4848 }, /* 539 */ + { 0x2e064870, 0x0 }, /* 540 */ + { 0x2e064874, 0x0 }, /* 541 */ + { 0x2e064878, 0x8000000 }, /* 542 */ + { 0x2e06487c, 0x4010008 }, /* 543 */ + { 0x2e064880, 0x408 }, /* 544 */ + { 0x2e064884, 0x3102000 }, /* 545 */ + { 0x2e064888, 0xc0020 }, /* 546 */ + { 0x2e06488c, 0x10000 }, /* 547 */ + { 0x2e064890, 0x55555555 }, /* 548 */ + { 0x2e064894, 0xaaaaaaaa }, /* 549 */ + { 0x2e064898, 0x55555555 }, /* 550 */ + { 0x2e06489c, 0xaaaaaaaa }, /* 551 */ + { 0x2e0648a0, 0x5555 }, /* 552 */ + { 0x2e0648a4, 0x1000100 }, /* 553 */ + { 0x2e0648a8, 0x800180 }, /* 554 */ + { 0x2e0648ac, 0x1 }, /* 555 */ + { 0x2e0648b0, 0x0 }, /* 556 */ + { 0x2e0648b4, 0x0 }, /* 557 */ + { 0x2e0648b8, 0x0 }, /* 558 */ + { 0x2e0648bc, 0x0 }, /* 559 */ + { 0x2e0648c0, 0x0 }, /* 560 */ + { 0x2e0648c4, 0x0 }, /* 561 */ + { 0x2e0648c8, 0x0 }, /* 562 */ + { 0x2e0648cc, 0x0 }, /* 563 */ + { 0x2e0648d0, 0x0 }, /* 564 */ + { 0x2e0648d4, 0x0 }, /* 565 */ + { 0x2e0648d8, 0x0 }, /* 566 */ + { 0x2e0648dc, 0x0 }, /* 567 */ + { 0x2e0648e0, 0x0 }, /* 568 */ + { 0x2e0648e4, 0x0 }, /* 569 */ + { 0x2e0648e8, 0x0 }, /* 570 */ + { 0x2e0648ec, 0x0 }, /* 571 */ + { 0x2e0648f0, 0x0 }, /* 572 */ + { 0x2e0648f4, 0x0 }, /* 573 */ + { 0x2e0648f8, 0x0 }, /* 574 */ + { 0x2e0648fc, 0x0 }, /* 575 */ + { 0x2e064900, 0x4 }, /* 576 */ + { 0x2e064904, 0x0 }, /* 577 */ + { 0x2e064908, 0x0 }, /* 578 */ + { 0x2e06490c, 0x0 }, /* 579 */ + { 0x2e064910, 0x0 }, /* 580 */ + { 0x2e064914, 0x0 }, /* 581 */ + { 0x2e064918, 0x0 }, /* 582 */ + { 0x2e06491c, 0x41f07ff }, /* 583 */ + { 0x2e064920, 0x1 }, /* 584 */ + { 0x2e064924, 0x1cc0800 }, /* 585 */ + { 0x2e064928, 0x3003cc08 }, /* 586 */ + { 0x2e06492c, 0x2000014e }, /* 587 */ + { 0x2e064930, 0x7ff0200 }, /* 588 */ + { 0x2e064934, 0x301 }, /* 589 */ + { 0x2e064938, 0x0 }, /* 590 */ + { 0x2e06493c, 0x0 }, /* 591 */ + { 0x2e064940, 0x30000 }, /* 592 */ + { 0x2e064944, 0x0 }, /* 593 */ + { 0x2e064948, 0x0 }, /* 594 */ + { 0x2e06494c, 0x0 }, /* 595 */ + { 0x2e064950, 0x0 }, /* 596 */ + { 0x2e064954, 0x2000000 }, /* 597 */ + { 0x2e064958, 0x51515042 }, /* 598 */ + { 0x2e06495c, 0x31c06000 }, /* 599 */ + { 0x2e064960, 0x9bf007f }, /* 600 */ + { 0x2e064964, 0xc0c001 }, /* 601 */ + { 0x2e064968, 0x3020000 }, /* 602 */ + { 0x2e06496c, 0x10001000 }, /* 603 */ + { 0x2e064970, 0xc043e42 }, /* 604 */ + { 0x2e064974, 0xf0c1701 }, /* 605 */ + { 0x2e064978, 0x1000140 }, /* 606 */ + { 0x2e06497c, 0xc000120 }, /* 607 */ + { 0x2e064980, 0x188 }, /* 608 */ + { 0x2e064984, 0x3200203 }, /* 609 */ + { 0x2e064988, 0x75436012 }, /* 610 */ + { 0x2e06498c, 0x8 }, /* 611 */ + { 0x2e064990, 0x3080308 }, /* 612 */ + { 0x2e064994, 0x3080308 }, /* 613 */ + { 0x2e064998, 0x3080308 }, /* 614 */ + { 0x2e06499c, 0x3080308 }, /* 615 */ + { 0x2e0649a0, 0x308 }, /* 616 */ + { 0x2e0649a4, 0x8000 }, /* 617 */ + { 0x2e0649a8, 0x800080 }, /* 618 */ + { 0x2e0649ac, 0x800080 }, /* 619 */ + { 0x2e0649b0, 0x800080 }, /* 620 */ + { 0x2e0649b4, 0x800080 }, /* 621 */ + { 0x2e0649b8, 0x800080 }, /* 622 */ + { 0x2e0649bc, 0x800080 }, /* 623 */ + { 0x2e0649c0, 0x800080 }, /* 624 */ + { 0x2e0649c4, 0x800080 }, /* 625 */ + { 0x2e0649c8, 0x1c40080 }, /* 626 */ + { 0x2e0649cc, 0x1a00001 }, /* 627 */ + { 0x2e0649d0, 0x0 }, /* 628 */ + { 0x2e0649d4, 0x10000 }, /* 629 */ + { 0x2e0649d8, 0x80200 }, /* 630 */ + { 0x2e0649dc, 0x0 }, /* 631 */ + { 0x2e0649e0, 0x0 }, /* 632 */ + { 0x2e064c00, 0x4f0 }, /* 768 */ + { 0x2e064c04, 0x0 }, /* 769 */ + { 0x2e064c08, 0x1030200 }, /* 770 */ + { 0x2e064c0c, 0x0 }, /* 771 */ + { 0x2e064c10, 0x0 }, /* 772 */ + { 0x2e064c14, 0x3000000 }, /* 773 */ + { 0x2e064c18, 0x1000001 }, /* 774 */ + { 0x2e064c1c, 0x3000400 }, /* 775 */ + { 0x2e064c20, 0x1 }, /* 776 */ + { 0x2e064c24, 0x1 }, /* 777 */ + { 0x2e064c28, 0x0 }, /* 778 */ + { 0x2e064c2c, 0x0 }, /* 779 */ + { 0x2e064c30, 0x10000 }, /* 780 */ + { 0x2e064c34, 0x0 }, /* 781 */ + { 0x2e064c38, 0xc00004 }, /* 782 */ + { 0x2e064c3c, 0xcc0008 }, /* 783 */ + { 0x2e064c40, 0x660601 }, /* 784 */ + { 0x2e064c44, 0x3 }, /* 785 */ + { 0x2e064c48, 0x0 }, /* 786 */ + { 0x2e064c4c, 0x1 }, /* 787 */ + { 0x2e064c50, 0xaaaa }, /* 788 */ + { 0x2e064c54, 0x5555 }, /* 789 */ + { 0x2e064c58, 0xb5b5 }, /* 790 */ + { 0x2e064c5c, 0x4a4a }, /* 791 */ + { 0x2e064c60, 0x5656 }, /* 792 */ + { 0x2e064c64, 0xa9a9 }, /* 793 */ + { 0x2e064c68, 0xb7b7 }, /* 794 */ + { 0x2e064c6c, 0x4848 }, /* 795 */ + { 0x2e064c70, 0x0 }, /* 796 */ + { 0x2e064c74, 0x0 }, /* 797 */ + { 0x2e064c78, 0x8000000 }, /* 798 */ + { 0x2e064c7c, 0x4010008 }, /* 799 */ + { 0x2e064c80, 0x408 }, /* 800 */ + { 0x2e064c84, 0x3102000 }, /* 801 */ + { 0x2e064c88, 0xc0020 }, /* 802 */ + { 0x2e064c8c, 0x10000 }, /* 803 */ + { 0x2e064c90, 0x55555555 }, /* 804 */ + { 0x2e064c94, 0xaaaaaaaa }, /* 805 */ + { 0x2e064c98, 0x55555555 }, /* 806 */ + { 0x2e064c9c, 0xaaaaaaaa }, /* 807 */ + { 0x2e064ca0, 0x5555 }, /* 808 */ + { 0x2e064ca4, 0x1000100 }, /* 809 */ + { 0x2e064ca8, 0x800180 }, /* 810 */ + { 0x2e064cac, 0x0 }, /* 811 */ + { 0x2e064cb0, 0x0 }, /* 812 */ + { 0x2e064cb4, 0x0 }, /* 813 */ + { 0x2e064cb8, 0x0 }, /* 814 */ + { 0x2e064cbc, 0x0 }, /* 815 */ + { 0x2e064cc0, 0x0 }, /* 816 */ + { 0x2e064cc4, 0x0 }, /* 817 */ + { 0x2e064cc8, 0x0 }, /* 818 */ + { 0x2e064ccc, 0x0 }, /* 819 */ + { 0x2e064cd0, 0x0 }, /* 820 */ + { 0x2e064cd4, 0x0 }, /* 821 */ + { 0x2e064cd8, 0x0 }, /* 822 */ + { 0x2e064cdc, 0x0 }, /* 823 */ + { 0x2e064ce0, 0x0 }, /* 824 */ + { 0x2e064ce4, 0x0 }, /* 825 */ + { 0x2e064ce8, 0x0 }, /* 826 */ + { 0x2e064cec, 0x0 }, /* 827 */ + { 0x2e064cf0, 0x0 }, /* 828 */ + { 0x2e064cf4, 0x0 }, /* 829 */ + { 0x2e064cf8, 0x0 }, /* 830 */ + { 0x2e064cfc, 0x0 }, /* 831 */ + { 0x2e064d00, 0x4 }, /* 832 */ + { 0x2e064d04, 0x0 }, /* 833 */ + { 0x2e064d08, 0x0 }, /* 834 */ + { 0x2e064d0c, 0x0 }, /* 835 */ + { 0x2e064d10, 0x0 }, /* 836 */ + { 0x2e064d14, 0x0 }, /* 837 */ + { 0x2e064d18, 0x0 }, /* 838 */ + { 0x2e064d1c, 0x41f07ff }, /* 839 */ + { 0x2e064d20, 0x1 }, /* 840 */ + { 0x2e064d24, 0x1cc0800 }, /* 841 */ + { 0x2e064d28, 0x3003cc08 }, /* 842 */ + { 0x2e064d2c, 0x2000014e }, /* 843 */ + { 0x2e064d30, 0x7ff0200 }, /* 844 */ + { 0x2e064d34, 0x301 }, /* 845 */ + { 0x2e064d38, 0x0 }, /* 846 */ + { 0x2e064d3c, 0x0 }, /* 847 */ + { 0x2e064d40, 0x30000 }, /* 848 */ + { 0x2e064d44, 0x0 }, /* 849 */ + { 0x2e064d48, 0x0 }, /* 850 */ + { 0x2e064d4c, 0x0 }, /* 851 */ + { 0x2e064d50, 0x0 }, /* 852 */ + { 0x2e064d54, 0x2000000 }, /* 853 */ + { 0x2e064d58, 0x51515042 }, /* 854 */ + { 0x2e064d5c, 0x31c06000 }, /* 855 */ + { 0x2e064d60, 0x9bf007f }, /* 856 */ + { 0x2e064d64, 0xc0c001 }, /* 857 */ + { 0x2e064d68, 0x3020000 }, /* 858 */ + { 0x2e064d6c, 0x10001000 }, /* 859 */ + { 0x2e064d70, 0xc043e42 }, /* 860 */ + { 0x2e064d74, 0xf0c1701 }, /* 861 */ + { 0x2e064d78, 0x1000140 }, /* 862 */ + { 0x2e064d7c, 0xc000120 }, /* 863 */ + { 0x2e064d80, 0x188 }, /* 864 */ + { 0x2e064d84, 0x3200203 }, /* 865 */ + { 0x2e064d88, 0x32017465 }, /* 866 */ + { 0x2e064d8c, 0x8 }, /* 867 */ + { 0x2e064d90, 0x3080308 }, /* 868 */ + { 0x2e064d94, 0x3080308 }, /* 869 */ + { 0x2e064d98, 0x3080308 }, /* 870 */ + { 0x2e064d9c, 0x3080308 }, /* 871 */ + { 0x2e064da0, 0x308 }, /* 872 */ + { 0x2e064da4, 0x8000 }, /* 873 */ + { 0x2e064da8, 0x800080 }, /* 874 */ + { 0x2e064dac, 0x800080 }, /* 875 */ + { 0x2e064db0, 0x800080 }, /* 876 */ + { 0x2e064db4, 0x800080 }, /* 877 */ + { 0x2e064db8, 0x800080 }, /* 878 */ + { 0x2e064dbc, 0x800080 }, /* 879 */ + { 0x2e064dc0, 0x800080 }, /* 880 */ + { 0x2e064dc4, 0x800080 }, /* 881 */ + { 0x2e064dc8, 0x1c40080 }, /* 882 */ + { 0x2e064dcc, 0x1a00001 }, /* 883 */ + { 0x2e064dd0, 0x0 }, /* 884 */ + { 0x2e064dd4, 0x10000 }, /* 885 */ + { 0x2e064dd8, 0x80200 }, /* 886 */ + { 0x2e064ddc, 0x0 }, /* 887 */ + { 0x2e064de0, 0x0 }, /* 888 */ + { 0x2e065000, 0x0 }, /* 1024 */ + { 0x2e065004, 0x0 }, /* 1025 */ + { 0x2e065008, 0x0 }, /* 1026 */ + { 0x2e06500c, 0x0 }, /* 1027 */ + { 0x2e065010, 0x0 }, /* 1028 */ + { 0x2e065014, 0x100 }, /* 1029 */ + { 0x2e065018, 0x201 }, /* 1030 */ + { 0x2e06501c, 0x0 }, /* 1031 */ + { 0x2e065020, 0x0 }, /* 1032 */ + { 0x2e065024, 0x0 }, /* 1033 */ + { 0x2e065028, 0x0 }, /* 1034 */ + { 0x2e06502c, 0x400000 }, /* 1035 */ + { 0x2e065030, 0x80 }, /* 1036 */ + { 0x2e065034, 0xdcba98 }, /* 1037 */ + { 0x2e065038, 0x3000000 }, /* 1038 */ + { 0x2e06503c, 0x0 }, /* 1039 */ + { 0x2e065040, 0x0 }, /* 1040 */ + { 0x2e065044, 0x0 }, /* 1041 */ + { 0x2e065048, 0x0 }, /* 1042 */ + { 0x2e06504c, 0x2a }, /* 1043 */ + { 0x2e065050, 0x15 }, /* 1044 */ + { 0x2e065054, 0x15 }, /* 1045 */ + { 0x2e065058, 0x2a }, /* 1046 */ + { 0x2e06505c, 0x33 }, /* 1047 */ + { 0x2e065060, 0xc }, /* 1048 */ + { 0x2e065064, 0xc }, /* 1049 */ + { 0x2e065068, 0x33 }, /* 1050 */ + { 0x2e06506c, 0x543210 }, /* 1051 */ + { 0x2e065070, 0x3f0000 }, /* 1052 */ + { 0x2e065074, 0xf013f }, /* 1053 */ + { 0x2e065078, 0xf }, /* 1054 */ + { 0x2e06507c, 0x3cc }, /* 1055 */ + { 0x2e065080, 0x30000 }, /* 1056 */ + { 0x2e065084, 0x300 }, /* 1057 */ + { 0x2e065088, 0x300 }, /* 1058 */ + { 0x2e06508c, 0x300 }, /* 1059 */ + { 0x2e065090, 0x300 }, /* 1060 */ + { 0x2e065094, 0x300 }, /* 1061 */ + { 0x2e065098, 0x42080010 }, /* 1062 */ + { 0x2e06509c, 0x33e }, /* 1063 */ + { 0x2e0650a0, 0x2 }, /* 1064 */ + { 0x2e065400, 0x0 }, /* 1280 */ + { 0x2e065404, 0x0 }, /* 1281 */ + { 0x2e065408, 0x0 }, /* 1282 */ + { 0x2e06540c, 0x0 }, /* 1283 */ + { 0x2e065410, 0x0 }, /* 1284 */ + { 0x2e065414, 0x100 }, /* 1285 */ + { 0x2e065418, 0x201 }, /* 1286 */ + { 0x2e06541c, 0x0 }, /* 1287 */ + { 0x2e065420, 0x0 }, /* 1288 */ + { 0x2e065424, 0x0 }, /* 1289 */ + { 0x2e065428, 0x0 }, /* 1290 */ + { 0x2e06542c, 0x400000 }, /* 1291 */ + { 0x2e065430, 0x80 }, /* 1292 */ + { 0x2e065434, 0xdcba98 }, /* 1293 */ + { 0x2e065438, 0x3000000 }, /* 1294 */ + { 0x2e06543c, 0x0 }, /* 1295 */ + { 0x2e065440, 0x0 }, /* 1296 */ + { 0x2e065444, 0x0 }, /* 1297 */ + { 0x2e065448, 0x0 }, /* 1298 */ + { 0x2e06544c, 0x2a }, /* 1299 */ + { 0x2e065450, 0x15 }, /* 1300 */ + { 0x2e065454, 0x15 }, /* 1301 */ + { 0x2e065458, 0x2a }, /* 1302 */ + { 0x2e06545c, 0x33 }, /* 1303 */ + { 0x2e065460, 0xc }, /* 1304 */ + { 0x2e065464, 0xc }, /* 1305 */ + { 0x2e065468, 0x33 }, /* 1306 */ + { 0x2e06546c, 0x543210 }, /* 1307 */ + { 0x2e065470, 0x3f0000 }, /* 1308 */ + { 0x2e065474, 0xf013f }, /* 1309 */ + { 0x2e065478, 0xf }, /* 1310 */ + { 0x2e06547c, 0x3cc }, /* 1311 */ + { 0x2e065480, 0x30000 }, /* 1312 */ + { 0x2e065484, 0x300 }, /* 1313 */ + { 0x2e065488, 0x300 }, /* 1314 */ + { 0x2e06548c, 0x300 }, /* 1315 */ + { 0x2e065490, 0x300 }, /* 1316 */ + { 0x2e065494, 0x300 }, /* 1317 */ + { 0x2e065498, 0x42080010 }, /* 1318 */ + { 0x2e06549c, 0x33e }, /* 1319 */ + { 0x2e0654a0, 0x2 }, /* 1320 */ + { 0x2e065800, 0x0 }, /* 1536 */ + { 0x2e065804, 0x10100 }, /* 1537 */ + { 0x2e065808, 0x0 }, /* 1538 */ + { 0x2e06580c, 0x0 }, /* 1539 */ + { 0x2e065810, 0x0 }, /* 1540 */ + { 0x2e065814, 0x50000 }, /* 1541 */ + { 0x2e065818, 0x4000100 }, /* 1542 */ + { 0x2e06581c, 0x55 }, /* 1543 */ + { 0x2e065820, 0x0 }, /* 1544 */ + { 0x2e065824, 0x0 }, /* 1545 */ + { 0x2e065828, 0x0 }, /* 1546 */ + { 0x2e06582c, 0xf0001 }, /* 1547 */ + { 0x2e065830, 0x280040 }, /* 1548 */ + { 0x2e065834, 0x5002 }, /* 1549 */ + { 0x2e065838, 0x10101 }, /* 1550 */ + { 0x2e06583c, 0x0 }, /* 1551 */ + { 0x2e065840, 0x90e0000 }, /* 1552 */ + { 0x2e065844, 0x101010f }, /* 1553 */ + { 0x2e065848, 0x10f0004 }, /* 1554 */ + { 0x2e06584c, 0x0 }, /* 1555 */ + { 0x2e065850, 0x0 }, /* 1556 */ + { 0x2e065854, 0x64 }, /* 1557 */ + { 0x2e065858, 0x0 }, /* 1558 */ + { 0x2e06585c, 0x1000000 }, /* 1559 */ + { 0x2e065860, 0x8040201 }, /* 1560 */ + { 0x2e065864, 0x2010201 }, /* 1561 */ + { 0x2e065868, 0xf0f0f }, /* 1562 */ + { 0x2e06586c, 0x241b42 }, /* 1563 */ + { 0x2e065870, 0x0 }, /* 1564 */ + { 0x2e065874, 0x1020000 }, /* 1565 */ + { 0x2e065878, 0x703 }, /* 1566 */ + { 0x2e06587c, 0x54 }, /* 1567 */ + { 0x2e065880, 0x4102000 }, /* 1568 */ + { 0x2e065884, 0x24410 }, /* 1569 */ + { 0x2e065888, 0x4410 }, /* 1570 */ + { 0x2e06588c, 0x4410 }, /* 1571 */ + { 0x2e065890, 0x4410 }, /* 1572 */ + { 0x2e065894, 0x4410 }, /* 1573 */ + { 0x2e065898, 0x4410 }, /* 1574 */ + { 0x2e06589c, 0x4410 }, /* 1575 */ + { 0x2e0658a0, 0x4410 }, /* 1576 */ + { 0x2e0658a4, 0x4410 }, /* 1577 */ + { 0x2e0658a8, 0x0 }, /* 1578 */ + { 0x2e0658ac, 0x0 }, /* 1579 */ + { 0x2e0658b0, 0x60000 }, /* 1580 */ + { 0x2e0658b4, 0x0 }, /* 1581 */ + { 0x2e0658b8, 0x96 }, /* 1582 */ + { 0x2e0658bc, 0x10000 }, /* 1583 */ + { 0x2e0658c0, 0x8 }, /* 1584 */ + { 0x2e0658c4, 0x0 }, /* 1585 */ + { 0x2e0658c8, 0x0 }, /* 1586 */ + { 0x2e0658cc, 0x0 }, /* 1587 */ + { 0x2e0658d0, 0x0 }, /* 1588 */ + { 0x2e0658d4, 0x0 }, /* 1589 */ + { 0x2e0658d8, 0x3000000 }, /* 1590 */ + { 0x2e0658dc, 0x0 }, /* 1591 */ + { 0x2e0658e0, 0x0 }, /* 1592 */ + { 0x2e0658e4, 0x0 }, /* 1593 */ + { 0x2e0658e8, 0x4102006 }, /* 1594 */ + { 0x2e0658ec, 0x41020 }, /* 1595 */ + { 0x2e0658f0, 0x1c98c98 }, /* 1596 */ + { 0x2e0658f4, 0x3f400000 }, /* 1597 */ + { 0x2e0658f8, 0x3f3f1f3f }, /* 1598 */ + { 0x2e0658fc, 0x1f }, /* 1599 */ + { 0x2e065900, 0x0 }, /* 1600 */ + { 0x2e065904, 0x0 }, /* 1601 */ + { 0x2e065908, 0x0 }, /* 1602 */ + { 0x2e06590c, 0x1 }, /* 1603 */ + { 0x2e065910, 0x0 }, /* 1604 */ + { 0x2e065914, 0x0 }, /* 1605 */ + { 0x2e065918, 0x0 }, /* 1606 */ + { 0x2e06591c, 0x1 }, /* 1607 */ + { 0x2e065920, 0x76543210 }, /* 1608 */ + { 0x2e065924, 0x10198 }, /* 1609 */ + { 0x2e065928, 0x0 }, /* 1610 */ + { 0x2e06592c, 0x0 }, /* 1611 */ + { 0x2e065930, 0x0 }, /* 1612 */ + { 0x2e065934, 0x40700 }, /* 1613 */ + { 0x2e065938, 0x0 }, /* 1614 */ + { 0x2e06593c, 0x0 }, /* 1615 */ + { 0x2e065940, 0x0 }, /* 1616 */ + { 0x2e065944, 0x0 }, /* 1617 */ + { 0x2e065948, 0x0 }, /* 1618 */ + { 0x2e06594c, 0x2 }, /* 1619 */ + { 0x2e065950, 0x0 }, /* 1620 */ + { 0x2e065954, 0x0 }, /* 1621 */ + { 0x2e065958, 0xf3c3 }, /* 1622 */ + { 0x2e06595c, 0x3 }, /* 1623 */ + { 0x2e065960, 0x0 }, /* 1624 */ + { 0x2e065964, 0x1342 }, /* 1625 */ + { 0x2e065968, 0x30209bf }, /* 1626 */ + { 0x2e06596c, 0x30000 }, /* 1627 */ + { 0x2e065970, 0x3000300 }, /* 1628 */ + { 0x2e065974, 0x3000300 }, /* 1629 */ + { 0x2e065978, 0x3000300 }, /* 1630 */ + { 0x2e06597c, 0x3000300 }, /* 1631 */ + { 0x2e065980, 0x300 }, /* 1632 */ + { 0x2e065984, 0x300 }, /* 1633 */ + { 0x2e065988, 0x300 }, /* 1634 */ + { 0x2e06598c, 0x4bf77 }, /* 1635 */ + { 0x2e065990, 0x77 }, /* 1636 */ + { 0x2e065994, 0x27f }, /* 1637 */ + { 0x2e065998, 0x0 }, /* 1638 */ + { 0x2e06599c, 0x27f }, /* 1639 */ + { 0x2e0659a0, 0x0 }, /* 1640 */ + { 0x2e0659a4, 0x27f00 }, /* 1641 */ + { 0x2e0659a8, 0x1980000 }, /* 1642 */ + { 0x2e0659ac, 0x27fcc }, /* 1643 */ + { 0x2e0659b0, 0x0 }, /* 1644 */ + { 0x2e0659b4, 0x27f00 }, /* 1645 */ + { 0x2e0659b8, 0x1980000 }, /* 1646 */ + { 0x2e0659bc, 0x27f00 }, /* 1647 */ + { 0x2e0659c0, 0x1980000 }, /* 1648 */ + { 0x2e0659c4, 0x27f00 }, /* 1649 */ + { 0x2e0659c8, 0x1980000 }, /* 1650 */ + { 0x2e0659cc, 0x27f00 }, /* 1651 */ + { 0x2e0659d0, 0x1980000 }, /* 1652 */ + { 0x2e0659d4, 0x20040003 }, /* 1653 */ +}; + +/** PHY_F2 settings **/ +struct dram_cfg_param ddr_phy_f2_cfg[] = { +}; + +/* ddr timing config params */ +struct dram_timing_info2 dram_timing = { + .ctl_cfg = ddr_ctl_cfg, + .ctl_cfg_num = ARRAY_SIZE(ddr_ctl_cfg), + .pi_cfg = ddr_pi_cfg, + .pi_cfg_num = ARRAY_SIZE(ddr_pi_cfg), + .phy_f1_cfg = ddr_phy_f1_cfg, + .phy_f1_cfg_num = ARRAY_SIZE(ddr_phy_f1_cfg), + .phy_f2_cfg = ddr_phy_f2_cfg, + .phy_f2_cfg_num = ARRAY_SIZE(ddr_phy_f2_cfg), + .fsp_table = { 96, 1056 }, +}; + diff --git a/board/freescale/imx8ulp_evk/spl.c b/board/freescale/imx8ulp_evk/spl.c new file mode 100644 index 0000000000..914986bbf8 --- /dev/null +++ b/board/freescale/imx8ulp_evk/spl.c @@ -0,0 +1,146 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright 2020 NXP + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +DECLARE_GLOBAL_DATA_PTR; + +void spl_dram_init(void) +{ + init_clk_ddr(); + ddr_init(&dram_timing); +} + +u32 spl_boot_device(void) +{ + return BOOT_DEVICE_BOOTROM; +} + +#define PMIC_I2C_PAD_CTRL (PAD_CTL_PUS_UP | PAD_CTL_SRE_SLOW | PAD_CTL_ODE) +#define PMIC_MODE_PAD_CTRL (PAD_CTL_PUS_UP) + +static iomux_cfg_t const pmic_pads[] = { + IMX8ULP_PAD_PTB7__PMIC0_MODE2 | MUX_PAD_CTRL(PMIC_MODE_PAD_CTRL), + IMX8ULP_PAD_PTB8__PMIC0_MODE1 | MUX_PAD_CTRL(PMIC_MODE_PAD_CTRL), + IMX8ULP_PAD_PTB9__PMIC0_MODE0 | MUX_PAD_CTRL(PMIC_MODE_PAD_CTRL), + IMX8ULP_PAD_PTB10__PMIC0_SDA | MUX_PAD_CTRL(PMIC_I2C_PAD_CTRL), + IMX8ULP_PAD_PTB11__PMIC0_SCL | MUX_PAD_CTRL(PMIC_I2C_PAD_CTRL), +}; + +static void setup_iomux_pmic(void) +{ + imx8ulp_iomux_setup_multiple_pads(pmic_pads, ARRAY_SIZE(pmic_pads)); +} + +static void xrdc_mrc_allow_access_sram1(void) +{ + ulong xrdc_base = 0x292f0000, off; + + /* The MRC8 is for SRAM1 */ + off = 0x2000 + 8 * 0x200; + + writel(0x21000000, xrdc_base + off); + writel(0x2100FFFF, xrdc_base + off + 4); + writel(0x241249, xrdc_base + off + 8); /* allow for domain 2/3, HIFI DSP/LPAV */ + writel(0x80000FFF, xrdc_base + off + 0x10); +} + +static void xrdc_configure_mda(void) +{ + ulong xrdc_base = 0x292f0000, off; + u32 i = 0; + + /* Set MDA3-5 for PXP, ENET, CAAM to DID 1*/ + for (i = 3; i <= 5; i++) { + off = 0x800 + i * 0x20; + writel(0x200000A1, xrdc_base + off); + writel(0xA00000A1, xrdc_base + off); + } + + /* Set MDA10 -15 to DID 3 for video */ + for (i = 10; i <= 15; i++) { + off = 0x800 + i * 0x20; + writel(0x200000A3, xrdc_base + off); + writel(0xA00000A3, xrdc_base + off); + } +} + +static void xrdc_mrc_allow_video_ddr(void) +{ + ulong xrdc_base = 0x292f0000, off; + + /* The MRC6 is for video modules to ddr */ + off = 0x2000 + 6 * 0x200; + + writel(0x80000000, xrdc_base + off); + writel(0xffffffff, xrdc_base + off + 4); + writel(0x200, xrdc_base + off + 8); /* allow for domain 3 video */ + writel(0x80000FFF, xrdc_base + off + 0x10); +} + +void spl_board_init(void) +{ + struct udevice *dev; + + uclass_find_first_device(UCLASS_MISC, &dev); + + for (; dev; uclass_find_next_device(&dev)) { + if (device_probe(dev)) + continue; + } + + board_early_init_f(); + + preloader_console_init(); + + puts("Normal Boot\n"); + + if (get_boot_mode() == SINGLE_BOOT) + setup_iomux_pmic(); + + /* DDR initialization */ + spl_dram_init(); + + xrdc_configure_mda(); + + xrdc_mrc_allow_access_sram1(); + + xrdc_mrc_allow_video_ddr(); +} + +#ifdef CONFIG_SPL_LOAD_FIT +int board_fit_config_name_match(const char *name) +{ + /* Just empty function now - can't decide what to choose */ + debug("%s: %s\n", __func__, name); + + return 0; +} +#endif + +void board_init_f(ulong dummy) +{ + /* Clear the BSS. */ + memset(__bss_start, 0, __bss_end - __bss_start); + + timer_init(); + + arch_cpu_init(); + + board_init_r(NULL, 0); +} diff --git a/configs/imx8ulp_evk_defconfig b/configs/imx8ulp_evk_defconfig new file mode 100644 index 0000000000..7711cfa3e7 --- /dev/null +++ b/configs/imx8ulp_evk_defconfig @@ -0,0 +1,103 @@ +CONFIG_ARM=y +CONFIG_ARCH_IMX8ULP=y +CONFIG_SYS_TEXT_BASE=0x80200000 +CONFIG_SYS_MALLOC_F_LEN=0x2000 +CONFIG_DM_GPIO=y +CONFIG_TARGET_IMX8ULP_EVK=y +CONFIG_SPL_SERIAL_SUPPORT=y +CONFIG_NR_DRAM_BANKS=1 +CONFIG_SPL=y +CONFIG_SPL_TEXT_BASE=0x22020000 +CONFIG_SPL_LOAD_IMX_CONTAINER=y +CONFIG_FIT=y +CONFIG_FIT_VERBOSE=y +CONFIG_BOOTDELAY=0 +CONFIG_DEFAULT_FDT_FILE="imx8ulp-evk.dtb" +CONFIG_SPL_BOARD_INIT=y +CONFIG_SPL_SEPARATE_BSS=y +#CONFIG_SPL_RAM_SUPPORT=y +#CONFIG_SPL_RAM_DEVICE=y +#CONFIG_SPL_MMC_SUPPORT=y + +CONFIG_SPL_BOOTROM_SUPPORT=y +CONFIG_SPL_IMX_ROMAPI_LOADADDR=0x88000000 + +CONFIG_HUSH_PARSER=y +CONFIG_SPL_OF_CONTROL=y +CONFIG_DEFAULT_DEVICE_TREE="imx8ulp-evk" +CONFIG_SPL_DM=y +CONFIG_DM_I2C=y +CONFIG_SYS_I2C_IMX_LPI2C=y +CONFIG_PINCTRL=y +CONFIG_SPL_PINCTRL=y +CONFIG_PINCTRL_IMX8ULP=y +CONFIG_DM_SERIAL=y +CONFIG_FSL_LPUART=y +CONFIG_DM_MMC=y +CONFIG_MMC_IO_VOLTAGE=y +CONFIG_FSL_ESDHC_IMX=y +CONFIG_FSL_USDHC=y +CONFIG_CMD_MMC=y +CONFIG_SUPPORT_EMMC_BOOT=y +CONFIG_SPL_LIBCOMMON_SUPPORT=y +CONFIG_SPL_LIBGENERIC_SUPPORT=y +CONFIG_SPL_SYS_ICACHE_OFF=y +CONFIG_SPL_SYS_DCACHE_OFF=y +CONFIG_SPL_DRIVERS_MISC_SUPPORT=y +CONFIG_MISC=y + +CONFIG_CMD_I2C=y +CONFIG_CMD_FUSE=y +CONFIG_CMD_GPIO=y +CONFIG_CMD_MEMTEST=y +CONFIG_CMD_EXT2=y +CONFIG_CMD_EXT4=y +CONFIG_CMD_EXT4_WRITE=y +CONFIG_CMD_FAT=y +CONFIG_CMD_CACHE=y +CONFIG_CMD_REGULATOR=y +CONFIG_BAUDRATE=115200 + +CONFIG_DM_REGULATOR=y +CONFIG_DM_REGULATOR_FIXED=y +CONFIG_DM_REGULATOR_GPIO=y + +CONFIG_ENV_IS_IN_MMC=y +CONFIG_ENV_SIZE=0x2000 +CONFIG_ENV_OFFSET=0x400000 +CONFIG_ENV_SECT_SIZE=0x10000 + +CONFIG_ULP_WATCHDOG=y +CONFIG_SPL_WATCHDOG_SUPPORT=y + +CONFIG_CMD_SF=y +CONFIG_DM_SPI_FLASH=y +CONFIG_DM_SPI=y +CONFIG_NXP_FSPI=y +CONFIG_SPI=y +CONFIG_SPI_FLASH=y +CONFIG_SPI_FLASH_MACRONIX=y +CONFIG_SF_DEFAULT_BUS=0 +CONFIG_SF_DEFAULT_CS=0 +CONFIG_SF_DEFAULT_SPEED=40000000 +CONFIG_SF_DEFAULT_MODE=0 + +CONFIG_IMX_RGPIO2P=y +CONFIG_USE_ARCH_MEMCPY=y + +CONFIG_PHYLIB=y +CONFIG_PHY_MICREL=y +CONFIG_PHY_MICREL_KSZ8XXX=y +CONFIG_DM_ETH=y +CONFIG_FEC_MXC=y +CONFIG_MII=y +CONFIG_CMD_NET=y +CONFIG_CMD_DHCP=y +CONFIG_CMD_PING=y +CONFIG_NET_RANDOM_ETHADDR=y + +CONFIG_EFI_PARTITION=y + +CONFIG_DM_PCA953X=y +CONFIG_SYS_MMC_ENV_DEV=2 +CONFIG_CMD_READ=y diff --git a/include/configs/imx8ulp_evk.h b/include/configs/imx8ulp_evk.h new file mode 100644 index 0000000000..3ccb78e1b6 --- /dev/null +++ b/include/configs/imx8ulp_evk.h @@ -0,0 +1,108 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * Copyright 2020 NXP + */ + +#ifndef __IMX8ULP_EVK_H +#define __IMX8ULP_EVK_H + +#include +#include + +#define CONFIG_SYS_BOOTM_LEN (SZ_64M) +#define CONFIG_SPL_MAX_SIZE (148 * 1024) +#define CONFIG_SYS_MONITOR_LEN (512 * 1024) +#define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR +#define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR 0x300 +#define CONFIG_SYS_MMCSD_FS_BOOT_PARTITION 1 +#define CONFIG_SYS_UBOOT_BASE (QSPI0_AMBA_BASE + CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR * 512) + +#ifdef CONFIG_SPL_BUILD +#define CONFIG_SPL_LDSCRIPT "arch/arm/cpu/armv8/u-boot-spl.lds" +#define CONFIG_SPL_STACK 0x22050000 +#define CONFIG_SPL_BSS_START_ADDR 0x22048000 +#define CONFIG_SPL_BSS_MAX_SIZE 0x2000 /* 8 KB */ +#define CONFIG_SYS_SPL_MALLOC_START 0x22040000 +#define CONFIG_SYS_SPL_MALLOC_SIZE 0x8000 /* 32 KB */ + +#define CONFIG_MALLOC_F_ADDR 0x22040000 + +#define CONFIG_SPL_LOAD_FIT_ADDRESS 0x95000000 /* SPL_RAM needed */ + +#define CONFIG_SPL_ABORT_ON_RAW_IMAGE /* For RAW image gives a error info not panic */ + +#endif + +#define CONFIG_SERIAL_TAG + +#define CONFIG_REMAKE_ELF + +#define CONFIG_BOARD_EARLY_INIT_F +#define CONFIG_BOARD_LATE_INIT + +/* ENET Config */ +#if defined(CONFIG_FEC_MXC) +#define CONFIG_ETHPRIME "FEC" +#define PHY_ANEG_TIMEOUT 20000 + +#define CONFIG_FEC_XCV_TYPE RMII +#define CONFIG_FEC_MXC_PHYADDR 1 +#define FEC_QUIRK_ENET_MAC + +#define IMX_FEC_BASE 0x29950000 +#endif + +#ifndef CONFIG_SPL_BUILD +#define BOOT_TARGET_DEVICES(func) \ + func(MMC, mmc, 2) \ + func(MMC, mmc, 1) \ + func(DHCP, dhcp, na) + +#include +#endif + +/* Initial environment variables */ +#define CONFIG_EXTRA_ENV_SETTINGS \ + BOOTENV \ + "scriptaddr=" __stringify(CONFIG_LOADADDR) "\0" \ + "kernel_addr_r=" __stringify(CONFIG_LOADADDR) "\0" \ + "image=Image\0" \ + "console=ttyLP1,115200 earlycon\0" \ + "fdt_addr_r=0x83000000\0" \ + "boot_fit=no\0" \ + "fdtfile=imx8ulp-evk.dtb\0" \ + "initrd_addr=0x83800000\0" \ + "bootm_size=0x10000000\0" \ + "mmcpart=" __stringify(CONFIG_SYS_MMC_IMG_LOAD_PART) "\0" \ + "mmcroot=" CONFIG_MMCROOT " rootwait rw\0" \ + +/* Link Definitions */ +#define CONFIG_LOADADDR 0x80480000 + +#define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR + +#define CONFIG_SYS_INIT_RAM_ADDR 0x80000000 +#define CONFIG_SYS_INIT_RAM_SIZE 0x80000 +#define CONFIG_SYS_INIT_SP_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE) +#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET) + +#define CONFIG_ENV_OVERWRITE +#define CONFIG_MMCROOT "/dev/mmcblk2p2" + +/* Size of malloc() pool */ +#define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + SZ_16M) + +#define CONFIG_SYS_SDRAM_BASE 0x80000000 +#define PHYS_SDRAM 0x80000000 +#define PHYS_SDRAM_SIZE 0x80000000 /* 2GB DDR */ + +/* Monitor Command Prompt */ +#define CONFIG_SYS_PROMPT_HUSH_PS2 "> " +#define CONFIG_SYS_CBSIZE 2048 +#define CONFIG_SYS_MAXARGS 64 +#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE +#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16) + +/* Using ULP WDOG for reset */ +#define WDOG_BASE_ADDR WDG3_RBASE +#endif