xref: /openbmc/u-boot/doc/README.uniphier (revision 52159d27ffe6b2a1a7e874cb2fda5aadbd4f03e5)
17168da16SMasahiro YamadaU-Boot for UniPhier SoC family
27168da16SMasahiro Yamada==============================
37168da16SMasahiro Yamada
47168da16SMasahiro Yamada
57168da16SMasahiro YamadaTested toolchains
67168da16SMasahiro Yamada-----------------
77168da16SMasahiro Yamada
87168da16SMasahiro Yamada (a) Ubuntu packages  (CROSS_COMPILE=arm-linux-gnueabi-)
97168da16SMasahiro Yamada
107168da16SMasahiro Yamada  If you are building U-Boot on Ubuntu, its standard package is recommended.
117168da16SMasahiro Yamada  You can install it as follows:
127168da16SMasahiro Yamada
137168da16SMasahiro Yamada    $ sudo apt-get install gcc-arm-linux-gnueabi-
147168da16SMasahiro Yamada
157168da16SMasahiro Yamada (b) Linaro compilers  (CROSS_COMPILE=arm-linux-gnueabihf-)
167168da16SMasahiro Yamada
177168da16SMasahiro Yamada  You can download pre-built toolchains from:
187168da16SMasahiro Yamada
197168da16SMasahiro Yamada    http://www.linaro.org/downloads/
207168da16SMasahiro Yamada
217168da16SMasahiro Yamada (c) kernel.org compilers  (CROSS_COMPILE=arm-unknown-linux-gnueabi-)
227168da16SMasahiro Yamada
237168da16SMasahiro Yamada  You can download pre-built toolchains from:
247168da16SMasahiro Yamada
257168da16SMasahiro Yamada    ftp://www.kernel.org/pub/tools/crosstool/files/bin/
267168da16SMasahiro Yamada
277168da16SMasahiro Yamada
287168da16SMasahiro YamadaCompile the source
297168da16SMasahiro Yamada------------------
307168da16SMasahiro Yamada
31*52159d27SMasahiro YamadasLD3 reference board:
32e90b3686SMasahiro Yamada    $ make uniphier_sld3_defconfig
337168da16SMasahiro Yamada    $ make CROSS_COMPILE=arm-linux-gnueabi-
347168da16SMasahiro Yamada
35*52159d27SMasahiro YamadaLD4 reference board:
365fd3f434SMasahiro Yamada    $ make uniphier_ld4_sld8_defconfig
377168da16SMasahiro Yamada    $ make CROSS_COMPILE=arm-linux-gnueabi-
387168da16SMasahiro Yamada
39*52159d27SMasahiro YamadasLD8 reference board:
405fd3f434SMasahiro Yamada    $ make uniphier_ld4_sld8_defconfig
41*52159d27SMasahiro Yamada    $ make CROSS_COMPILE=arm-linux-gnueabi- DEVICE_TREE=uniphier-sld8-ref
425fd3f434SMasahiro Yamada
43*52159d27SMasahiro YamadaPro4 reference board:
44e90b3686SMasahiro Yamada    $ make uniphier_pro4_defconfig
453365b4ebSMasahiro Yamada    $ make CROSS_COMPILE=arm-linux-gnueabi-
463365b4ebSMasahiro Yamada
47*52159d27SMasahiro YamadaPro4 Ace board:
48c6c7eed7SMasahiro Yamada    $ make uniphier_pro4_defconfig
49*52159d27SMasahiro Yamada    $ make CROSS_COMPILE=arm-linux-gnueabi- DEVICE_TREE=uniphier-pro4-ace
50c6c7eed7SMasahiro Yamada
51*52159d27SMasahiro YamadaPro4 Sanji board:
52c6c7eed7SMasahiro Yamada    $ make uniphier_pro4_defconfig
53*52159d27SMasahiro Yamada    $ make CROSS_COMPILE=arm-linux-gnueabi- DEVICE_TREE=uniphier-pro4-sanji
54c6c7eed7SMasahiro Yamada
55*52159d27SMasahiro YamadaPro5 4KBOX Board:
56fe7c95eeSMasahiro Yamada    $ make uniphier_pxs2_ld6b_defconfig
57*52159d27SMasahiro Yamada    $ make CROSS_COMPILE=arm-linux-gnueabi- DEVICE_TREE=uniphier-pro5-4kbox
5828f40d4aSMasahiro Yamada
59*52159d27SMasahiro YamadaPXs2 Gentil board:
601a264534SMasahiro Yamada    $ make uniphier_pxs2_ld6b_defconfig
61*52159d27SMasahiro Yamada    $ make CROSS_COMPILE=arm-linux-gnueabi- DEVICE_TREE=uniphier-pxs2-gentil
621a264534SMasahiro Yamada
63*52159d27SMasahiro YamadaPXs2 Vodka board:
641a264534SMasahiro Yamada    $ make uniphier_pxs2_ld6b_defconfig
65019df879SMasahiro Yamada    $ make CROSS_COMPILE=arm-linux-gnueabi-
66019df879SMasahiro Yamada
67*52159d27SMasahiro YamadaLD6b reference board:
681a264534SMasahiro Yamada    $ make uniphier_pxs2_ld6b_defconfig
69*52159d27SMasahiro Yamada    $ make CROSS_COMPILE=arm-linux-gnueabi- DEVICE_TREE=uniphier-ld6b-ref
70019df879SMasahiro Yamada
717168da16SMasahiro YamadaYou may wish to change the "CROSS_COMPILE=arm-linux-gnueabi-"
727168da16SMasahiro Yamadato use your favorite compiler.
737168da16SMasahiro Yamada
747168da16SMasahiro Yamada
757168da16SMasahiro YamadaBurn U-Boot images to NAND
767168da16SMasahiro Yamada--------------------------
777168da16SMasahiro Yamada
78d085ecd6SMasahiro YamadaWrite the following to the NAND device:
79d085ecd6SMasahiro Yamada
803cb9abc9SMasahiro Yamada - spl/u-boot-spl.bin at the offset address 0x00000000
81d085ecd6SMasahiro Yamada - u-boot.bin         at the offset address 0x00010000
82d085ecd6SMasahiro Yamada
83d085ecd6SMasahiro Yamadaor
84d085ecd6SMasahiro Yamada
85d085ecd6SMasahiro Yamada - u-boot-with-spl.bin at the offset address 0x00000000
867168da16SMasahiro Yamada
877168da16SMasahiro YamadaIf a TFTP server is available, the images can be easily updated.
88d085ecd6SMasahiro YamadaJust copy the u-boot-spl.bin and u-boot.bin to the TFTP public directory,
8995a2d438SMasahiro Yamadaand then run the following command at the U-Boot command line:
907168da16SMasahiro Yamada
917168da16SMasahiro Yamada  => run nandupdate
927168da16SMasahiro Yamada
937168da16SMasahiro Yamada
94c231c436SMasahiro YamadaBurn U-Boot images to eMMC
95c231c436SMasahiro Yamada--------------------------
96c231c436SMasahiro Yamada
97d085ecd6SMasahiro YamadaWrite the following to the Boot partition 1 of the eMMC device:
98d085ecd6SMasahiro Yamada
99c231c436SMasahiro Yamada - spl/u-boot-spl.bin at the offset address 0x00000000
100d085ecd6SMasahiro Yamada - u-boot.bin         at the offset address 0x00010000
101d085ecd6SMasahiro Yamada
102d085ecd6SMasahiro Yamadaor
103d085ecd6SMasahiro Yamada
104d085ecd6SMasahiro Yamada - u-boot-with-spl.bin at the offset address 0x00000000
105c231c436SMasahiro Yamada
106c231c436SMasahiro YamadaIf a TFTP server is available, the images can be easily updated.
107d085ecd6SMasahiro YamadaJust copy the u-boot-spl.bin and u-boot.bin to the TFTP public directory,
10895a2d438SMasahiro Yamadaand then run the following command at the U-Boot command line:
109c231c436SMasahiro Yamada
110c231c436SMasahiro Yamada  => run emmcupdate
111c231c436SMasahiro Yamada
112c231c436SMasahiro Yamada
1137168da16SMasahiro YamadaUniPhier specific commands
1147168da16SMasahiro Yamada--------------------------
1157168da16SMasahiro Yamada
1167168da16SMasahiro Yamada - pinmon (enabled by CONFIG_CMD_PINMON)
1177168da16SMasahiro Yamada     shows the boot mode pins that has been latched at the power-on reset
1187168da16SMasahiro Yamada
1197168da16SMasahiro Yamada - ddrphy (enabled by CONFIG_CMD_DDRPHY_DUMP)
1207168da16SMasahiro Yamada     shows the DDR PHY parameters set by the PHY training
1217168da16SMasahiro Yamada
1227168da16SMasahiro Yamada
1237168da16SMasahiro YamadaSupported devices
1247168da16SMasahiro Yamada-----------------
1257168da16SMasahiro Yamada
1267168da16SMasahiro Yamada - UART (on-chip)
1277168da16SMasahiro Yamada - NAND
128a111bfbfSMasahiro Yamada - SD/eMMC
1291e7df7c4SMasahiro Yamada - USB 2.0 (EHCI)
1301e7df7c4SMasahiro Yamada - USB 3.0 (xHCI)
131b9a66b63SMasahiro Yamada - GPIO
1327168da16SMasahiro Yamada - LAN (on-board SMSC9118)
1337168da16SMasahiro Yamada - I2C
1347168da16SMasahiro Yamada - EEPROM (connected to the on-board I2C bus)
1357168da16SMasahiro Yamada - Support card (SRAM, NOR flash, some peripherals)
1367168da16SMasahiro Yamada
1377168da16SMasahiro Yamada
13862102beeSMasahiro YamadaMicro Support Card
13962102beeSMasahiro Yamada------------------
14062102beeSMasahiro Yamada
14162102beeSMasahiro YamadaThe recommended bit switch settings are as follows:
14262102beeSMasahiro Yamada
14362102beeSMasahiro Yamada SW2    OFF(1)/ON(0)   Description
14462102beeSMasahiro Yamada ------------------------------------------
14562102beeSMasahiro Yamada bit 1   <----         BKSZ[0]
14662102beeSMasahiro Yamada bit 2   ---->         BKSZ[1]
14762102beeSMasahiro Yamada bit 3   <----         SoC Bus Width 16/32
14862102beeSMasahiro Yamada bit 4   <----         SERIAL_SEL[0]
14962102beeSMasahiro Yamada bit 5   ---->         SERIAL_SEL[1]
15062102beeSMasahiro Yamada bit 6   ---->         BOOTSWAP_EN
15162102beeSMasahiro Yamada bit 7   <----         CS1/CS5
15262102beeSMasahiro Yamada bit 8   <----         SOC_SERIAL_DISABLE
15362102beeSMasahiro Yamada
15462102beeSMasahiro Yamada SW8    OFF(1)/ON(0)   Description
15562102beeSMasahiro Yamada ------------------------------------------
156e69514ccSMasahiro Yamada bit 1    <----        CS1_SPLIT
15762102beeSMasahiro Yamada bit 2    <----        CASE9_ON
15862102beeSMasahiro Yamada bit 3    <----        CASE10_ON
15962102beeSMasahiro Yamada bit 4  Don't Care     Reserve
16062102beeSMasahiro Yamada bit 5  Don't Care     Reserve
16162102beeSMasahiro Yamada bit 6  Don't Care     Reserve
16262102beeSMasahiro Yamada bit 7    ---->        BURST_EN
16362102beeSMasahiro Yamada bit 8    ---->        FLASHBUS32_16
16462102beeSMasahiro Yamada
16562102beeSMasahiro YamadaThe BKSZ[1:0] specifies the address range of memory slot and peripherals
16662102beeSMasahiro Yamadaas follows:
16762102beeSMasahiro Yamada
16862102beeSMasahiro Yamada BKSZ    Description              RAM slot            Peripherals
16962102beeSMasahiro Yamada --------------------------------------------------------------------
170c57a9a63SMasahiro Yamada 0b00   15MB RAM / 1MB Peri    00000000-00efffff    00f00000-00ffffff
171c57a9a63SMasahiro Yamada 0b01   31MB RAM / 1MB Peri    00000000-01efffff    01f00000-01ffffff
172c57a9a63SMasahiro Yamada 0b10   64MB RAM / 1MB Peri    00000000-03efffff    03f00000-03ffffff
173c57a9a63SMasahiro Yamada 0b11  127MB RAM / 1MB Peri    00000000-07efffff    07f00000-07ffffff
17462102beeSMasahiro Yamada
17562102beeSMasahiro YamadaSet BSKZ[1:0] to 0b01 for U-Boot.
17662102beeSMasahiro YamadaThis mode is the most handy because EA[24] is always supported by the save pin
17762102beeSMasahiro Yamadamode of the system bus.  On the other hand, EA[25] is not supported for some
17862102beeSMasahiro Yamadanewer SoCs.  Even if it is, EA[25] is not connected on most of the boards.
17962102beeSMasahiro Yamada
1807168da16SMasahiro Yamada--
18162102beeSMasahiro YamadaMasahiro Yamada <yamada.masahiro@socionext.com>
1823cb9abc9SMasahiro YamadaFeb. 2016
183