X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=doc%2FREADME.uniphier;h=f79659c9cabdef273609b2f1afa95a541559cc09;hb=ac55dadb1cb6a350604affd84e19006984933fa0;hp=aaeb50c4e6ad083bd6a1c4bc549d6dbdbe47ca5d;hpb=db7a7dee6878fe7539d5967de1caff83246254e0;p=u-boot diff --git a/doc/README.uniphier b/doc/README.uniphier index aaeb50c4e6..f79659c9ca 100644 --- a/doc/README.uniphier +++ b/doc/README.uniphier @@ -2,62 +2,111 @@ U-Boot for UniPhier SoC family ============================== -Tested toolchains ------------------ +Recommended toolchains +---------------------- + +The UniPhir platform is well tested with Linaro toolchanis. +You can download pre-built toolchains from: - (a) Ubuntu packages (CROSS_COMPILE=arm-linux-gnueabi-) + http://www.linaro.org/downloads/ - If you are building U-Boot on Ubuntu, its standard package is recommended. - You can install it as follows: - $ sudo apt-get install gcc-arm-linux-gnueabi- +Compile the source +------------------ - (b) Linaro compilers (CROSS_COMPILE=arm-linux-gnueabihf-) +sLD3 reference board: + $ make uniphier_sld3_defconfig + $ make CROSS_COMPILE=arm-linux-gnueabihf- - You can download pre-built toolchains from: +LD4 reference board: + $ make uniphier_ld4_sld8_defconfig + $ make CROSS_COMPILE=arm-linux-gnueabihf- - http://www.linaro.org/downloads/ +sLD8 reference board: + $ make uniphier_ld4_sld8_defconfig + $ make CROSS_COMPILE=arm-linux-gnueabihf- DEVICE_TREE=uniphier-sld8-ref - (c) kernel.org compilers (CROSS_COMPILE=arm-unknown-linux-gnueabi-) +Pro4 reference board: + $ make uniphier_pro4_defconfig + $ make CROSS_COMPILE=arm-linux-gnueabihf- - You can download pre-built toolchains from: +Pro4 Ace board: + $ make uniphier_pro4_defconfig + $ make CROSS_COMPILE=arm-linux-gnueabihf- DEVICE_TREE=uniphier-pro4-ace - ftp://www.kernel.org/pub/tools/crosstool/files/bin/ +Pro4 Sanji board: + $ make uniphier_pro4_defconfig + $ make CROSS_COMPILE=arm-linux-gnueabihf- DEVICE_TREE=uniphier-pro4-sanji +Pro5 4KBOX Board: + $ make uniphier_pxs2_ld6b_defconfig + $ make CROSS_COMPILE=arm-linux-gnueabihf- DEVICE_TREE=uniphier-pro5-4kbox -Compile the source ------------------- +PXs2 Gentil board: + $ make uniphier_pxs2_ld6b_defconfig + $ make CROSS_COMPILE=arm-linux-gnueabihf- DEVICE_TREE=uniphier-pxs2-gentil -PH1-Pro4: - $ make ph1_pro4_defconfig - $ make CROSS_COMPILE=arm-linux-gnueabi- +PXs2 Vodka board: + $ make uniphier_pxs2_ld6b_defconfig + $ make CROSS_COMPILE=arm-linux-gnueabihf- -PH1-LD4: - $ make ph1_ld4_defconfig - $ make CROSS_COMPILE=arm-linux-gnueabi- +LD6b reference board: + $ make uniphier_pxs2_ld6b_defconfig + $ make CROSS_COMPILE=arm-linux-gnueabihf- DEVICE_TREE=uniphier-ld6b-ref -PH1-sLD8: - $ make ph1_sld8_defconfig - $ make CROSS_COMPILE=arm-linux-gnueabi- +LD11 reference board: + $ make uniphier_ld11_defconfig + $ make CROSS_COMPILE=aarch64-linux-gnu- -You may wish to change the "CROSS_COMPILE=arm-linux-gnueabi-" -to use your favorite compiler. +LD20 reference board: + $ make uniphier_ld20_defconfig + $ make CROSS_COMPILE=aarch64-linux-gnu- + +PXs3 reference board: + $ make uniphier_v8_defconfig + $ make CROSS_COMPILE=aarch64-linux-gnu- DEVICE_TREE=uniphier-pxs3-ref + +You may wish to change the "CROSS_COMPILE=..." to use your favorite compiler. Burn U-Boot images to NAND -------------------------- -Write two files to the NAND device as follows: +Write the following to the NAND device: + - spl/u-boot-spl.bin at the offset address 0x00000000 - - u-boot-dtb.img at the offset address 0x00010000 + - u-boot.bin at the offset address 0x00020000 + +or + + - u-boot-with-spl.bin at the offset address 0x00000000 If a TFTP server is available, the images can be easily updated. -Just copy the u-boot-spl.bin and u-boot-dtb.img to the TFTP public directory, +Just copy the u-boot-spl.bin and u-boot.bin to the TFTP public directory, and then run the following command at the U-Boot command line: => run nandupdate +Burn U-Boot images to eMMC +-------------------------- + +Write the following to the Boot partition 1 of the eMMC device: + + - spl/u-boot-spl.bin at the offset address 0x00000000 + - u-boot.bin at the offset address 0x00020000 + +or + + - u-boot-with-spl.bin at the offset address 0x00000000 + +If a TFTP server is available, the images can be easily updated. +Just copy the u-boot-spl.bin and u-boot.bin to the TFTP public directory, +and then run the following command at the U-Boot command line: + + => run emmcupdate + + UniPhier specific commands -------------------------- @@ -67,19 +116,67 @@ UniPhier specific commands - ddrphy (enabled by CONFIG_CMD_DDRPHY_DUMP) shows the DDR PHY parameters set by the PHY training + - ddrmphy (enabled by CONFIG_CMD_DDRMPHY_DUMP) + shows the DDR Multi PHY parameters set by the PHY training + Supported devices ----------------- - UART (on-chip) - NAND - - USB (2.0) + - SD/eMMC + - USB 2.0 (EHCI) + - USB 3.0 (xHCI) + - GPIO - LAN (on-board SMSC9118) - I2C - EEPROM (connected to the on-board I2C bus) - Support card (SRAM, NOR flash, some peripherals) +Micro Support Card +------------------ + +The recommended bit switch settings are as follows: + + SW2 OFF(1)/ON(0) Description + ------------------------------------------ + bit 1 <---- BKSZ[0] + bit 2 ----> BKSZ[1] + bit 3 <---- SoC Bus Width 16/32 + bit 4 <---- SERIAL_SEL[0] + bit 5 ----> SERIAL_SEL[1] + bit 6 ----> BOOTSWAP_EN + bit 7 <---- CS1/CS5 + bit 8 <---- SOC_SERIAL_DISABLE + + SW8 OFF(1)/ON(0) Description + ------------------------------------------ + bit 1 <---- CS1_SPLIT + bit 2 <---- CASE9_ON + bit 3 <---- CASE10_ON + bit 4 Don't Care Reserve + bit 5 Don't Care Reserve + bit 6 Don't Care Reserve + bit 7 ----> BURST_EN + bit 8 ----> FLASHBUS32_16 + +The BKSZ[1:0] specifies the address range of memory slot and peripherals +as follows: + + BKSZ Description RAM slot Peripherals + -------------------------------------------------------------------- + 0b00 15MB RAM / 1MB Peri 00000000-00efffff 00f00000-00ffffff + 0b01 31MB RAM / 1MB Peri 00000000-01efffff 01f00000-01ffffff + 0b10 64MB RAM / 1MB Peri 00000000-03efffff 03f00000-03ffffff + 0b11 127MB RAM / 1MB Peri 00000000-07efffff 07f00000-07ffffff + +Set BSKZ[1:0] to 0b01 for U-Boot. +This mode is the most handy because EA[24] is always supported by the save pin +mode of the system bus. On the other hand, EA[25] is not supported for some +newer SoCs. Even if it is, EA[25] is not connected on most of the boards. + -- -Masahiro Yamada -Feb. 2015 +Masahiro Yamada +Jan. 2017