From patchwork Mon Jul 22 01:24:37 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peng Fan X-Patchwork-Id: 1134632 X-Patchwork-Delegate: sbabic@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=nxp.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=nxp.com header.i=@nxp.com header.b="ERBnFnUd"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 45sP796Tx3z9sBF for ; Mon, 22 Jul 2019 11:25:25 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id 84BA4C21DD7; Mon, 22 Jul 2019 01:25:23 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=SPF_HELO_PASS, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 883AAC21C2C; Mon, 22 Jul 2019 01:24:45 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 57D88C21C2C; Mon, 22 Jul 2019 01:24:43 +0000 (UTC) Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-eopbgr70053.outbound.protection.outlook.com [40.107.7.53]) by lists.denx.de (Postfix) with ESMTPS id 5E4A7C21BE5 for ; Mon, 22 Jul 2019 01:24:39 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Nw2TYH8Onu/mtkzSHcoAepkK7jWO3FvY9TxXJFsA+YGKvyGx612RAEIEPUdgkCiAl0D68qCnnUznptgJ+nHepNsrnqM8dURYlSiI2C35zBOxoMNT3J77LU8HITTPIcbvLlD1FLql6BvDgtYo7b0dmmuVq5hOe98+g8tPqUdwPZ/dlnxMnuMtSeaEjcCL8I8jUcSSrtxdBsMaG9Oj6kwPZXQshc+ZheBVj2psd6wIU/oN/aRAKLzps7SVwspdu8oi8j5ouvHqE6D9UYwuUe49Yu1wElOdotH1j4hBh2mWHrO/6Kz6h852B511GvY6qT58lITxYOwEMCwTL4wv9PvKVQ== 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=sxSPg6mvv0ZXiEoQBzozhLLGLV/NKUXpLednbKBwpGE=; b=kOAWFoKwvm0f5a8l4HXhwcUvQo1Kw1LxmX4/vCIJHnfuS/tZe/EkwpwTPtKOE71mxsUbR1mAoSfdzC+UICVAu7GPKnWXmB4f+QnZFwCg3gi/d6f/+XC0pwfTLx4qXyWP6Afjb0lnBify6CiTleasAGtuNMweAJfaTQetYrWAlGWMAk/emdYQ6WweBMunj7ndIv3YWK3rX/jDdvQ00JK/LbfBAEbBh7417SCmAnyuG/KOOVvbA3GGdetPx8QYWVU7nJeiUjk9+H8xyJyn2Ao9VCJlwDNqQl4Poqo53cklM8O4dCtwjSCdMXaMrmHzlTYaUbmtP+RyBHuYrwvWEH8drA== ARC-Authentication-Results: i=1; mx.microsoft.com 1;spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com;arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=sxSPg6mvv0ZXiEoQBzozhLLGLV/NKUXpLednbKBwpGE=; b=ERBnFnUd8g0e6Cji+C4OZa5J5ILli7y9KSjL6sbfC5ogxnqrEvk6TVKgFHGZQ2xz7IlSWaWUCnYULrvMeRVtex3Ve1a8/7X4EjNyMHcBzAz+vazr1y4R3Ob7T3dXq2sNB1zV0e2Rzi4JdjSREDx7XgqPHsF8TecgKgSR23sCfHg= Received: from AM0PR04MB4481.eurprd04.prod.outlook.com (52.135.147.15) by AM0PR04MB5458.eurprd04.prod.outlook.com (20.178.112.89) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2094.16; Mon, 22 Jul 2019 01:24:37 +0000 Received: from AM0PR04MB4481.eurprd04.prod.outlook.com ([fe80::2023:c0e5:8a63:2e47]) by AM0PR04MB4481.eurprd04.prod.outlook.com ([fe80::2023:c0e5:8a63:2e47%5]) with mapi id 15.20.2094.011; Mon, 22 Jul 2019 01:24:37 +0000 From: Peng Fan To: "sbabic@denx.de" , "festevam@gmail.com" Thread-Topic: [PATCH RESEND 01/14] imx: i.MX7ULP: add get_boot_device Thread-Index: AQHVQCw6vrOn6PqJhkClYPtbmg7XCA== Date: Mon, 22 Jul 2019 01:24:37 +0000 Message-ID: <20190722013941.30857-1-peng.fan@nxp.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.16.4 x-clientproxiedby: HK2PR0302CA0018.apcprd03.prod.outlook.com (2603:1096:202::28) To AM0PR04MB4481.eurprd04.prod.outlook.com (2603:10a6:208:70::15) authentication-results: spf=none (sender IP is ) smtp.mailfrom=peng.fan@nxp.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [119.31.174.71] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: e2c98be9-9589-4fab-402a-08d70e435c74 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(4618075)(2017052603328)(7193020); SRVR:AM0PR04MB5458; x-ms-traffictypediagnostic: AM0PR04MB5458: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:3826; x-forefront-prvs: 01068D0A20 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(346002)(366004)(376002)(396003)(39860400002)(136003)(189003)(199004)(25786009)(5660300002)(81166006)(66446008)(66946007)(81156014)(66476007)(66556008)(64756008)(50226002)(256004)(14454004)(86362001)(54906003)(99286004)(110136005)(2501003)(4326008)(1076003)(2906002)(8936002)(316002)(36756003)(6506007)(53936002)(68736007)(3846002)(6116002)(478600001)(71200400001)(71190400001)(52116002)(26005)(186003)(386003)(102836004)(476003)(2616005)(7736002)(305945005)(6436002)(8676002)(44832011)(66066001)(486006)(6512007)(6486002); DIR:OUT; SFP:1101; SCL:1; SRVR:AM0PR04MB5458; H:AM0PR04MB4481.eurprd04.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: hOtaHEscwMv8FfMA9TWcXOvPL1Qjo+WeMrNvoQTcjQ/YvP+oTwjOQzBFmC+Qz7r5LGgfmgOdH55FR2qRHinUZv0gN9IYaaKv+paIrDuHwM2elRaWO8Q6orJ0O8n4v8o44OdxYR/OZdwcaZFJ0u/S1Nt1yY2jqvSutf9u2ARqbs4v2d4QEsBqLer/q3akFG1OOcdpKKBXEz4A4ltD9HotPyR03yBE61sWZUH8EGwuWi6xQOvCqiR03C8+f6VWjWJbD+8410Kgk1rl1jwpQJUrpRftQUY3DadYJb1Ef9ixyfdXh+3J5ULCinBSfRIMzwGQAzQrwkH3kaXxaIMTlpYh2DcrBMmwABdknNCrLheqELjkrUE1W25vnV1GS/0mSuuDeovruamw6aVKgP50zUX8Jg1R09/CfvfIGxH9PVsW4Ok= MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: e2c98be9-9589-4fab-402a-08d70e435c74 X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Jul 2019 01:24:37.4463 (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: peng.fan@nxp.com X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB5458 Cc: "u-boot@lists.denx.de" , dl-uboot-imx Subject: [U-Boot] [PATCH RESEND 01/14] imx: i.MX7ULP: add get_boot_device X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 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" Add get_boot_device for i.MX7ULP Signed-off-by: Peng Fan Tested-by: Fabio Estevam --- arch/arm/include/asm/arch-mx7ulp/imx-regs.h | 13 +++++++++++++ arch/arm/include/asm/arch-mx7ulp/sys_proto.h | 1 + arch/arm/mach-imx/mx7ulp/soc.c | 27 +++++++++++++++++++++++++++ 3 files changed, 41 insertions(+) diff --git a/arch/arm/include/asm/arch-mx7ulp/imx-regs.h b/arch/arm/include/asm/arch-mx7ulp/imx-regs.h index 63b02de087..d58ed43199 100644 --- a/arch/arm/include/asm/arch-mx7ulp/imx-regs.h +++ b/arch/arm/include/asm/arch-mx7ulp/imx-regs.h @@ -10,6 +10,8 @@ #define ARCH_MXC +#define ROM_SW_INFO_ADDR 0x000001E8 + #define CAAM_SEC_SRAM_BASE (0x26000000) #define CAAM_SEC_SRAM_SIZE (SZ_32K) #define CAAM_SEC_SRAM_END (CAAM_SEC_SRAM_BASE + CAAM_SEC_SRAM_SIZE - 1) @@ -1112,6 +1114,17 @@ struct usbphy_regs { u32 usb1_pfda_ctrl1_tog; /* 0x14c */ }; +struct bootrom_sw_info { + u8 reserved_1; + u8 boot_dev_instance; + u8 boot_dev_type; + u8 reserved_2; + u32 core_freq; + u32 axi_freq; + u32 ddr_freq; + u32 rom_tick_freq; + u32 reserved_3[3]; +}; #define is_boot_from_usb(void) (!(readl(USB_PHY0_BASE_ADDR) & (1<<20))) #define disconnect_from_pc(void) writel(0x0, USBOTG0_RBASE + 0x140) diff --git a/arch/arm/include/asm/arch-mx7ulp/sys_proto.h b/arch/arm/include/asm/arch-mx7ulp/sys_proto.h index 6ecde7db93..0e4c8ad15d 100644 --- a/arch/arm/include/asm/arch-mx7ulp/sys_proto.h +++ b/arch/arm/include/asm/arch-mx7ulp/sys_proto.h @@ -17,4 +17,5 @@ enum bt_mode { SINGLE_BOOT /* LP_BT = 0, DUAL_BT = 0 */ }; +enum boot_device get_boot_device(void); #endif diff --git a/arch/arm/mach-imx/mx7ulp/soc.c b/arch/arm/mach-imx/mx7ulp/soc.c index c72f0ed3fc..6015c11869 100644 --- a/arch/arm/mach-imx/mx7ulp/soc.c +++ b/arch/arm/mach-imx/mx7ulp/soc.c @@ -6,6 +6,7 @@ #include #include #include +#include #include static char *get_reset_cause(char *); @@ -244,3 +245,29 @@ int mmc_get_env_dev(void) return board_mmc_get_env_dev(devno); } #endif + +enum boot_device get_boot_device(void) +{ + struct bootrom_sw_info **p = + (struct bootrom_sw_info **)ROM_SW_INFO_ADDR; + + enum boot_device boot_dev = SD1_BOOT; + u8 boot_type = (*p)->boot_dev_type; + u8 boot_instance = (*p)->boot_dev_instance; + + switch (boot_type) { + case BOOT_TYPE_SD: + boot_dev = boot_instance + SD1_BOOT; + break; + case BOOT_TYPE_MMC: + boot_dev = boot_instance + MMC1_BOOT; + break; + case BOOT_TYPE_USB: + boot_dev = USB_BOOT; + break; + default: + break; + } + + return boot_dev; +}