summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| * imx8mp_evk: spl: no need the code since spl framework could do thatPeng Fan2020-06-081-5/+1
| | | | | | | | | | | | | | | | We no need invoke the code, since spl framework could help us do that. Signed-off-by: Peng Fan <peng.fan@nxp.com> Signed-off-by: Fabio Estevam <festevam@gmail.com>
| * imx8mp_evk: spl: use spl_early_initPeng Fan2020-06-081-6/+6
| | | | | | | | | | | | | | | | | | Use spl_early_init to replace spl_init, spl_init will be invoked in board_init_r, we only need use spl_early_init to setup malloc and scan early dt. Signed-off-by: Peng Fan <peng.fan@nxp.com> Signed-off-by: Fabio Estevam <festevam@gmail.com>
| * imx8mp_evk: spl: drop timer_initPeng Fan2020-06-081-2/+0
| | | | | | | | | | | | | | | | timer_init has been invoked in arch_cpu_init, no need to invoke it again in board code. Signed-off-by: Peng Fan <peng.fan@nxp.com> Signed-off-by: Fabio Estevam <festevam@gmail.com>
| * imx8mp_evk: spl: drop useless codePeng Fan2020-06-081-14/+0
| | | | | | | | | | | | | | | | Drop useless getting ccm device, there is no need to explicted do this in board code, and we not enable SPL CLK currently. Signed-off-by: Peng Fan <peng.fan@nxp.com> Signed-off-by: Fabio Estevam <festevam@gmail.com>
| * imx: Update MTD partitions layout for display5 (i.MX6Q) boardLukasz Majewski2020-06-083-5/+6
| | | | | | | | | | | | | | This change updates the MTD partition layout on SPI-NOR memory for display5 board. Signed-off-by: Lukasz Majewski <lukma@denx.de>
| * imx: rom api: fix image offset computationSébastien Szymanski2020-06-081-6/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When not booting from FlexSPI, the offset computation is: offset = image_offset + CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR * 512 - 0x8000; When booting from SD card or eMMC user partition, image_offset is 0x8000. It is useless to add and remove 0x8000. When booting from other device, image_offset is 0 so this computation is wrong. Simplfy this computation to work on all booting devices. Signed-off-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
| * verdin-imx8mm: Select the watchdog driverFabio Estevam2020-06-081-1/+0
| | | | | | | | | | | | | | | | | | | | | | Currently watchdog driver is not selected, which causes system to reboot after staying 60s in the U-Boot prompt. Fix this problem by enabling CONFIG_WATCHDOG so that watchdog can be properly serviced. Signed-off-by: Fabio Estevam <festevam@gmail.com> Acked-by: Igor Opaniuk <igor.opaniuk@toradex.com>
| * imx8mp_evk: Select the watchdog driverFabio Estevam2020-06-081-1/+0
| | | | | | | | | | | | | | | | | | | | Currently watchdog driver is not selected, which causes system to reboot after staying 60s in the U-Boot prompt. Fix this problem by enabling CONFIG_WATCHDOG so that watchdog can be properly serviced. Signed-off-by: Fabio Estevam <festevam@gmail.com>
| * imx8mm_beacon: Select the watchdog driverFabio Estevam2020-06-081-1/+0
| | | | | | | | | | | | | | | | | | | | | | Currently watchdog driver is not selected, which causes system to reboot after staying 60s in the U-Boot prompt. Fix this problem by enabling CONFIG_WATCHDOG so that watchdog can be properly serviced. Signed-off-by: Fabio Estevam <festevam@gmail.com> Reviewed-by: Adam Ford <aford173@gmail.com>
| * imx8mn_ddr4_evk: Select the watchdog driverFabio Estevam2020-06-081-1/+0
| | | | | | | | | | | | | | | | | | | | Currently watchdog driver is not selected, which causes system to reboot after staying 60s in the U-Boot prompt. Fix this problem by enabling CONFIG_WATCHDOG so that watchdog can be properly serviced. Signed-off-by: Fabio Estevam <festevam@gmail.com>
| * imx8mm_evk: Select the watchdog driverFabio Estevam2020-06-081-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently the watchdog driver is not selected, which causes the following warnings in both SPL and U-Boot proper: U-Boot SPL 2020.07-rc1-00387-g67887903af (May 07 2020 - 23:49:27 -0300) Normal Boot WDT: Started without servicing (60s timeout) Trying to boot from MMC1 U-Boot 2020.07-rc1-00387-g67887903af (May 07 2020 - 23:49:27 -0300) CPU: Freescale i.MX8MMQ rev1.0 at 1200 MHz Reset cause: POR Model: FSL i.MX8MM EVK board DRAM: 2 GiB WDT: Started without servicing (60s timeout) .... System reboots after staying 60s in the U-Boot prompt. Fix this problem by enabling CONFIG_WATCHDOG so that watchdog can be properly serviced. Suggested-by: Marek Vasut <marex@denx.de> Signed-off-by: Fabio Estevam <festevam@gmail.com>
| * imx8mp_evk: Add a README fileFabio Estevam2020-06-081-0/+41
| | | | | | | | | | | | Add a README file explaining the U-Boot build and SD card flash procedures. Signed-off-by: Fabio Estevam <festevam@gmail.com>
| * imx: move ATF to the back of the FIT to fix loading over yModemPatrick Wildt2020-06-081-14/+17
| | | | | | | | | | | | | | | | | | | | | | | | With yModem the FIT Image is only supplied once, so we can only seek forward in the yModem supplied image and never backwards. With the recent changes to the SPL mechanism, including loading U-Boot first, FDT after, then the loadables, we must also reorder the FIT image script to make sure that the loadables are last in the FIT image. Signed-off-by: Patrick Wildt <patrick@blueri.se> Tested-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
| * imx: Kconfig: enable IMX_BOOTAUX for i.MX8MPeng Fan2020-06-081-1/+1
| | | | | | | | | | | | | | i.MX8M could use imx bootaux to boot m4/m7 core, so let's add it to the dependency list. Signed-off-by: Peng Fan <peng.fan@nxp.com>
| * ARM: dts: imxrt1050: indent lcdif node correctlyGiulio Benetti2020-06-081-6/+6
| | | | | | | | | | | | | | | | Accidentally submitted a patch with indentation not correct, let's fix it by indenting wrong lines. Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com> Acked-by: Peng Fan <peng.fan@nxp.com>
* | Prepare v2020.07-rc4Tom Rini2020-06-081-1/+1
| | | | | | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* | cmd: Correct the 'md.q' commandSimon Glass2020-06-081-0/+1
| | | | | | | | | | | | | | | | | | This displays incorrect data at present due to a missing header file in display_options. Fix it. Fixes: 09140113108 ("command: Remove the cmd_tbl_t typedef") Signed-off-by: Simon Glass <sjg@chromium.org>
* | Merge https://gitlab.denx.de/u-boot/custodians/u-boot-mpc85xxTom Rini2020-06-0887-86/+3111
|\ \ | | | | | | | | | | | | | | | | | | - DM_ETH support for P2041RDB, T1024RDB, P5040DS, P3041DS, P4080DS, bug fixes - Add TBI PHY access through MII - DDR: Rework errata workaround for A008109, A008378, 009942
| * | ddr: Rework errata A008109, A008378, 009942 workaroundJaiprakash Singh2020-06-044-65/+111
| | | | | | | | | | | | | | | | | | | | | | | | | | | Move errata A008109, A008378, 009942 workaround implementation from compute_fsl_memctl_config_regs() to fsl_ddr_set_memctl_regs() and add register write after each workaround implementation. Signed-off-by: Jaiprakash Singh <Jaiprakash.singh@nxp.com> Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
| * | ddr: fsl: Impl. Erratum A008109Joakim Tjernlund2020-06-043-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | Impl. erratum as descibed in errata doc. Enable A008109 for T1040 and T1024 Signed-off-by: Joakim Tjernlund <joakim.tjernlund@infinera.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
| * | net: tsec: Access TBI PHY through the corresponding MIIHou Zhiqiang2020-06-041-4/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When an eTSEC is configured to use TBI, configuration of the TBI is done through the MIIM registers for that eTSEC. For example, if a TBI interface is required on eTSEC2, then the MIIM registers starting at offset 0x2_5520 are used to configure it. Fixes: 9a1d6af55ecd ("net: tsec: Add driver model ethernet support") Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com> Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com> Tested-by: Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
| * | net: tsec: Access eTSEC registers using virtual addressHou Zhiqiang2020-06-041-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current code accesses eTSEC registers using physical address directly, it's not correct, though no problem on current platforms. It won't work on platforms, which does not support 1:1 virtual-physical address map. Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com> Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com> Tested-by: Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
| * | doc: dt-bindings: tsec: Correct the Ethernet port compatible stringHou Zhiqiang2020-06-041-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change the compatible string to "fsl,etsec2" for the Ethernet ports, which is used in the current driver's match table. Fixes: 69a00875e3db ("doc: dt-bindings: Describe Freescale TSEC ethernet controller") Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com> Acked-by: Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
| * | configs: enable DM_ETH support for T1024RDBMadalin Bucur2020-06-045-2/+18
| | | | | | | | | | | | | | | | | | | | | Enable DM_ETH on all the defconfigs for the T1024RDB board. Signed-off-by: Madalin Bucur <madalin.bucur@oss.nxp.com> Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
| * | configs: enable DM_ETH support for P2041RDBMadalin Bucur2020-06-045-2/+18
| | | | | | | | | | | | | | | | | | | | | Enable DM_ETH on all the defconfigs for the P2041RDB board. Signed-off-by: Madalin Bucur <madalin.bucur@oss.nxp.com> Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
| * | powerpc: dts: add QorIQ DPAA 1 FMan v3 to T1024RDBMadalin Bucur2020-06-041-1/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce the QorIQ DPAA 1 Frame Manager nodes in the T1024RDB device tree. The device tree fragments are copied over with little modification from the Linux kernel source code. Signed-off-by: Madalin Bucur <madalin.bucur@oss.nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
| * | powerpc: dts: add QorIQ DPAA 1 FMan v3 for T102xMadalin Bucur2020-06-042-0/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add the QorIQ DPAA 1 Frame Manager v3 device tree nodes for the T102x SoCs. The device tree fragments are copied over with little modification from the Linux kernel source code. Signed-off-by: Madalin Bucur <madalin.bucur@oss.nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
| * | powerpc: dts: add QorIQ DPAA 1 FMan to P5040DSMadalin Bucur2020-06-041-1/+251
| | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce the QorIQ DPAA 1 Frame Manager nodes in the P5040DS device tree. The device tree fragments are copied over with little modification from the Linux kernel source code. Signed-off-by: Madalin Bucur <madalin.bucur@oss.nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
| * | powerpc: dts: add QorIQ DPAA 1 FMan for P5040Madalin Bucur2020-06-041-0/+69
| | | | | | | | | | | | | | | | | | | | | | | | The device tree fragments are copied over with little modification from the Linux kernel source code. Signed-off-by: Madalin Bucur <madalin.bucur@oss.nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
| * | powerpc: dts: add QorIQ DPAA 1 FMan to P3041DSMadalin Bucur2020-06-041-1/+128
| | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce the QorIQ DPAA 1 Frame Manager nodes in the P3041DS device tree. The device tree fragments are copied over with little modification from the Linux kernel source code. Signed-off-by: Madalin Bucur <madalin.bucur@oss.nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
| * | powerpc: dts: add QorIQ DPAA 1 FMan for P3041Madalin Bucur2020-06-041-0/+42
| | | | | | | | | | | | | | | | | | | | | | | | The device tree fragments are copied over with little modification from the Linux kernel source code. Signed-off-by: Madalin Bucur <madalin.bucur@oss.nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
| * | powerpc: dts: add QorIQ DPAA 1 FMan to P2041RDBMadalin Bucur2020-06-041-1/+97
| | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce the QorIQ DPAA 1 Frame Manager nodes in the P2041RDB device tree. The device tree fragments are copied over with little modification from the Linux kernel source code. Signed-off-by: Madalin Bucur <madalin.bucur@oss.nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
| * | powerpc: dts: add QorIQ DPAA 1 FMan for P2041Madalin Bucur2020-06-041-0/+42
| | | | | | | | | | | | | | | | | | | | | | | | The device tree fragments are copied over with little modification from the Linux kernel source code. Signed-off-by: Madalin Bucur <madalin.bucur@oss.nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
| * | powerpc: dts: add QorIQ DPAA 1 FMan interfaces to P4080DSMadalin Bucur2020-06-041-1/+190
| | | | | | | | | | | | | | | | | | | | | | | | Introduce the QorIQ DPAA 1 Frame Manager interfaces nodes in the P4080DS device tree. Signed-off-by: Madalin Bucur <madalin.bucur@oss.nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
| * | powerpc: dts: add QorIQ DPAA 1 FMan for P4080Madalin Bucur2020-06-041-0/+61
| | | | | | | | | | | | | | | | | | | | | | | | The device tree fragments are copied over with little modification from the Linux kernel source code. Signed-off-by: Madalin Bucur <madalin.bucur@oss.nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
| * | powerpc: dts: add QorIQ DPAA 1 FMan v3 device tree nodesMadalin Bucur2020-06-0421-0/+1026
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add the QorIQ DPAA Frame Manager version 3 device tree nodes description. The device tree fragments are copied over with little modification from the Linux kernel source code. Signed-off-by: Madalin Bucur <madalin.bucur@oss.nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
| * | powerpc: dts: add QorIQ DPAA 1 FMan device tree nodesMadalin Bucur2020-06-0414-0/+662
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add the QorIQ DPAA Frame Manager device tree nodes description. The device tree fragments are copied over with little modification from the Linux kernel source code. Signed-off-by: Madalin Bucur <madalin.bucur@oss.nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
| * | powerpc: dts: add QorIQ GPIOsMadalin Bucur2020-06-044-0/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add the QorIQ GPIO device tree nodes description. The device tree fragments are copied over with little modification from the Linux kernel source code. Signed-off-by: Madalin Bucur <madalin.bucur@oss.nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
| * | powerpc: dts: QorIQ: Add node(s) for the platform PLLMadalin Bucur2020-06-042-0/+28
| | | | | | | | | | | | | | | | | | | | | Add the QorIQ clock control device nodes include files. Signed-off-by: Madalin Bucur <madalin.bucur@oss.nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
| * | net: tsec: fsl_mdio: add DM MDIO supportMadalin Bucur2020-06-041-6/+134
| | | | | | | | | | | | | | | | | | | | | Allow the MDIO devices to be probed based on the device tree. Signed-off-by: Madalin Bucur <madalin.bucur@oss.nxp.com> Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
| * | board/freescale: add the DM_ETH changes for the PPC DPAA platformsMadalin Bucur2020-06-0314-1/+30
| | | | | | | | | | | | | | | | | | | | | | | | Add the required changes for compiling with DM_ETH on the PPC DPAA platforms. Signed-off-by: Madalin Bucur <madalin.bucur@oss.nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
| * | drivers: net: qe: deselect QE when DM_ETH is enabledMadalin Bucur2020-06-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A compilation error appears when QE is compiled with DM_ETH enabled: drivers/qe/uec.c: In function 'init_phy': drivers/qe/uec.c:425:28: error: dereferencing pointer to incomplete type 'struct eth_device' uec = (uec_private_t *)dev->priv; ^~ drivers/qe/uec.c: In function 'uec_initialize': drivers/qe/uec.c:1357:43: error: invalid application of 'sizeof' to incomplete type 'struct eth_device' dev = (struct eth_device *)malloc(sizeof(struct eth_device)); ^~~~~~ The patch disables CONFIG_QE when CONFIG_DM_ETH is set. Signed-off-by: Madalin Bucur <madalin.bucur@oss.nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
| * | powerpc: mpc85xx: fix unused variable warningMadalin Bucur2020-06-031-2/+2
| | | | | | | | | | | | | | | | | | | | | Fix unused variable warning when CONFIG_QE is not set. Signed-off-by: Madalin Bucur <madalin.bucur@oss.nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
| * | powerpc/mpc85xx: Fix compiling error with DM_GPIOMadalin Bucur2020-06-031-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | P4080DS compilation fails with DM_GPIO enabled: drivers/gpio/gpio-uclass.c:355:5: error: redefinition of 'gpio_request' int gpio_request(unsigned gpio, const char *label) ^~~~~~~~~~~~ In file included from ./arch/powerpc/include/asm/arch/gpio.h:17:0, from ./arch/powerpc/include/asm/gpio.h:1, from drivers/gpio/gpio-uclass.c:16: ./arch/powerpc/include/asm/mpc85xx_gpio.h:68:19: note: previous definition of 'gpio_request' was here static inline int gpio_request(unsigned gpio, const char *label) ^~~~~~~~~~~~ Signed-off-by: Madalin Bucur <madalin.bucur@oss.nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
| * | drivers: net: e1000: with DM_ETH needs DM_PCI tooMadalin Bucur2020-06-031-0/+1
| | | | | | | | | | | | | | | | | | | | | Compilation error occur when DM_ETH is enabled without DM_PCI. Signed-off-by: Madalin Bucur <madalin.bucur@oss.nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
* | | Merge tag 'u-boot-rockchip-20200607' of ↵Tom Rini2020-06-0830-258/+830
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://gitlab.denx.de/u-boot/custodians/u-boot-rockchip - revive rk3399 puma board to adapt mainline dts; - Fix rk3399-evb stdout path; - Enable PCIe for rk3399: Rockpro64, firefly, pinebookpro; - Add rk3328 Rock-pi-e board; - Enable SPI boot for rockpro64 and roc-pc-rk3399;
| * | | rockchip: enable PCIe and NVMe on Pinebook ProPatrick Wildt2020-06-071-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enable CONFIG_PCI and CONFIG_NVME and related configs for the Pinebook Pro. Signed-off-by: Patrick Wildt <patrick@blueri.se> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
| * | | rockchip: puma: enable new usb config optionsHeiko Stuebner2020-06-071-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With recently added changes we get support for usb3 including handling of the phys (type-c and inno-usb2), so enable the necessary config options on puma. Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
| * | | rockchip: puma: drop special handling of usb host regulatorHeiko Stuebner2020-06-071-67/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With the current usb stack in u-boot, all host ports on puma work flawlessly without any additional special handling, so drop that usb hub hacking from the puma board. Tested with mass-storage and usb-ethernet on both usb3 and usb2 ports. Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com> Reviewed-by: Kever Yang <kever.yang@rock-chips.com> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
| * | | rockchip: puma: remove separate fit generatorHeiko Stuebner2020-06-072-95/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The introduction of the puma-specific generator was mainly a way to split the pmu firmware from the ATF binary and not having to distribute that 4GB (sparse) image that was created before moving to the bl31.elf as base. Looking at the publically available repository for that separate pmu firmware https://git.theobroma-systems.com/rk3399-cortex-m0.git/ there is also no activity for 3 years and apart from some build customizations no other changes were done. And even then, if changes need to be made, this can very well also happen in the atf context itself, so there is no real need to diverge from the established build procedure and we can just go back to using the main make_fit_atf.py script. Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>