From patchwork Tue Jun 18 11:57:32 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Igor Opaniuk X-Patchwork-Id: 1117826 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=gmail.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="nyyzrqyB"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 45SmmN5D1Nz9s3C for ; Tue, 18 Jun 2019 21:57:40 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id 5A53AC21FF4; Tue, 18 Jun 2019 11:57:38 +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=FREEMAIL_FROM, RCVD_IN_MSPIKE_H2, 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 569CDC21EBB; Tue, 18 Jun 2019 11:57:36 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 8E807C21EB4; Tue, 18 Jun 2019 11:57:34 +0000 (UTC) Received: from mail-wm1-f68.google.com (mail-wm1-f68.google.com [209.85.128.68]) by lists.denx.de (Postfix) with ESMTPS id 49B73C21E6A for ; Tue, 18 Jun 2019 11:57:34 +0000 (UTC) Received: by mail-wm1-f68.google.com with SMTP id g135so2923956wme.4 for ; Tue, 18 Jun 2019 04:57:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=GSpkFgEjydswS/xzC6zY6H2lO8ADYNi4Fiz+K6LXoIc=; b=nyyzrqyBBJu9vOaG0O64waAtAdvNroAz2S4H5ZyB2T8DUpUNVKGiSRV7T9L10zxrzU s/iyY/knLyP2Aw4I3srtRprXMkVDjgrXydsN/iVUBdllV7jUz4NuK6TxnKP6zrk9FZFx C4FjDKpqC5q4WyjFP0zN/ZUOHS5W4DqFZSeOxJoJEGMPK/8NTt5vD+krNZekAtJ2xiBg gJQqO+0Oc9op9n9stxQaEWd4ZZj/RP0PZOl7rvaX8au/rpG8pM5ffq2gU9SIbVJyUbw1 tFL337G9ZLif5qDRrU9QFqXcurFAff8E7uz4+J9fclzJ46ZjNzqTowju94eMeLkvCRts QcsA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=GSpkFgEjydswS/xzC6zY6H2lO8ADYNi4Fiz+K6LXoIc=; b=a/LPa6ahChAc+qKt4TClAYt23GTK9ARYqw1nPDZ2cHF8iQfaPw9npjxspRpE2HIOjO 2WgR3zVY/BK91hBp3eG0GtJilk1lCxFdUDc3xCX8xs+WPmpTDiQPMeCEBCM/MnEeChwH y7IfrHUsoN9DL+x3YIyAJUOnTZKkaVx2vJ+r9UM9LTJgmxFGwYCFY5WmvwiuRylLtHvR Hd1UTiEajYnJ+H5H8PpxOVRxQdcBEYgGIyasakuD/fjU2etOdDH9/0ePpdekoOKnx3sW pPFKKZDJurlN/evcNi9e38loaJptR2poNvSWacP1RkJ4UEu9t5aOs6smRv5TPocMtWc3 0+Zg== X-Gm-Message-State: APjAAAWuV3yAv2ym99jC3Nl5mg8FEApqhDY2udh5e8RIsbRKiID44chf 5wdiuZvTe2tm7DKonWfB10FFFzeu X-Google-Smtp-Source: APXvYqy9diHoQk2uIlu2t5wbaXEgBfEWmOUryuzjfcICigq1LjXmbYKWKdGoMsFMRW2KzqpaOASk7g== X-Received: by 2002:a7b:c94a:: with SMTP id i10mr3152397wml.97.1560859053621; Tue, 18 Jun 2019 04:57:33 -0700 (PDT) Received: from localhost ([194.105.145.90]) by smtp.gmail.com with ESMTPSA id a67sm2124505wmh.40.2019.06.18.04.57.32 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 18 Jun 2019 04:57:32 -0700 (PDT) From: Igor Opaniuk To: u-boot@lists.denx.de Date: Tue, 18 Jun 2019 14:57:32 +0300 Message-Id: <20190618115732.3936-1-igor.opaniuk@gmail.com> X-Mailer: git-send-email 2.17.1 Cc: marcel.ziswiler@toradex.com, max.krummenacher@toradex.com Subject: [U-Boot] [PATCH v2 1/1] colibri_imx7: introduce androidboot wrapper 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: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" From: Igor Opaniuk 1. Introduce androidboot wrapper for booting AOSP. 2. Add partitions_android env var for simplifying the process of writing new gpt table from U-boot shell/fastboot. Signed-off-by: Igor Opaniuk Reviewed-by: Oleksandr Suvorov --- v2: - add proper serialnum value for bootargs instead hardcoded stub - add invocation of m4 aux binary configs/colibri_imx7_emmc_defconfig | 2 +- include/configs/colibri_imx7.h | 44 +++++++++++++++++++++++++++-- 2 files changed, 43 insertions(+), 3 deletions(-) diff --git a/configs/colibri_imx7_emmc_defconfig b/configs/colibri_imx7_emmc_defconfig index 2fa9f1f532..864234eac4 100644 --- a/configs/colibri_imx7_emmc_defconfig +++ b/configs/colibri_imx7_emmc_defconfig @@ -28,7 +28,7 @@ CONFIG_CMD_MEMTEST=y CONFIG_CMD_DFU=y CONFIG_CMD_GPIO=y CONFIG_CMD_GPT=y -# CONFIG_RANDOM_UUID is not set +CONFIG_RANDOM_UUID=y CONFIG_CMD_I2C=y CONFIG_CMD_MMC=y CONFIG_CMD_USB=y diff --git a/include/configs/colibri_imx7.h b/include/configs/colibri_imx7.h index 3e4f63e7ba..5655c75376 100644 --- a/include/configs/colibri_imx7.h +++ b/include/configs/colibri_imx7.h @@ -48,6 +48,46 @@ #define CONFIG_NETMASK 255.255.255.0 #define CONFIG_SERVERIP 192.168.10.1 +#ifndef PARTS_DEFAULT +/* Define the default GPT table for eMMC */ +#define PARTS_DEFAULT \ + /* Android partitions */ \ + "partitions_android=" \ + "uuid_disk=${uuid_gpt_disk};" \ + "name=boot,start=1M,size=32M,uuid=${uuid_gpt_boot};" \ + "name=environment,size=4M,uuid=${uuid_gpt_environment};" \ + "name=recovery,size=16M,uuid=${uuid_gpt_recovery};" \ + "name=system,size=1536M,uuid=${uuid_gpt_system};" \ + "name=cache,size=512M,uuid=${uuid_gpt_cache};" \ + "name=device,size=8M,uuid=${uuid_gpt_device};" \ + "name=misc,size=4M,uuid=${uuid_gpt_misc};" \ + "name=datafooter,size=2M,uuid=${uuid_gpt_datafooter};" \ + "name=metadata,size=2M,uuid=${uuid_gpt_metadata};" \ + "name=persistdata,size=2M,uuid=${uuid_gpt_persistdata};" \ + "name=userdata,size=128M,uuid=${uuid_gpt_userdata};" \ + "name=fbmisc,size=-,uuid=${uuid_gpt_fbmisc}\0" +#endif /* PARTS_DEFAULT */ + +#define EMMC_ANDROID_BOOTCMD \ + "android_args=androidboot.storage_type=emmc\0" \ + PARTS_DEFAULT \ + "android_fdt_addr=0x83700000\0" \ + "android_mmc_dev=0\0" \ + "m4binary=rpmsg_imu_freertos.elf\0" \ + "androidboot=ext4load mmc 0:a ${loadaddr} media/0/${m4binary}; "\ + "bootaux ${loadaddr}; " \ + "setenv loadaddr 0x88000000; " \ + "setenv bootm_boot_mode sec;" \ + "setenv bootargs androidboot.serialno=${serial#} " \ + "$android_args; " \ + "part start mmc ${android_mmc_dev} boot boot_start; " \ + "part size mmc ${android_mmc_dev} boot boot_size; " \ + "mmc read ${loadaddr} ${boot_start} ${boot_size}; " \ + "part start mmc ${android_mmc_dev} environment env_start; " \ + "part size mmc ${android_mmc_dev} environment env_size; " \ + "mmc read ${android_fdt_addr} ${env_start} ${env_size}; " \ + "bootm ${loadaddr} ${loadaddr} ${android_fdt_addr}\0 " + #define EMMC_BOOTCMD \ "set_emmcargs=setenv emmcargs ip=off root=PARTUUID=${uuid} ro " \ "rootfstype=ext4 rootwait\0" \ @@ -65,7 +105,6 @@ "emmcfinduuid=part uuid mmc ${emmcdev}:${emmcrootpart} uuid\0" \ "emmcrootpart=2\0" - #define MEM_LAYOUT_ENV_SETTINGS \ "bootm_size=0x10000000\0" \ "fdt_addr_r=0x82000000\0" \ @@ -127,7 +166,8 @@ "setenv fdtfile ${soc}-colibri-emmc-${fdt_board}.dtb && run distro_bootcmd;" #define MODULE_EXTRA_ENV_SETTINGS \ "variant=-emmc\0" \ - EMMC_BOOTCMD + EMMC_BOOTCMD \ + EMMC_ANDROID_BOOTCMD #endif #if defined(CONFIG_TARGET_COLIBRI_IMX7_NAND)