mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-17 10:24:49 +00:00
Merge branch 'staging' of https://source.denx.de/u-boot/custodians/u-boot-tegra into next
Documentation updates for endeavoru, lg_x3, grouper and transformers, addition of MIPI calibration clock name for T114 (inline with T124+), conversion of TEGRA_SUPPORT_NON_SECURE into Kconfig and endeavoru stability improvements.
This commit is contained in:
commit
c2c598e87c
11 changed files with 434 additions and 209 deletions
7
README
7
README
|
@ -300,13 +300,6 @@ The following options need to be configured:
|
|||
different from COUNTER_FREQUENCY, and can only be determined
|
||||
at run time.
|
||||
|
||||
- Tegra SoC options:
|
||||
CONFIG_TEGRA_SUPPORT_NON_SECURE
|
||||
|
||||
Support executing U-Boot in non-secure (NS) mode. Certain
|
||||
impossible actions will be skipped if the CPU is in NS mode,
|
||||
such as ARM architectural timer initialization.
|
||||
|
||||
- Linux Kernel Interface:
|
||||
CONFIG_OF_LIBFDT
|
||||
|
||||
|
|
|
@ -109,7 +109,7 @@ enum periph_id {
|
|||
PERIPH_ID_UART3,
|
||||
|
||||
/* 56 */
|
||||
PERIPH_ID_RESERVED56,
|
||||
PERIPH_ID_MIPI_CAL,
|
||||
PERIPH_ID_EMC,
|
||||
PERIPH_ID_USB2,
|
||||
PERIPH_ID_USB3,
|
||||
|
|
|
@ -25,9 +25,34 @@ struct mc_ctlr {
|
|||
u32 mc_emem_adr_cfg; /* offset 0x54 */
|
||||
u32 mc_emem_adr_cfg_dev0; /* offset 0x58 */
|
||||
u32 mc_emem_adr_cfg_dev1; /* offset 0x5C */
|
||||
u32 reserved3[12]; /* offset 0x60 - 0x8C */
|
||||
u32 reserved3[4]; /* offset 0x60 - 0x6C */
|
||||
u32 mc_security_cfg0; /* offset 0x70 */
|
||||
u32 mc_security_cfg1; /* offset 0x74 */
|
||||
u32 reserved4[6]; /* offset 0x7C - 0x8C */
|
||||
u32 mc_emem_arb_reserved[28]; /* offset 0x90 - 0xFC */
|
||||
u32 reserved4[338]; /* offset 0x100 - 0x644 */
|
||||
u32 reserved5[74]; /* offset 0x100 - 0x224 */
|
||||
u32 mc_smmu_translation_enable_0; /* offset 0x228 */
|
||||
u32 mc_smmu_translation_enable_1; /* offset 0x22C */
|
||||
u32 mc_smmu_translation_enable_2; /* offset 0x230 */
|
||||
u32 mc_smmu_translation_enable_3; /* offset 0x234 */
|
||||
u32 mc_smmu_afi_asid; /* offset 0x238 */
|
||||
u32 mc_smmu_avpc_asid; /* offset 0x23C */
|
||||
u32 mc_smmu_dc_asid; /* offset 0x240 */
|
||||
u32 mc_smmu_dcb_asid; /* offset 0x244 */
|
||||
u32 reserved6[2]; /* offset 0x248 - 0x24C */
|
||||
u32 mc_smmu_hc_asid; /* offset 0x250 */
|
||||
u32 mc_smmu_hda_asid; /* offset 0x254 */
|
||||
u32 mc_smmu_isp_asid; /* offset 0x258 */
|
||||
u32 reserved7[2]; /* offset 0x25C - 0x260 */
|
||||
u32 mc_smmu_mpe_asid; /* offset 0x264 */
|
||||
u32 mc_smmu_nv_asid; /* offset 0x268 */
|
||||
u32 mc_smmu_nv2_asid; /* offset 0x26C */
|
||||
u32 mc_smmu_ppcs_asid; /* offset 0x270 */
|
||||
u32 reserved8[1]; /* offset 0x274 */
|
||||
u32 mc_smmu_sata_asid; /* offset 0x278 */
|
||||
u32 mc_smmu_vde_asid; /* offset 0x27C */
|
||||
u32 mc_smmu_vi_asid; /* offset 0x280 */
|
||||
u32 reserved9[241]; /* offset 0x284 - 0x644 */
|
||||
u32 mc_video_protect_bom; /* offset 0x648 */
|
||||
u32 mc_video_protect_size_mb; /* offset 0x64c */
|
||||
u32 mc_video_protect_reg_ctrl; /* offset 0x650 */
|
||||
|
|
|
@ -176,6 +176,13 @@ config TEGRA_DISCONNECT_UDC_ON_BOOT
|
|||
USB controller when U-Boot boots to avoid leaving a stale USB device
|
||||
present.
|
||||
|
||||
config TEGRA_SUPPORT_NON_SECURE
|
||||
bool "Support executing U-Boot in non-secure (NS) mode"
|
||||
depends on TEGRA114 || TEGRA124
|
||||
help
|
||||
Certain impossible actions will be skipped if the CPU is in NS mode,
|
||||
such as ARM architectural timer initialization.
|
||||
|
||||
config CI_UDC_HAS_HOSTPC
|
||||
def_bool y
|
||||
depends on CI_UDC && !TEGRA20
|
||||
|
|
|
@ -77,9 +77,6 @@ bool spl_was_boot_source(void)
|
|||
}
|
||||
|
||||
#if defined(CONFIG_TEGRA_SUPPORT_NON_SECURE)
|
||||
#if !defined(CONFIG_TEGRA124)
|
||||
#error tegra_cpu_is_non_secure has only been validated on Tegra124
|
||||
#endif
|
||||
bool tegra_cpu_is_non_secure(void)
|
||||
{
|
||||
/*
|
||||
|
|
|
@ -299,7 +299,7 @@ static s8 periph_id_to_internal_id[PERIPH_ID_COUNT] = {
|
|||
PERIPHC_UART3,
|
||||
|
||||
/* 56 */
|
||||
NONE(RESERVED56),
|
||||
NONE(MIPI_CAL),
|
||||
PERIPHC_EMC,
|
||||
NONE(USB2),
|
||||
NONE(USB3),
|
||||
|
@ -635,7 +635,6 @@ enum periph_id clk_id_to_periph_id(int clk_id)
|
|||
case PERIPH_ID_RESERVED35:
|
||||
case PERIPH_ID_RESERVED43:
|
||||
case PERIPH_ID_RESERVED45:
|
||||
case PERIPH_ID_RESERVED56:
|
||||
case PERIPH_ID_RESERVED76:
|
||||
case PERIPH_ID_RESERVED77:
|
||||
case PERIPH_ID_RESERVED78:
|
||||
|
|
|
@ -9,7 +9,12 @@
|
|||
* Svyatoslav Ryhel <clamor95@gmail.com>
|
||||
*/
|
||||
|
||||
#include <asm/io.h>
|
||||
#include <asm/gpio.h>
|
||||
#include <asm/arch/pinmux.h>
|
||||
#include <asm/arch/tegra.h>
|
||||
#include <asm/arch-tegra/board.h>
|
||||
#include <asm/arch-tegra/pmc.h>
|
||||
#include <asm/arch-tegra/tegra_i2c.h>
|
||||
#include <linux/delay.h>
|
||||
|
||||
|
@ -30,6 +35,8 @@
|
|||
#define TPS80032_SMPS1_CFG_STATE_DATA (0x0100 | TPS80032_SMPS1_CFG_STATE_REG)
|
||||
#define TPS80032_SMPS2_CFG_STATE_DATA (0x0100 | TPS80032_SMPS2_CFG_STATE_REG)
|
||||
|
||||
#define TEGRA_GPIO_PS0 144
|
||||
|
||||
void pmic_enable_cpu_vdd(void)
|
||||
{
|
||||
/* Set VDD_CORE to 1.200V. */
|
||||
|
@ -45,3 +52,52 @@ void pmic_enable_cpu_vdd(void)
|
|||
tegra_i2c_ll_write(TPS80032_CTL1_I2C_ADDR, TPS80032_SMPS1_CFG_STATE_DATA);
|
||||
udelay(10 * 1000);
|
||||
}
|
||||
|
||||
/*
|
||||
* Unlike all other supported Tegra devices and most known Tegra devices, the
|
||||
* HTC One X has no hardware way to enter APX/RCM mode, which may lead to a
|
||||
* dangerous situation when, if BCT is set correctly and the bootloader is
|
||||
* faulty, the device will hang in a permanent brick state. Exiting from this
|
||||
* state can be done only by disassembling the device and shortening testpad
|
||||
* to the ground.
|
||||
*
|
||||
* To prevent this or to minimize the probability of such an accident, it was
|
||||
* proposed to add the RCM rebooting hook as early into SPL as possible since
|
||||
* SPL is much more robust and has minimal changes that can break bootflow.
|
||||
*
|
||||
* gpio_early_init_uart() function was chosen as it is the earliest function
|
||||
* exposed for setup by the device. Hook performs a check for volume up
|
||||
* button state and triggers RCM if it is pressed.
|
||||
*/
|
||||
void gpio_early_init_uart(void)
|
||||
{
|
||||
struct gpio_ctlr *ctlr = (struct gpio_ctlr *)NV_PA_GPIO_BASE;
|
||||
struct gpio_ctlr_bank *bank = &ctlr->gpio_bank[GPIO_BANK(TEGRA_GPIO_PS0)];
|
||||
u32 value;
|
||||
|
||||
/* Configure pinmux */
|
||||
pinmux_set_func(PMUX_PINGRP_KB_ROW8_PS0, PMUX_FUNC_KBC);
|
||||
pinmux_set_pullupdown(PMUX_PINGRP_KB_ROW8_PS0, PMUX_PULL_UP);
|
||||
pinmux_tristate_disable(PMUX_PINGRP_KB_ROW8_PS0);
|
||||
pinmux_set_io(PMUX_PINGRP_KB_ROW8_PS0, PMUX_PIN_INPUT);
|
||||
|
||||
/* Configure GPIO direction as input. */
|
||||
value = readl(&bank->gpio_dir_out[GPIO_PORT(TEGRA_GPIO_PS0)]);
|
||||
value &= ~(1 << GPIO_BIT(TEGRA_GPIO_PS0));
|
||||
writel(value, &bank->gpio_dir_out[GPIO_PORT(TEGRA_GPIO_PS0)]);
|
||||
|
||||
/* Enable the pin as a GPIO */
|
||||
value = readl(&bank->gpio_config[GPIO_PORT(TEGRA_GPIO_PS0)]);
|
||||
value |= 1 << GPIO_BIT(TEGRA_GPIO_PS0);
|
||||
writel(value, &bank->gpio_config[GPIO_PORT(TEGRA_GPIO_PS0)]);
|
||||
|
||||
/* Get GPIO value */
|
||||
value = readl(&bank->gpio_in[GPIO_PORT(TEGRA_GPIO_PS0)]);
|
||||
value = (value >> GPIO_BIT(TEGRA_GPIO_PS0)) & 1;
|
||||
|
||||
/* Enter RCM if button is pressed */
|
||||
if (!value) {
|
||||
tegra_pmc_writel(2, PMC_SCRATCH0);
|
||||
tegra_pmc_writel(PMC_CNTRL_MAIN_RST, PMC_CNTRL);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,26 +3,25 @@
|
|||
U-Boot for the ASUS/Google Nexus 7 (2012)
|
||||
=========================================
|
||||
|
||||
``DISCLAMER!`` Moving your ASUS/Google Nexus 7 (2012) to use
|
||||
U-Boot assumes replacement of the vendor ASUS bootloader. Vendor
|
||||
android firmwares will no longer be able to run on the device.
|
||||
This replacement IS reversible.
|
||||
``DISCLAMER!`` Moving your ASUS/Google Nexus 7 (2012) to use U-Boot assumes
|
||||
replacement of the vendor ASUS bootloader. Vendor android firmwares will no
|
||||
longer be able to run on the device. This replacement IS reversible.
|
||||
|
||||
Quick Start
|
||||
-----------
|
||||
|
||||
- Build U-Boot
|
||||
- Pack U-Boot into repart-block
|
||||
- Flash repart-block into the eMMC
|
||||
- Process U-Boot
|
||||
- Flashing U-Boot into the eMMC
|
||||
- Boot
|
||||
- Self Upgrading
|
||||
|
||||
Build U-Boot
|
||||
------------
|
||||
|
||||
Device support is implemented by applying config fragment to a generic
|
||||
board defconfig. Valid fragments are ``grouper_E1565.config``,
|
||||
``grouper_PM269.config`` and ``tilapia.config``.
|
||||
Device support is implemented by applying config fragment to a generic board
|
||||
defconfig. Valid fragments are ``tilapia.config``, ``grouper_E1565.config``
|
||||
and ``grouper_PM269.config``.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
|
@ -31,64 +30,103 @@ board defconfig. Valid fragments are ``grouper_E1565.config``,
|
|||
$ make
|
||||
|
||||
After the build succeeds, you will obtain the final ``u-boot-dtb-tegra.bin``
|
||||
image, ready for flashing (but check the next section for additional
|
||||
adjustments).
|
||||
image, ready for further processing.
|
||||
|
||||
Pack U-Boot into repar-block
|
||||
----------------------------
|
||||
Process U-Boot
|
||||
--------------
|
||||
|
||||
``DISCLAMER!`` All questions related to re-crypt work should be asked
|
||||
``DISCLAMER!`` All questions related to the re-crypt work should be asked
|
||||
in re-crypt repo issues. NOT HERE!
|
||||
|
||||
re-crypt is a small script which packs ``u-boot-dtb-tegra.bin`` in
|
||||
form usable by device. This process is required only on the first
|
||||
installation or to recover the device in case of a failed update.
|
||||
You need to know your tablet's individual SBK to continue.
|
||||
re-crypt is a tool that processes the ``u-boot-dtb-tegra.bin`` binary into form
|
||||
usable by device. This process is required only on the first installation or
|
||||
to recover the device in case of a failed update. You need to know your
|
||||
tablet's individual SBK to continue.
|
||||
|
||||
Permanent installation can be performed either by using the nv3p protocol or by
|
||||
pre-loading just built U-Boot into RAM.
|
||||
|
||||
Processing for the NV3P protocol
|
||||
********************************
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ git clone https://github.com/clamor-s/re-crypt.git
|
||||
$ cd re-crypt # place your u-boot-dtb-regra.bin here
|
||||
$ ./re-crypt.sh -d grouper -k deadbeefdeadc0dedeadd00dfee1dead
|
||||
$ git clone https://gitlab.com/grate-driver/re-crypt.git
|
||||
$ cd re-crypt # place your u-boot-dtb-tegra.bin here
|
||||
$ ./re-crypt.py --dev grouper --sbk <your sbk>
|
||||
|
||||
Script will produce you a ``repart-block.bin`` ready to flash.
|
||||
where SBK has next form ``0xXXXXXXXX`` ``0xXXXXXXXX`` ``0xXXXXXXXX`` ``0xXXXXXXXX``
|
||||
|
||||
Flash repart-block into the eMMC
|
||||
--------------------------------
|
||||
The script will produce a ``repart-block.bin`` ready to flash.
|
||||
|
||||
``DISCLAMER!`` All questions related to NvFlash should be asked
|
||||
in the proper place. NOT HERE! Flashing repart-block will erase
|
||||
all your eMMC, so make a backup before!
|
||||
Processing for pre-loaded U-Boot
|
||||
********************************
|
||||
|
||||
``repart-block.bin`` contains BCT and bootloader in encrypted state
|
||||
in form which can just be written RAW at the start of eMMC.
|
||||
The procedure is the same, but the ``--split`` argument is used with the
|
||||
``re-crypt.py``. The script will produce ``bct.img`` and ``ebt.img`` ready
|
||||
to flash.
|
||||
|
||||
Flashing U-Boot into the eMMC
|
||||
-----------------------------
|
||||
|
||||
``DISCLAMER!`` All questions related to NvFlash should be asked in the proper
|
||||
place. NOT HERE! Flashing U-Boot will erase all eMMC, so make a backup before!
|
||||
|
||||
Permanent installation can be performed either by using the nv3p protocol or by
|
||||
pre-loading just built U-Boot into RAM.
|
||||
|
||||
Flashing with the NV3P protocol
|
||||
*******************************
|
||||
|
||||
Nv3p is a custom Nvidia protocol used to recover bricked devices. Devices can
|
||||
enter it either by using ``wheelie`` with the correct ``blob.bin`` file or by
|
||||
pre-loading vendor bootloader with the Fusée Gelée.
|
||||
|
||||
With nv3p, ``repart-block.bin`` is used. It contains BCT and a bootloader in
|
||||
encrypted state in form, which can just be written RAW at the start of eMMC.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ wheelie --blob blob.bin
|
||||
$ nvflash --resume --rawdevicewrite 0 1024 repart-block.bin
|
||||
|
||||
When flashing is done, reboot the device.
|
||||
|
||||
Flashing with a pre-loaded U-Boot
|
||||
*********************************
|
||||
|
||||
U-Boot pre-loaded into RAM acts the same as when it was booted "cold". Currently
|
||||
U-Boot supports bootmenu entry fastboot, which allows to write a processed copy
|
||||
of U-Boot permanently into eMMC.
|
||||
|
||||
While pre-loading U-Boot, hold the ``volume down`` button which will trigger
|
||||
the bootmenu. There, select ``fastboot`` using the volume and power buttons.
|
||||
After, on host PC, do:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ fastboot flash 0.1 bct.img
|
||||
$ fastboot flash 0.2 ebt.img
|
||||
$ fastboot reboot
|
||||
|
||||
Device will reboot.
|
||||
|
||||
Boot
|
||||
----
|
||||
|
||||
After flashing ``repart-block.bin`` the device should reboot and turn
|
||||
itself off. This is normal behavior if no boot configuration is
|
||||
found.
|
||||
To boot Linux, U-Boot will look for an ``extlinux.conf`` on eMMC. Additionally,
|
||||
if the Volume Down button is pressed while booting, the device will enter
|
||||
bootmenu. Bootmenu contains entries to mount eMMC as mass storage, fastboot,
|
||||
reboot, reboot RCM, poweroff, enter U-Boot console and update bootloader (check
|
||||
the next chapter).
|
||||
|
||||
To boot Linux, U-Boot will look for an ``extlinux.conf`` configuration
|
||||
on eMMC. Additionally if Volume Down button is pressed while booting
|
||||
device will enter bootmenu. Bootmenu contains entries to mount eMMC as
|
||||
mass storage, fastboot, reboot, reboot RCM, poweroff, enter U-Boot
|
||||
console and update bootloader (check next chapter).
|
||||
|
||||
Flashing ``repart-block.bin`` eliminates vendor restriction on eMMC
|
||||
and allows the user to use/partition it in any way the user desires.
|
||||
Flashing ``repart-block.bin`` eliminates vendor restrictions on eMMC and allows
|
||||
the user to use/partition it in any way the user desires.
|
||||
|
||||
Self Upgrading
|
||||
--------------
|
||||
|
||||
Place your ``u-boot-dtb-tegra.bin`` on the first partition of the
|
||||
eMMC (using ability of u-boot to mount it). Enter bootmenu, choose
|
||||
update bootloader option with Power button and U-Boot should update
|
||||
itself. Once the process is completed, U-Boot will ask to press any
|
||||
button to reboot.
|
||||
Place your ``u-boot-dtb-tegra.bin`` on the first partition of the eMMC (using
|
||||
ability of u-boot to mount it). Enter bootmenu, choose update bootloader option
|
||||
with Power button and U-Boot should update itself. Once the process is
|
||||
completed, U-Boot will ask to press any button to reboot.
|
||||
|
|
|
@ -3,28 +3,27 @@
|
|||
U-Boot for the ASUS Transformer device family
|
||||
=============================================
|
||||
|
||||
``DISCLAMER!`` Moving your ASUS Transformer to use U-Boot
|
||||
assumes replacement of the vendor ASUS bootloader. Vendor
|
||||
android firmwares will no longer be able to run on the device.
|
||||
This replacement IS reversible.
|
||||
``DISCLAMER!`` Moving your ASUS Transformer to use U-Boot assumes replacement
|
||||
of the vendor ASUS bootloader. Vendor Android firmwares will no longer be
|
||||
able to run on the device. This replacement IS reversible.
|
||||
|
||||
Quick Start
|
||||
-----------
|
||||
|
||||
- Build U-Boot
|
||||
- Pack U-Boot into repart-block
|
||||
- Flash repart-block into the eMMC
|
||||
- Flash repart-block into TF600T SPI flash
|
||||
- Process U-Boot
|
||||
- Flashing U-Boot into the eMMC
|
||||
- Flashing U-Boot into the SPI flash
|
||||
- Boot
|
||||
- Self Upgrading
|
||||
|
||||
Build U-Boot
|
||||
------------
|
||||
|
||||
Device support is implemented by applying config fragment
|
||||
to a generic board defconfig. Valid fragments are ``tf201.config``,
|
||||
``tf300t.config``, ``tf300tg.config``, ``tf300tl.config``,
|
||||
``tf700t.config``, ``tf600t.config`` and ``p1801-t.config``.
|
||||
Device support is implemented by applying a config fragment to a generic board
|
||||
defconfig. Valid fragments are ``tf201.config``, ``tf300t.config``,
|
||||
``tf300tg.config``, ``tf300tl.config``, ``tf700t.config``, ``tf600t.config`` and
|
||||
``p1801-t.config``.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
|
@ -33,84 +32,124 @@ to a generic board defconfig. Valid fragments are ``tf201.config``,
|
|||
$ make
|
||||
|
||||
After the build succeeds, you will obtain the final ``u-boot-dtb-tegra.bin``
|
||||
image, ready for flashing (but check the next section for additional
|
||||
adjustments).
|
||||
image, ready for further processing.
|
||||
|
||||
Pack U-Boot into repar-block
|
||||
----------------------------
|
||||
Process U-Boot
|
||||
--------------
|
||||
|
||||
``DISCLAMER!`` All questions related to re-crypt work should be asked
|
||||
``DISCLAMER!`` All questions related to the re-crypt work should be asked
|
||||
in re-crypt repo issues. NOT HERE!
|
||||
|
||||
re-crypt is a small script which packs ``u-boot-dtb-tegra.bin`` in
|
||||
form usable by device. This process is required only on the first
|
||||
installation or to recover the device in case of a failed update.
|
||||
You need to know your tablet's individual SBK to continue.
|
||||
re-crypt is a tool that processes the ``u-boot-dtb-tegra.bin`` binary into form
|
||||
usable by device. This process is required only on the first installation or
|
||||
to recover the device in case of a failed update. You need to know your
|
||||
tablet's individual SBK to continue.
|
||||
|
||||
Permanent installation can be performed either by using the nv3p protocol or by
|
||||
pre-loading just built U-Boot into RAM.
|
||||
|
||||
Processing for the NV3P protocol
|
||||
********************************
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ git clone https://github.com/clamor-s/re-crypt.git
|
||||
$ cd re-crypt # place your u-boot-dtb-regra.bin here
|
||||
$ ./re-crypt.sh -d tf201 -k deadbeefdeadc0dedeadd00dfee1dead
|
||||
$ git clone https://gitlab.com/grate-driver/re-crypt.git
|
||||
$ cd re-crypt # place your u-boot-dtb-tegra.bin here
|
||||
$ ./re-crypt.py --dev tf201 --sbk <your sbk>
|
||||
|
||||
Script will produce you a `repart-block.bin` ready to flash.
|
||||
where SBK has next form ``0xXXXXXXXX`` ``0xXXXXXXXX`` ``0xXXXXXXXX`` ``0xXXXXXXXX``
|
||||
|
||||
Flash repart-block into the eMMC
|
||||
--------------------------------
|
||||
The script will produce a ``repart-block.bin`` ready to flash.
|
||||
|
||||
``DISCLAMER!`` All questions related to NvFlash should be asked
|
||||
in the proper place. NOT HERE! Flashing repart-block will erase
|
||||
all your eMMC, so make a backup before!
|
||||
Processing for pre-loaded U-Boot
|
||||
********************************
|
||||
|
||||
``repart-block.bin`` contains BCT and bootloader in encrypted state
|
||||
in form which can just be written RAW at the start of eMMC.
|
||||
The procedure is the same, but the ``--split`` argument is used with the
|
||||
``re-crypt.py``. The script will produce ``bct.img`` and ``ebt.img`` ready
|
||||
to flash.
|
||||
|
||||
Flashing U-Boot into the eMMC
|
||||
-----------------------------
|
||||
|
||||
``DISCLAMER!`` All questions related to NvFlash should be asked in the proper
|
||||
place. NOT HERE! Flashing U-Boot will erase all eMMC, so make a backup before!
|
||||
|
||||
Permanent installation can be performed either by using the nv3p protocol or by
|
||||
pre-loading just built U-Boot into RAM.
|
||||
|
||||
Flashing with the NV3P protocol
|
||||
*******************************
|
||||
|
||||
Nv3p is a custom Nvidia protocol used to recover bricked devices. Devices can
|
||||
enter it either by using ``wheelie`` with the correct ``blob.bin`` file or by
|
||||
pre-loading vendor bootloader with the Fusée Gelée.
|
||||
|
||||
With nv3p, ``repart-block.bin`` is used. It contains BCT and a bootloader in
|
||||
encrypted state in form, which can just be written RAW at the start of eMMC.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ wheelie --blob blob.bin
|
||||
$ nvflash --resume --rawdevicewrite 0 1024 repart-block.bin
|
||||
|
||||
Flash repart-block into TF600T SPI flash
|
||||
----------------------------------------
|
||||
When flashing is done, reboot the device.
|
||||
|
||||
Unlike other transformers TF600T uses separate 4 MB SPI flash which
|
||||
contains all data required for boot. It is flashed from within u-boot
|
||||
itself preloaded into RAM using fusee gelee. After creating your
|
||||
``repart-block.bin`` you have to place it on a 1st partition of microSD
|
||||
card formated in fat. Then insert this microSD card into your tablet
|
||||
and boot it using fusee gelee and u-boot which was included into
|
||||
repart-block.bin, while booting you must hold volume down button.
|
||||
Process should take less then a minute, if everything goes correct,
|
||||
on microSD will appear ``spi-flash-backup.bin`` file, which is dump of
|
||||
your spi flash content and can be used to restore UEFI, do not loose it,
|
||||
tablet will power itself off.
|
||||
Flashing with a pre-loaded U-Boot
|
||||
*********************************
|
||||
|
||||
Self-updating of u-boot is performed by placing ``u-boot-dtb-tegra.bin``
|
||||
on 1st partition of microSD, inserting it into tablet and booting with
|
||||
pressed volume down button.
|
||||
U-Boot pre-loaded into RAM acts the same as when it was booted "cold". Currently
|
||||
U-Boot supports bootmenu entry fastboot, which allows to write a processed copy
|
||||
of U-Boot permanently into eMMC.
|
||||
|
||||
While pre-loading U-Boot, hold the ``volume down`` button which will trigger
|
||||
the bootmenu. There, select ``fastboot`` using the volume and power buttons.
|
||||
After, on host PC, do:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ fastboot flash 0.1 bct.img
|
||||
$ fastboot flash 0.2 ebt.img
|
||||
$ fastboot reboot
|
||||
|
||||
Device will reboot.
|
||||
|
||||
Flashing U-Boot into the SPI Flash
|
||||
----------------------------------
|
||||
|
||||
Some of Transformers use a separate 4 MB SPI flash, which contains all data
|
||||
required for boot. It is flashed from within U-Boot itself, preloaded into RAM
|
||||
using Fusée Gelée.
|
||||
|
||||
After creating your ``repart-block.bin`` you have to place it on a 1st partition
|
||||
of microSD card formated in fat. Then insert this microSD card into your tablet
|
||||
and boot it using Fusée Gelée and U-Boot, which was included into
|
||||
``repart-block.bin``, while booting you must hold the ``volume down`` button.
|
||||
|
||||
The process should take less than a minute, if everything goes correctly,
|
||||
on microSD will appear ``spi-flash-backup.bin`` file, which is the dump of your
|
||||
SPI Flash content and can be used to restore UEFI, do not lose it, tablet will
|
||||
power itself off.
|
||||
|
||||
Self-updating of U-Boot is performed by placing ``u-boot-dtb-tegra.bin`` on 1st
|
||||
partition of microSD, inserting it into the tablet and booting with a pressed
|
||||
``volume down`` button.
|
||||
|
||||
Boot
|
||||
----
|
||||
|
||||
After flashing ``repart-block.bin`` the device should reboot and turn
|
||||
itself off. This is normal behavior if no boot configuration is
|
||||
found.
|
||||
To boot Linux, U-Boot will look for an ``extlinux.conf`` on MicroSD and then on
|
||||
eMMC. Additionally, if the Volume Down button is pressed while booting, the
|
||||
device will enter bootmenu. Bootmenu contains entries to mount MicroSD and eMMC
|
||||
as mass storage, fastboot, reboot, reboot RCM, poweroff, enter U-Boot console
|
||||
and update bootloader (check the next chapter).
|
||||
|
||||
To boot Linux, U-Boot will look for an ``extlinux.conf`` on MicroSD
|
||||
and then on eMMC. Additionally if Volume Down button is pressed
|
||||
while booting device will enter bootmenu. Bootmenu contains entries
|
||||
to mount MicroSD and eMMC as mass storage, fastboot, reboot, reboot
|
||||
RCM, poweroff, enter U-Boot console and update bootloader (check next
|
||||
chapter).
|
||||
|
||||
Flashing ``repart-block.bin`` eliminates vendor restriction on eMMC
|
||||
and allows the user to use/partition it in any way the user desires.
|
||||
Flashing ``repart-block.bin`` eliminates vendor restrictions on eMMC and allows
|
||||
the user to use/partition it in any way the user desires.
|
||||
|
||||
Self Upgrading
|
||||
--------------
|
||||
|
||||
Place your ``u-boot-dtb-tegra.bin`` on the first partition of the
|
||||
MicroSD card and insert it into the tablet. Enter bootmenu, choose
|
||||
update bootloader option with Power button and U-Boot should update
|
||||
itself. Once the process is completed, U-Boot will ask to press any
|
||||
button to reboot.
|
||||
Place your ``u-boot-dtb-tegra.bin`` on the first partition of the MicroSD card
|
||||
and insert it into the tablet. Enter bootmenu, choose update the bootloader
|
||||
option with the Power button and U-Boot should update itself. Once the process
|
||||
is completed, U-Boot will ask to press any button to reboot.
|
||||
|
|
|
@ -3,17 +3,16 @@
|
|||
U-Boot for the HTC One X (endeavoru)
|
||||
====================================
|
||||
|
||||
``DISCLAMER!`` Moving your HTC ONe X to use U-Boot assumes
|
||||
replacement of the vendor hboot. Vendor android firmwares
|
||||
will no longer be able to run on the device.
|
||||
This replacement IS reversible.
|
||||
``DISCLAMER!`` Moving your HTC ONe X to use U-Boot assumes replacement of the
|
||||
vendor hboot. Vendor android firmwares will no longer be able to run on the
|
||||
device. This replacement IS reversible.
|
||||
|
||||
Quick Start
|
||||
-----------
|
||||
|
||||
- Build U-Boot
|
||||
- Pack U-Boot into repart-block
|
||||
- Flash repart-block into the eMMC
|
||||
- Process U-Boot
|
||||
- Flashing U-Boot into the eMMC
|
||||
- Boot
|
||||
- Self Upgrading
|
||||
|
||||
|
@ -27,63 +26,100 @@ Build U-Boot
|
|||
$ make
|
||||
|
||||
After the build succeeds, you will obtain the final ``u-boot-dtb-tegra.bin``
|
||||
image, ready for flashing (but check the next section for additional
|
||||
adjustments).
|
||||
image, ready for further processing.
|
||||
|
||||
Pack U-Boot into repar-block
|
||||
----------------------------
|
||||
Process U-Boot
|
||||
--------------
|
||||
|
||||
``DISCLAMER!`` All questions related to re-crypt work should be
|
||||
asked in re-crypt repo issues. NOT HERE!
|
||||
``DISCLAMER!`` All questions related to the re-crypt work should be asked
|
||||
in re-crypt repo issues. NOT HERE!
|
||||
|
||||
re-crypt is a small script which packs ``u-boot-dtb-tegra.bin`` in
|
||||
form usable by device. This process is required only on the first
|
||||
installation or to recover the device in case of a failed update.
|
||||
re-crypt is a tool that processes the ``u-boot-dtb-tegra.bin`` binary into form
|
||||
usable by device. This process is required only on the first installation or
|
||||
to recover the device in case of a failed update.
|
||||
|
||||
Permanent installation can be performed either by using the nv3p protocol or by
|
||||
pre-loading just built U-Boot into RAM.
|
||||
|
||||
Processing for the NV3P protocol
|
||||
********************************
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ git clone https://github.com/clamor-s/re-crypt.git
|
||||
$ cd re-crypt # place your u-boot-dtb-regra.bin here
|
||||
$ ./re-crypt.sh -d endeavoru
|
||||
$ git clone https://gitlab.com/grate-driver/re-crypt.git
|
||||
$ cd re-crypt # place your u-boot-dtb-tegra.bin here
|
||||
$ ./re-crypt.py --dev endeavoru
|
||||
|
||||
Script will produce you a ``repart-block.bin`` ready to flash.
|
||||
The script will produce a ``repart-block.bin`` ready to flash.
|
||||
|
||||
Flash repart-block into the eMMC
|
||||
--------------------------------
|
||||
Processing for pre-loaded U-Boot
|
||||
********************************
|
||||
|
||||
``DISCLAMER!`` All questions related to NvFlash should be asked
|
||||
in the proper place. NOT HERE! Flashing repart-block will erase
|
||||
all your eMMC, so make a backup before!
|
||||
The procedure is the same, but the ``--split`` argument is used with the
|
||||
``re-crypt.py``. The script will produce ``bct.img`` and ``ebt.img`` ready
|
||||
to flash.
|
||||
|
||||
``repart-block.bin`` contains BCT and bootloader in encrypted state
|
||||
in form which can just be written RAW at the start of eMMC.
|
||||
Flashing U-Boot into the eMMC
|
||||
-----------------------------
|
||||
|
||||
``DISCLAMER!`` All questions related to NvFlash should be asked in the proper
|
||||
place. NOT HERE! Flashing U-Boot will erase all eMMC, so make a backup before!
|
||||
|
||||
Permanent installation can be performed either by using the nv3p protocol or by
|
||||
pre-loading just built U-Boot into RAM.
|
||||
|
||||
Flashing with the NV3P protocol
|
||||
*******************************
|
||||
|
||||
Nv3p is a custom Nvidia protocol used to recover bricked devices. Devices can
|
||||
enter it either by using ``wheelie`` with the correct ``blob.bin`` file or by
|
||||
pre-loading vendor bootloader with the Fusée Gelée.
|
||||
|
||||
With nv3p, ``repart-block.bin`` is used. It contains BCT and a bootloader in
|
||||
encrypted state in form, which can just be written RAW at the start of eMMC.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ wheelie --blob blob.bin
|
||||
$ nvflash --resume --rawdevicewrite 0 1024 repart-block.bin
|
||||
|
||||
When flashing is done, reboot the device.
|
||||
|
||||
Flashing with a pre-loaded U-Boot
|
||||
*********************************
|
||||
|
||||
U-Boot pre-loaded into RAM acts the same as when it was booted "cold". Currently
|
||||
U-Boot supports bootmenu entry fastboot, which allows to write a processed copy
|
||||
of U-Boot permanently into eMMC.
|
||||
|
||||
While pre-loading U-Boot, hold the ``volume down`` button which will trigger
|
||||
the bootmenu. There, select ``fastboot`` using the volume and power buttons.
|
||||
After, on host PC, do:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ fastboot flash 0.1 bct.img
|
||||
$ fastboot flash 0.2 ebt.img
|
||||
$ fastboot reboot
|
||||
|
||||
Device will reboot.
|
||||
|
||||
Boot
|
||||
----
|
||||
|
||||
After flashing ``repart-block.bin`` the device should reboot and turn
|
||||
itself off. This is normal behavior if no boot configuration is
|
||||
found.
|
||||
To boot Linux, U-Boot will look for an ``extlinux.conf`` on eMMC. Additionally,
|
||||
if the Volume Down button is pressed while booting, the device will enter
|
||||
bootmenu. Bootmenu contains entries to mount eMMC as mass storage, fastboot,
|
||||
reboot, reboot RCM, poweroff, enter U-Boot console and update bootloader (check
|
||||
the next chapter).
|
||||
|
||||
To boot Linux, U-Boot will look for an ``extlinux.conf`` configuration
|
||||
on eMMC. Additionally if Volume Down button is pressed while booting
|
||||
device will enter bootmenu. Bootmenu contains entries to mount eMMC as
|
||||
mass storage, fastboot, reboot, reboot RCM, poweroff, enter U-Boot
|
||||
console and update bootloader (check next chapter).
|
||||
|
||||
Flashing ``repart-block.bin`` eliminates vendor restriction on eMMC
|
||||
and allows the user to use/partition it in any way the user desires.
|
||||
Flashing ``repart-block.bin`` eliminates vendor restrictions on eMMC and allows
|
||||
the user to use/partition it in any way the user desires.
|
||||
|
||||
Self Upgrading
|
||||
--------------
|
||||
|
||||
Place your ``u-boot-dtb-tegra.bin`` on the first partition of the
|
||||
eMMC (using ability of u-boot to mount it). Enter bootmenu, choose
|
||||
update bootloader option with Power button and U-Boot should update
|
||||
itself. Once the process is completed, U-Boot will ask to press any
|
||||
button to reboot.
|
||||
Place your ``u-boot-dtb-tegra.bin`` on the first partition of the eMMC (using
|
||||
ability of u-boot to mount it). Enter bootmenu, choose update bootloader option
|
||||
with Power button and U-Boot should update itself. Once the process is
|
||||
completed, U-Boot will ask to press any button to reboot.
|
||||
|
|
|
@ -3,17 +3,16 @@
|
|||
U-Boot for the LG X3 T30 device family
|
||||
======================================
|
||||
|
||||
``DISCLAMER!`` Moving your LG P880 or P895 to use U-Boot
|
||||
assumes replacement of the vendor LG bootloader. Vendor
|
||||
android firmwares will no longer be able to run on the
|
||||
device. This replacement IS reversible.
|
||||
``DISCLAMER!`` Moving your LG P880 or P895 to use U-Boot assumes replacement
|
||||
of the vendor LG bootloader. Vendor android firmwares will no longer be able
|
||||
to run on the device. This replacement IS reversible.
|
||||
|
||||
Quick Start
|
||||
-----------
|
||||
|
||||
- Build U-Boot
|
||||
- Pack U-Boot into repart-block
|
||||
- Flash repart-block into the eMMC
|
||||
- Process U-Boot
|
||||
- Flashing U-Boot into the eMMC
|
||||
- Boot
|
||||
- Self Upgrading
|
||||
|
||||
|
@ -30,64 +29,100 @@ board defconfig. Valid fragments are ``p880.config`` and ``p895.config``.
|
|||
$ make
|
||||
|
||||
After the build succeeds, you will obtain the final ``u-boot-dtb-tegra.bin``
|
||||
image, ready for flashing (but check the next section for additional
|
||||
adjustments).
|
||||
image, ready for further processing.
|
||||
|
||||
Pack U-Boot into repar-block
|
||||
----------------------------
|
||||
Process U-Boot
|
||||
--------------
|
||||
|
||||
``DISCLAMER!`` All questions related to re-crypt work should be
|
||||
asked in re-crypt repo issues. NOT HERE!
|
||||
``DISCLAMER!`` All questions related to the re-crypt work should be asked
|
||||
in re-crypt repo issues. NOT HERE!
|
||||
|
||||
re-crypt is a small script which packs ``u-boot-dtb-tegra.bin`` in
|
||||
form usable by device. This process is required only on the first
|
||||
installation or to recover the device in case of a failed update.
|
||||
re-crypt is a tool that processes the ``u-boot-dtb-tegra.bin`` binary into form
|
||||
usable by device. This process is required only on the first installation or
|
||||
to recover the device in case of a failed update.
|
||||
|
||||
Permanent installation can be performed either by using the nv3p protocol or by
|
||||
pre-loading just built U-Boot into RAM.
|
||||
|
||||
Processing for the NV3P protocol
|
||||
********************************
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ git clone https://github.com/clamor-s/re-crypt.git
|
||||
$ cd re-crypt # place your u-boot-dtb-regra.bin here
|
||||
$ ./re-crypt.sh -d p895
|
||||
$ git clone https://gitlab.com/grate-driver/re-crypt.git
|
||||
$ cd re-crypt # place your u-boot-dtb-tegra.bin here
|
||||
$ ./re-crypt.py --dev p895
|
||||
|
||||
Script will produce you a ``repart-block.bin`` ready to flash.
|
||||
The script will produce a ``repart-block.bin`` ready to flash.
|
||||
|
||||
Flash repart-block into the eMMC
|
||||
--------------------------------
|
||||
Processing for pre-loaded U-Boot
|
||||
********************************
|
||||
|
||||
``DISCLAMER!`` All questions related to NvFlash should be asked
|
||||
in the proper place. NOT HERE! Flashing repart-block will erase
|
||||
all your eMMC, so make a backup before!
|
||||
The procedure is the same, but the ``--split`` argument is used with the
|
||||
``re-crypt.py``. The script will produce ``bct.img`` and ``ebt.img`` ready
|
||||
to flash.
|
||||
|
||||
``repart-block.bin`` contains BCT and bootloader in encrypted state
|
||||
in form which can just be written RAW at the start of eMMC.
|
||||
Flashing U-Boot into the eMMC
|
||||
-----------------------------
|
||||
|
||||
``DISCLAMER!`` All questions related to NvFlash should be asked in the proper
|
||||
place. NOT HERE! Flashing U-Boot will erase all eMMC, so make a backup before!
|
||||
|
||||
Permanent installation can be performed either by using the nv3p protocol or by
|
||||
pre-loading just built U-Boot into RAM.
|
||||
|
||||
Flashing with the NV3P protocol
|
||||
*******************************
|
||||
|
||||
Nv3p is a custom Nvidia protocol used to recover bricked devices. Devices can
|
||||
enter it either by using ``wheelie`` with the correct ``blob.bin`` file or by
|
||||
pre-loading vendor bootloader with the Fusée Gelée.
|
||||
|
||||
With nv3p, ``repart-block.bin`` is used. It contains BCT and a bootloader in
|
||||
encrypted state in form, which can just be written RAW at the start of eMMC.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ wheelie --blob blob.bin
|
||||
$ nvflash --resume --rawdevicewrite 0 1024 repart-block.bin
|
||||
|
||||
When flashing is done, reboot the device.
|
||||
|
||||
Flashing with a pre-loaded U-Boot
|
||||
*********************************
|
||||
|
||||
U-Boot pre-loaded into RAM acts the same as when it was booted "cold". Currently
|
||||
U-Boot supports bootmenu entry fastboot, which allows to write a processed copy
|
||||
of U-Boot permanently into eMMC.
|
||||
|
||||
While pre-loading U-Boot, hold the ``volume down`` button which will trigger
|
||||
the bootmenu. There, select ``fastboot`` using the volume and power buttons.
|
||||
After, on host PC, do:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ fastboot flash 0.1 bct.img
|
||||
$ fastboot flash 0.2 ebt.img
|
||||
$ fastboot reboot
|
||||
|
||||
Device will reboot.
|
||||
|
||||
Boot
|
||||
----
|
||||
|
||||
After flashing ``repart-block.bin`` the device should reboot and turn
|
||||
itself off. This is normal behavior if no boot configuration is
|
||||
found.
|
||||
To boot Linux, U-Boot will look for an ``extlinux.conf`` on eMMC. Additionally,
|
||||
if the Volume Down button is pressed while booting, the device will enter
|
||||
bootmenu. Bootmenu contains entries to mount eMMC as mass storage, fastboot,
|
||||
reboot, reboot RCM, poweroff, enter U-Boot console and update bootloader (check
|
||||
the next chapter).
|
||||
|
||||
To boot Linux, U-Boot will look for an ``extlinux.conf`` on MicroSD
|
||||
and then on eMMC. Additionally if Volume Down button is pressed
|
||||
while booting device will enter bootmenu. Bootmenu contains entries
|
||||
to mount MicroSD and eMMC as mass storage, fastboot, reboot, reboot
|
||||
RCM, poweroff, enter U-Boot console and update bootloader (check next
|
||||
chapter).
|
||||
|
||||
Flashing ``repart-block.bin`` eliminates vendor restriction on eMMC
|
||||
and allows the user to use/partition it in any way the user desires.
|
||||
Flashing ``repart-block.bin`` eliminates vendor restrictions on eMMC and allows
|
||||
the user to use/partition it in any way the user desires.
|
||||
|
||||
Self Upgrading
|
||||
--------------
|
||||
|
||||
Place your ``u-boot-dtb-tegra.bin`` on the first partition of the
|
||||
eMMC (using ability of u-boot to mount it). Enter bootmenu, choose
|
||||
update bootloader option with Power button and U-Boot should update
|
||||
itself. Once the process is completed, U-Boot will ask to press any
|
||||
button to reboot.
|
||||
Place your ``u-boot-dtb-tegra.bin`` on the first partition of the eMMC (using
|
||||
ability of u-boot to mount it). Enter bootmenu, choose update bootloader option
|
||||
with Power button and U-Boot should update itself. Once the process is
|
||||
completed, U-Boot will ask to press any button to reboot.
|
||||
|
|
Loading…
Add table
Reference in a new issue