Commit Graph

46123 Commits

Author SHA1 Message Date
Paweł Jarosz 39abf9c1e9 mmc: dw_mmc: support transfer mode autodetection
dw_mmc supports two transfer modes in u-boot: idma and fifo.
This patch adds autodetection of transfer mode and eliminates setting this in host config struct

Change-Id: I0eafb78c3fd171827664e320b8959f3c5e27094a
Signed-off-by: Paweł Jarosz <paweljarosz3691@gmail.com>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2017-11-07 16:30:53 +08:00
Paweł Jarosz b9370edc3d rockchip: board: rk3066: convert board_usb_init to live tree functions
Use live tree functions to fill dwc2_plat_otg_data structure in board_usb_init.

Change-Id: Iea1055a77e7f42ec65627bc82ad5a7924910e9b0
Signed-off-by: Paweł Jarosz <paweljarosz3691@gmail.com>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2017-11-07 16:30:53 +08:00
Paweł Jarosz b2dae9bd94 rockchip: rk3066: add mk808 board files
mk808 is a tv stick with two usb ports, micro sd card slot, hdmi and
nand onboard.

Change-Id: I317c516f2023eec59c46195dd8280684137f977c
Signed-off-by: Paweł Jarosz <paweljarosz3691@gmail.com>
Acked-by: Simon Glass <sjg@chromium.org>
Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2017-11-07 16:30:53 +08:00
Paweł Jarosz ca3cef26db ARM: dts: rockchip: prefer u-boot, dm-pre-reloc rather than u-boot, dm-spl
rk3xxx.dtsi is used by rk3188 and rk3066. rk3188 uses alocated data in spl but rk3066 needs it in tpl.

Change-Id: I6e3ca3d45a6764421e441eba24e68ad7b8bec745
Signed-off-by: Paweł Jarosz <paweljarosz3691@gmail.com>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2017-11-07 16:30:53 +08:00
Paweł Jarosz 907f97732f mtd: nand: spl: allow build nand_bbt, nand_ids and nand_util
This patch allows building of nand_bbt, nand_ids, nand_util for nand drivers that need it.

Change-Id: I20beea9442a13bce926a5a2be24e3e2a69cf1b2d
Signed-off-by: Paweł Jarosz <paweljarosz3691@gmail.com>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2017-11-07 16:30:53 +08:00
Paweł Jarosz 200006a30c dfu: fix spl build
In current state dfu depends on cmd/mtdparts.c which isn't build in SPL.
This patch resolves it by cutting out unwanted code in SPL build.

Change-Id: I7b25d3991d2b4e3a4c50b90fa6cac760472650b2
Signed-off-by: Paweł Jarosz <paweljarosz3691@gmail.com>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2017-11-07 16:30:53 +08:00
Paweł Jarosz 6f14746b0c rockchip: mkimage: add support for rockchip nand boot image
The Rockchip boot ROM requires a particular file format for booting from NAND:

* It starts with 512-byte, rc4 encoded header and is aligned to nand page size

* Then first 2KB of first stage loader (tpl) aligned to nand page size
* n empty pages

* second 2KB of first stage loader (tpl) aligned to nand page size
* n empty pages

* ...

* first 2KB of second stage loader (spl) aligned to nand page size
* n empty pages

* second 2KB of first stage loader (spl) aligned to nand page size
* n empty pages

* ...

Size of spl and tpl must be aligned to 2KB.

example usage for nand with page size 16384 and one empty page in iteration:

    # mkimage -n rk3066 -T rknand -d ./u-boot/tpl/u-boot-tpl.bin:./u-boot/spl/u-boot-spl.bin -X 16384,1 out

Change-Id: Ie4ecb50637449251956a868272ce51ef489c7a1e
Signed-off-by: Paweł Jarosz <paweljarosz3691@gmail.com>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2017-11-07 16:30:53 +08:00
Paweł Jarosz a3584243c9 mtd: nand: add the rockchip nand controller driver
Add basic Rockchip nand driver.

Driver in current state has 16, 24, 40, 60 per 1024B BCH/ECC ability and 8 bit asynchronous flash interface support. Other features will come later.

Change-Id: I8e766afe7358a2357d75cfe094c4cd6fe92bd281
Signed-off-by: Paweł Jarosz <paweljarosz3691@gmail.com>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2017-11-07 16:30:52 +08:00
Paweł Jarosz 037e961371 mtd: nand: add support for the Sandisk SDTNQGAMA chip
Sandisk SDTNQGAMA is a 8GB size, 3.3V 8 bit chip with 16KB page size, 1KB write size and 40 bit ecc support

Change-Id: I7ff291de7406a6d43e99bc5fb8781a50abfd56ac
Signed-off-by: Paweł Jarosz <paweljarosz3691@gmail.com>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2017-11-07 16:30:52 +08:00
Paweł Jarosz ffd0ed872a rockchip: rk3066: add sdram driver
Add rockchip rk3066 sdram driver

Change-Id: I6f8dff6707e61e5f57868a0897be503aa5c1deb7
Signed-off-by: Paweł Jarosz <paweljarosz3691@gmail.com>
Acked-by: Simon Glass <sjg@chromium.org>
Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2017-11-07 16:30:52 +08:00
Joseph Chen 7ea94c7847 rockchip: test: key: use ctrl+c to exit test
This is more flexible for users to determine exit or not

Change-Id: Idcd9ad605b8615062fafae485cd2f297ed021fee
Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
2017-11-07 16:13:17 +08:00
Joseph Chen 3557321365 rockchip: test: adjust position of guide info
Change-Id: Ibd674a7fea9c8b109e5766d98ef80c15fb612633
Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
2017-11-07 16:13:14 +08:00
Kever Yang 81ae24d4d6 fastboot: add buffer addr for RK3066
Change-Id: I0d39e50063ab040d1027d342081bc63a19c9389b
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2017-11-07 11:07:18 +08:00
Paweł Jarosz 578306ea5a rockchip: rk3066: add core support
Add core skeleton for rk3066

Change-Id: I9fac85baaf671ac598c1c759b0f387b83ba9c21c
Signed-off-by: Paweł Jarosz <paweljarosz3691@gmail.com>
Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2017-11-07 11:07:17 +08:00
Paweł Jarosz 2c67c6667b rockchip: rk3066: add rk3066 platform devicetree file
rk3066 peripherials include usb, i2c, pwm, gpio, sdio, sdmmc, emmc, spi,
watchdog and uart

Change-Id: I38f07257bab251f043031028f2739ec9c861d014
Signed-off-by: Paweł Jarosz <paweljarosz3691@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2017-11-07 11:07:17 +08:00
Paweł Jarosz 4931c6fb28 rockchip: rk3066: add clock driver for rk3066 soc
Add clock driver for rk3066 platform.

Change-Id: I15527fb77c3b9a46a25df2ff51f4a78cf3808ea0
Signed-off-by: Paweł Jarosz <paweljarosz3691@gmail.com>
Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2017-11-07 11:07:17 +08:00
Paweł Jarosz 3701286190 rockchip: rk3066: add rk3066 pinctrl driver
Add driver supporting pin multiplexing on rk3066 platform.

Change-Id: Ibb8edea574939e646f1e3a09165d3ecfa1a283b6
Signed-off-by: Paweł Jarosz <paweljarosz3691@gmail.com>
Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2017-11-07 11:07:17 +08:00
Paweł Jarosz fa39219122 rockchip: rk3066: add grf header file
grf is needed by various drivers for rk3066 soc.

Change-Id: Id605feb6491eab73c2db9a0acba6e096e519e4ba
Signed-off-by: Paweł Jarosz <paweljarosz3691@gmail.com>
Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2017-11-07 11:07:17 +08:00
Kever Yang b5d6c3ee69 armv8: update gd after relocate
We need to update gd in assamble code after relocate,
this is a fix to:
adc421e arm: move gd handling outside of C code

Change-Id: I2730d6e7a8f0ee2a2fb44d63dfc7991aaae733b7
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2017-11-07 11:07:17 +08:00
Kever Yang 430b01462b rockchip: Kconfig: enable TPL/SPL support for rk3328
Enable TPL/SPL support and some related option in Kconfig.

Change-Id: Ifde2835d06cfd69933487a66ebce63956b12407e
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2017-11-07 11:07:16 +08:00
Kever Yang df4f40acb4 rockchip: evb-rk3328: enable defconfig options for TPL/SPL
Enable driver options for TPL/SPL in evb-rk3328_defconfig.

Change-Id: I8f9e378b3d459d976e2522884b607b68b0fdf9fd
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2017-11-07 11:07:10 +08:00
Kever Yang cb2b7a1bc7 rockchip: rk3328: add config option for TPL/SPL
Enable SPL_FRAMEWORK and TPL/SPL related base addr and size.

Change-Id: I59ee5675b66ec63c531931be7ba43606718c527f
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2017-11-07 11:06:48 +08:00
Kever Yang 664225d161 rockchip: dts: rk3328: enable the drivers need by tpl/spl
Enable the drivers need by TPL/SPL with 'u-boot,dm-pre-reloc'.

Change-Id: I7a3900379085e134631f390032fc974b25e46a08
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2017-11-07 11:06:48 +08:00
Kever Yang 0d85fb9b23 rockchip: rk3328-evb: add script for atf fit
Add a script to generate binaries from bl31.elf, and generate
u-boot.its file for FIT image including u-boot, dtb and atf
binaries.

Change-Id: Ife016da5468b3c618c619354fb280b6951aed94b
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2017-11-07 11:06:48 +08:00
Kever Yang 6c73d5e78d rockchip: add a link file for armv8 tpl
Rockchip TPL is not going to use both sram and dram, so
we will use a separate link file.

Change-Id: I336bdff8033ca2d49521a3639fbf182c293463b5
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2017-11-07 11:06:48 +08:00
Kever Yang 4ebe3968b6 rockchip: rk3328: add spl board file support
rk3328 spl is locate at dram, so do not have strict size limit,
suppose to enable storage media controller driver, load ATF and
U-Boot, then boot into ATF.

Change-Id: I60d0e2b278dc09b04bd098f682c06bd5fb6cecf7
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2017-11-07 11:06:47 +08:00
Kever Yang d9cab26c62 rockchip: rk3328: add tpl board file support
rk3328 tpl suppose to init ddr sdram and then back to bootrom.

Change-Id: I05ec83e32650b5aca88940d725586ffabf28322e
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2017-11-07 11:06:47 +08:00
Kever Yang 9fb0777ec3 rockchip: ram: add full feature rk3328 dram driver
This driver supports ddr3/lpddr3/ddr4 sdram initialization.

Since we are going to merge the common part in dram driver for all
Rockchip SoCs, this patch become a RFC and can be used for people
who need it.

Change-Id: I255411e02089b461fdc384842e23ec2e092f87fb
Signed-off-by: YouMin Chen <cym@rock-chips.com>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2017-11-07 11:06:47 +08:00
Kever Yang 1e14956365 rockchip: dts: rk3328: update dmc node for driver
Update dmc node for full feature driver.

Change-Id: Ie75b738a00c3f77ae5033d75ae21fe80238c119b
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2017-11-07 11:06:47 +08:00
Kever Yang 7c2f4ca09f rockchip: tool: update rk3328 spl_boot0
rk3328 is a 64bit SoC, do have spl_boot0.

Change-Id: I26a472213f7f9a66a2fc6167d7ff4986de5e3a33
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2017-11-07 11:06:47 +08:00
Kever Yang 62f9d1a3c8 rockchip: remove SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR from defconfig
Use default value 0x4000 for SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR instead
of define a new one.

Change-Id: Icfaf22554f3dd3581b1ad92dc0529b9ff6c352d1
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2017-11-07 11:06:46 +08:00
Kever Yang 29daf81101 rockchip: doc: update U-Boot location info
Update rockchip U-Boot location to 0x4000/16384.

Change-Id: I0801911a7baca9a7d374c0e1b5b1dddb194fb622
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2017-11-07 11:06:46 +08:00
Kever Yang b24d32f478 spl: set SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR to 0x4000 for rockchip
Rockchip use a 'loader2' partition for U-Boot, so u-boot.bin or
u-boot.itb load by SPL need to locate at0x4000. Detail here:
http://opensource.rock-chips.com/wiki_Boot_option

Change-Id: I3375346d04538cef1ce797bd2da5480c9ed50674
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2017-11-07 11:06:46 +08:00
Kever Yang 32040464eb rockchip: config: update partition table
User do not need to access the reserved part in system, remove them
from partition table.
Rename atf to trust as generic name for armv7 do not use ATF.

Change-Id: Iadf98fca8ec8887e4bca8f5feef9cf0071b1813f
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2017-11-07 11:06:46 +08:00
Kever Yang c95e05fb81 rockchip: rock: remove CONFIG_ENV_OFFSEt
We use the same default ENV setting in rockchip_common.h for all SoC.

Change-Id: Icd3e9a56c42254bc727cb683cb0736fe7c7997b0
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2017-11-07 11:06:46 +08:00
Elaine Zhang cc14d0843e rockchip: configs: enable DM_RESET config by default
Change-Id: Iff8e5ff45a1acc6255ca1ca41892c837891a9ac0
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2017-11-03 15:38:58 +08:00
Elaine Zhang 3d555d7522 rockchip: clk: add device_bind_driver_to_node for reset driver
all rockchip socs add device_bind_driver_to_node,
to bound device rockchip reset to clock-controller.

Change-Id: I03c2a798d211fb4181d5fc0fd6db8609c6db04d2
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2017-11-03 15:38:58 +08:00
Elaine Zhang 5754b8c90d drivers/reset: support rockchip reset drivers
Create driver to support all Rockchip SoCs soft reset.
Example of usage:
i2c driver:
	ret = reset_get_by_name(dev, "i2c", &reset_ctl);
	if (ret) {
		error("reset_get_by_name() failed: %d\n", ret);
	}

	reset_assert(&reset_ctl);
	udelay(50);
	reset_deassert(&reset_ctl);

i2c dts node:
resets = <&cru SRST_P_I2C1>, <&cru SRST_I2C1>;
reset-names = "p_i2c", "i2c";

Change-Id: I7db97619e33447d6130e349e90799cd398e29d72
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2017-11-03 15:17:21 +08:00
Kever Yang 39507926d5 rockchip: sysreset: use fst reset for ARM64 SOC
Rockchip ARM64 SOC will change cpu entry, only fst reset can reset it.

Change-Id: I9172dae79ced3128f6a11fb0f4029685c6662dfd
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2017-11-03 15:17:20 +08:00
Kever Yang 4f7772c458 rockchip: sysreset: do not enable driver in TPL
Sysreset do not help much in TPL, let's disable it to save code
space.

Change-Id: I51714e00284315767d874ecb85e56cb2c5ee2fe8
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2017-11-03 15:17:20 +08:00
Kever Yang fbdd155836 rockchip: clock: update sysreset driver bingding
Using priv for new sysreset driver binding.

Change-Id: I7ecc0a922086272651a6c7923afd2186c1cfeb7a
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2017-11-03 15:17:16 +08:00
Kever Yang 116397d63e rockchip: sysreset: merge into one common driver
Use a common driver for all Rockchip SOC instead of one for each SoC.
Use driver_data for reg offset.

Change-Id: Ie4a246e53052db47aab9cb3b0105d44a484db484
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2017-11-03 15:03:45 +08:00
Joseph Chen 6a43f0b024 configs: evb-rk3126: enable CONFIG_CMD_CHARGE_DISPLAY
Change-Id: I1bab5ca35b41428530881005cb12c0eddccb54a3
Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
2017-11-03 11:57:13 +08:00
Joseph Chen c0b38c6cdf cmd: add 'charge' cmd support
It calls charge display.

Change-Id: Iced07ec388b48f6849516cc67715b6a50860bc9c
Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
2017-11-03 11:57:12 +08:00
Joseph Chen 37cb087dbc rockchip: rk3128: select BOARD_LATE_INIT
Change-Id: I3d695600bb72bad27d64a8b30411e223a7034747
Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
2017-11-03 11:57:12 +08:00
Joseph Chen cffae0b6f6 rk3128: add charge display and logo show in board late init
Change-Id: I1a377f7e62465715b84386ebfd3be3abbc2f769f
Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
2017-11-03 11:57:12 +08:00
Joseph Chen 1bbb461d5b dm: add note for UCLASS_FG and UCLASS_KEY id
Change-Id: I977f39d3f8e3c58be6f2b9e90128fb476f431af0
Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
2017-11-03 11:57:12 +08:00
Joseph Chen e40c3d7fee configs: evb-rk3126: enable charge animation
Change-Id: I2ff56fd22fe6dcd05012882496ce09155cb7ad19
Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
2017-11-03 11:57:12 +08:00
Joseph Chen 1cada0aa9b ARM: dts: rk3126-evb: add charge animation node
Change-Id: I16dfffb0c41d1ba20a31778918522bf8078616ea
Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
2017-11-03 11:57:12 +08:00
Joseph Chen f1c8eccefa power: add charge animation support
Change-Id: I3a8c3f90e4e743b06c7cd0613ac6b5863238c6a4
Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
2017-11-03 11:57:11 +08:00