xref: /openbmc/u-boot/doc/README.uniphier (revision 12a5ce72738a34eaa11b559778039f1051425dbd)
17168da16SMasahiro YamadaU-Boot for UniPhier SoC family
27168da16SMasahiro Yamada==============================
37168da16SMasahiro Yamada
47168da16SMasahiro Yamada
5*12a5ce72SMasahiro YamadaRecommended toolchains
6*12a5ce72SMasahiro Yamada----------------------
77168da16SMasahiro Yamada
8*12a5ce72SMasahiro YamadaThe UniPhir platform is well tested with Linaro toolchanis.
97168da16SMasahiro YamadaYou can download pre-built toolchains from:
107168da16SMasahiro Yamada
117168da16SMasahiro Yamada    http://www.linaro.org/downloads/
127168da16SMasahiro Yamada
137168da16SMasahiro Yamada
147168da16SMasahiro YamadaCompile the source
157168da16SMasahiro Yamada------------------
167168da16SMasahiro Yamada
1752159d27SMasahiro YamadasLD3 reference board:
18e90b3686SMasahiro Yamada    $ make uniphier_sld3_defconfig
19*12a5ce72SMasahiro Yamada    $ make CROSS_COMPILE=arm-linux-gnueabihf-
207168da16SMasahiro Yamada
2152159d27SMasahiro YamadaLD4 reference board:
225fd3f434SMasahiro Yamada    $ make uniphier_ld4_sld8_defconfig
23*12a5ce72SMasahiro Yamada    $ make CROSS_COMPILE=arm-linux-gnueabihf-
247168da16SMasahiro Yamada
2552159d27SMasahiro YamadasLD8 reference board:
265fd3f434SMasahiro Yamada    $ make uniphier_ld4_sld8_defconfig
27*12a5ce72SMasahiro Yamada    $ make CROSS_COMPILE=arm-linux-gnueabihf- DEVICE_TREE=uniphier-sld8-ref
285fd3f434SMasahiro Yamada
2952159d27SMasahiro YamadaPro4 reference board:
30e90b3686SMasahiro Yamada    $ make uniphier_pro4_defconfig
31*12a5ce72SMasahiro Yamada    $ make CROSS_COMPILE=arm-linux-gnueabihf-
323365b4ebSMasahiro Yamada
3352159d27SMasahiro YamadaPro4 Ace board:
34c6c7eed7SMasahiro Yamada    $ make uniphier_pro4_defconfig
35*12a5ce72SMasahiro Yamada    $ make CROSS_COMPILE=arm-linux-gnueabihf- DEVICE_TREE=uniphier-pro4-ace
36c6c7eed7SMasahiro Yamada
3752159d27SMasahiro YamadaPro4 Sanji board:
38c6c7eed7SMasahiro Yamada    $ make uniphier_pro4_defconfig
39*12a5ce72SMasahiro Yamada    $ make CROSS_COMPILE=arm-linux-gnueabihf- DEVICE_TREE=uniphier-pro4-sanji
40c6c7eed7SMasahiro Yamada
4152159d27SMasahiro YamadaPro5 4KBOX Board:
42fe7c95eeSMasahiro Yamada    $ make uniphier_pxs2_ld6b_defconfig
43*12a5ce72SMasahiro Yamada    $ make CROSS_COMPILE=arm-linux-gnueabihf- DEVICE_TREE=uniphier-pro5-4kbox
4428f40d4aSMasahiro Yamada
4552159d27SMasahiro YamadaPXs2 Gentil board:
461a264534SMasahiro Yamada    $ make uniphier_pxs2_ld6b_defconfig
47*12a5ce72SMasahiro Yamada    $ make CROSS_COMPILE=arm-linux-gnueabihf- DEVICE_TREE=uniphier-pxs2-gentil
481a264534SMasahiro Yamada
4952159d27SMasahiro YamadaPXs2 Vodka board:
501a264534SMasahiro Yamada    $ make uniphier_pxs2_ld6b_defconfig
51*12a5ce72SMasahiro Yamada    $ make CROSS_COMPILE=arm-linux-gnueabihf-
52019df879SMasahiro Yamada
5352159d27SMasahiro YamadaLD6b reference board:
541a264534SMasahiro Yamada    $ make uniphier_pxs2_ld6b_defconfig
55*12a5ce72SMasahiro Yamada    $ make CROSS_COMPILE=arm-linux-gnueabihf- DEVICE_TREE=uniphier-ld6b-ref
56019df879SMasahiro Yamada
57*12a5ce72SMasahiro YamadaLD11 reference board:
58*12a5ce72SMasahiro Yamada    $ make uniphier_ld11_defconfig
59*12a5ce72SMasahiro Yamada    $ make CROSS_COMPILE=aarch64-linux-gnu-
60*12a5ce72SMasahiro Yamada
61*12a5ce72SMasahiro YamadaLD20 reference board:
62*12a5ce72SMasahiro Yamada    $ make uniphier_ld20_defconfig
63*12a5ce72SMasahiro Yamada    $ make CROSS_COMPILE=aarch64-linux-gnu-
64*12a5ce72SMasahiro Yamada
65*12a5ce72SMasahiro YamadaYou may wish to change the "CROSS_COMPILE=..." to use your favorite compiler.
667168da16SMasahiro Yamada
677168da16SMasahiro Yamada
687168da16SMasahiro YamadaBurn U-Boot images to NAND
697168da16SMasahiro Yamada--------------------------
707168da16SMasahiro Yamada
71d085ecd6SMasahiro YamadaWrite the following to the NAND device:
72d085ecd6SMasahiro Yamada
733cb9abc9SMasahiro Yamada - spl/u-boot-spl.bin at the offset address 0x00000000
74d085ecd6SMasahiro Yamada - u-boot.bin         at the offset address 0x00010000
75d085ecd6SMasahiro Yamada
76d085ecd6SMasahiro Yamadaor
77d085ecd6SMasahiro Yamada
78d085ecd6SMasahiro Yamada - u-boot-with-spl.bin at the offset address 0x00000000
797168da16SMasahiro Yamada
807168da16SMasahiro YamadaIf a TFTP server is available, the images can be easily updated.
81d085ecd6SMasahiro YamadaJust copy the u-boot-spl.bin and u-boot.bin to the TFTP public directory,
8295a2d438SMasahiro Yamadaand then run the following command at the U-Boot command line:
837168da16SMasahiro Yamada
847168da16SMasahiro Yamada  => run nandupdate
857168da16SMasahiro Yamada
867168da16SMasahiro Yamada
87c231c436SMasahiro YamadaBurn U-Boot images to eMMC
88c231c436SMasahiro Yamada--------------------------
89c231c436SMasahiro Yamada
90d085ecd6SMasahiro YamadaWrite the following to the Boot partition 1 of the eMMC device:
91d085ecd6SMasahiro Yamada
92c231c436SMasahiro Yamada - spl/u-boot-spl.bin at the offset address 0x00000000
93d085ecd6SMasahiro Yamada - u-boot.bin         at the offset address 0x00010000
94d085ecd6SMasahiro Yamada
95d085ecd6SMasahiro Yamadaor
96d085ecd6SMasahiro Yamada
97d085ecd6SMasahiro Yamada - u-boot-with-spl.bin at the offset address 0x00000000
98c231c436SMasahiro Yamada
99c231c436SMasahiro YamadaIf a TFTP server is available, the images can be easily updated.
100d085ecd6SMasahiro YamadaJust copy the u-boot-spl.bin and u-boot.bin to the TFTP public directory,
10195a2d438SMasahiro Yamadaand then run the following command at the U-Boot command line:
102c231c436SMasahiro Yamada
103c231c436SMasahiro Yamada  => run emmcupdate
104c231c436SMasahiro Yamada
105c231c436SMasahiro Yamada
1067168da16SMasahiro YamadaUniPhier specific commands
1077168da16SMasahiro Yamada--------------------------
1087168da16SMasahiro Yamada
1097168da16SMasahiro Yamada - pinmon (enabled by CONFIG_CMD_PINMON)
1107168da16SMasahiro Yamada     shows the boot mode pins that has been latched at the power-on reset
1117168da16SMasahiro Yamada
1127168da16SMasahiro Yamada - ddrphy (enabled by CONFIG_CMD_DDRPHY_DUMP)
1137168da16SMasahiro Yamada     shows the DDR PHY parameters set by the PHY training
1147168da16SMasahiro Yamada
115*12a5ce72SMasahiro Yamada - ddrmphy (enabled by CONFIG_CMD_DDRMPHY_DUMP)
116*12a5ce72SMasahiro Yamada     shows the DDR Multi PHY parameters set by the PHY training
117*12a5ce72SMasahiro Yamada
1187168da16SMasahiro Yamada
1197168da16SMasahiro YamadaSupported devices
1207168da16SMasahiro Yamada-----------------
1217168da16SMasahiro Yamada
1227168da16SMasahiro Yamada - UART (on-chip)
1237168da16SMasahiro Yamada - NAND
124a111bfbfSMasahiro Yamada - SD/eMMC
1251e7df7c4SMasahiro Yamada - USB 2.0 (EHCI)
1261e7df7c4SMasahiro Yamada - USB 3.0 (xHCI)
127b9a66b63SMasahiro Yamada - GPIO
1287168da16SMasahiro Yamada - LAN (on-board SMSC9118)
1297168da16SMasahiro Yamada - I2C
1307168da16SMasahiro Yamada - EEPROM (connected to the on-board I2C bus)
1317168da16SMasahiro Yamada - Support card (SRAM, NOR flash, some peripherals)
1327168da16SMasahiro Yamada
1337168da16SMasahiro Yamada
13462102beeSMasahiro YamadaMicro Support Card
13562102beeSMasahiro Yamada------------------
13662102beeSMasahiro Yamada
13762102beeSMasahiro YamadaThe recommended bit switch settings are as follows:
13862102beeSMasahiro Yamada
13962102beeSMasahiro Yamada SW2    OFF(1)/ON(0)   Description
14062102beeSMasahiro Yamada ------------------------------------------
14162102beeSMasahiro Yamada bit 1   <----         BKSZ[0]
14262102beeSMasahiro Yamada bit 2   ---->         BKSZ[1]
14362102beeSMasahiro Yamada bit 3   <----         SoC Bus Width 16/32
14462102beeSMasahiro Yamada bit 4   <----         SERIAL_SEL[0]
14562102beeSMasahiro Yamada bit 5   ---->         SERIAL_SEL[1]
14662102beeSMasahiro Yamada bit 6   ---->         BOOTSWAP_EN
14762102beeSMasahiro Yamada bit 7   <----         CS1/CS5
14862102beeSMasahiro Yamada bit 8   <----         SOC_SERIAL_DISABLE
14962102beeSMasahiro Yamada
15062102beeSMasahiro Yamada SW8    OFF(1)/ON(0)   Description
15162102beeSMasahiro Yamada ------------------------------------------
152e69514ccSMasahiro Yamada bit 1    <----        CS1_SPLIT
15362102beeSMasahiro Yamada bit 2    <----        CASE9_ON
15462102beeSMasahiro Yamada bit 3    <----        CASE10_ON
15562102beeSMasahiro Yamada bit 4  Don't Care     Reserve
15662102beeSMasahiro Yamada bit 5  Don't Care     Reserve
15762102beeSMasahiro Yamada bit 6  Don't Care     Reserve
15862102beeSMasahiro Yamada bit 7    ---->        BURST_EN
15962102beeSMasahiro Yamada bit 8    ---->        FLASHBUS32_16
16062102beeSMasahiro Yamada
16162102beeSMasahiro YamadaThe BKSZ[1:0] specifies the address range of memory slot and peripherals
16262102beeSMasahiro Yamadaas follows:
16362102beeSMasahiro Yamada
16462102beeSMasahiro Yamada BKSZ    Description              RAM slot            Peripherals
16562102beeSMasahiro Yamada --------------------------------------------------------------------
166c57a9a63SMasahiro Yamada 0b00   15MB RAM / 1MB Peri    00000000-00efffff    00f00000-00ffffff
167c57a9a63SMasahiro Yamada 0b01   31MB RAM / 1MB Peri    00000000-01efffff    01f00000-01ffffff
168c57a9a63SMasahiro Yamada 0b10   64MB RAM / 1MB Peri    00000000-03efffff    03f00000-03ffffff
169c57a9a63SMasahiro Yamada 0b11  127MB RAM / 1MB Peri    00000000-07efffff    07f00000-07ffffff
17062102beeSMasahiro Yamada
17162102beeSMasahiro YamadaSet BSKZ[1:0] to 0b01 for U-Boot.
17262102beeSMasahiro YamadaThis mode is the most handy because EA[24] is always supported by the save pin
17362102beeSMasahiro Yamadamode of the system bus.  On the other hand, EA[25] is not supported for some
17462102beeSMasahiro Yamadanewer SoCs.  Even if it is, EA[25] is not connected on most of the boards.
17562102beeSMasahiro Yamada
1767168da16SMasahiro Yamada--
17762102beeSMasahiro YamadaMasahiro Yamada <yamada.masahiro@socionext.com>
178*12a5ce72SMasahiro YamadaOct. 2016
179