Commit Graph

853942 Commits

Author SHA1 Message Date
Cai YiWei
51e6f03422 ARM: dts: rv1126: CLK_ISPP to sign off 400m
Change-Id: I140b4d827f74cd665149762f0501844f4c4b6167
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2020-05-25 18:20:26 +08:00
Tao Huang
98672933b6 init: Introduce call initcall async
Support call same level initcall async in kthread.
Introduce kernel parameter "initcall_nr_threads" control how many threads.
initcall_nr_threads default is 0, which disable intcall async.
initcall_nr_threads=-1, auto selected the number of threads.

Save boot time about 29ms on rk3126-bnd-d708 board.

Change-Id: I04663d22500bc1d65ca5841fb08e4b57083d6b5e
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2020-05-25 18:20:26 +08:00
Hu Kejun
e71213a2ef media: rockchip: isp: fix only part of picture is handle by tnr
1. fix gain_wr_length is wrong;
2. disable isp gain output when pp is not enable;

Signed-off-by: Hu Kejun <william.hu@rock-chips.com>
Change-Id: Ib47c858e37db99a3d339fe6757a4a27517f49c17
2020-05-25 18:20:26 +08:00
Tao Huang
216b7956c8 ARM: dts: rv1126: Add PD_CRYPTO for rng
Change-Id: I3238970584f7a2454a1735c52c8870aba6d1574b
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2020-05-25 18:20:26 +08:00
Tao Huang
80afa9c25e ARM: rockchip: Locate kernel at 0x00608000 if CPU_RV1126
6M reserved when CONFIG_ROCKCHIP_THUNDER_BOOT=y.

Change-Id: Idd4bb302667e851f544b087af1ed7391b58d2075
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2020-05-25 18:20:26 +08:00
Finley Xiao
2891b91c5b clk: rockchip: rv1126: Modify divs for pll
There are some constrains for pll.
Input frequency range(Int): 5MHz to 1200MHz.
Input frequency range(Frac): 10MHz to 1200MHz.
Output frequency range: 16MHz to 6400MHz.
VCO frequency range: 1600MHz to 6400MHz.
Feedback divide(Int): 16 t0 640.
Feedback divide(Frac): 20 to 320.
Postdiv1 >= Postdiv2.

Change-Id: I03546fa5061856322fc57b335c6b0850d0113e2f
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2020-05-25 18:20:26 +08:00
Simon Xue
0b8272efce soc: rockchip: hw-decompress: Add support rockchip hardware decompress
Change-Id: Ib882919642a6c72b0292292bc0fd35d7a3d78dee
Signed-off-by: Simon Xue <xxm@rock-chips.com>
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2020-05-25 18:20:26 +08:00
Simon Xue
15b2671e28 init: Add support directly parse cpio data decompressed by hardware decompressor
The working flow of new feature is:
->bootloader decompress ramdisk.gz to cpio data first and start kernel.
  ->decompressor driver notify initramfs that cpio data ready.
    ->initramfs continue to flush cpio data to rootfs.

Change-Id: I9cd5708fc93270ce77376c26d9da5a5c219996c1
Signed-off-by: Simon Xue <xxm@rock-chips.com>
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2020-05-25 18:20:26 +08:00
Simon Xue
8d6758527e mm/page_alloc.c: Zero all page struct in advance in memmap_init_zone
In memmap_init_zone, it check all pages valid or deffered by single page,
then zero and init the corresponding page struct. It is safe to zero all
page struct in advance at once no matter what the state of every page is.
This can save time when booting kernel.

Change-Id: Ieb5864231fbc751e9438be488a77ce442b91ce7b
Signed-off-by: Simon Xue <xxm@rock-chips.com>
2020-05-25 18:20:26 +08:00
Finley Xiao
11610913b8 clk: rockchip: rv1126: Change RV1126_FRAC_MAX_PRATE from 600MHz to 1200MHz
Change-Id: I40d832f16387fc24a47450c02e7435a84ebc2d20
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2020-05-25 18:20:26 +08:00
Cai YiWei
0613719771 media: rockchip: ispp: fbc change to one mplanes for mpp
one mplanes for fbc format, user need to calculate
payload offset:
ALIGN(ALIGN(width,16) * ALIGN(height,16) / 16, 4096)

Change-Id: I2503b0a116e62cd3c4f320fa3f9d6405e7b27e5c
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2020-05-25 18:20:25 +08:00
Sugar Zhang
5404cfd823 clk: rockchip: rv1126: Add CLK_SET_RATE_PARENT for i2s1 frac div
Change-Id: I2d0cb4c61458e4ea787e1c3b40d0489768949b91
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
2020-05-25 18:20:25 +08:00
Cai YiWei
11068fbb8c media: rockchip: ispp: add crop function
set selection to ispp will request mpfbc crop output

Change-Id: I3d8930a95e117fb44a6491357d328ccf87684993
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2020-05-25 18:20:25 +08:00
Cai YiWei
2693b96dfe media: rockchip: isp: mpfbc add crop function
Change-Id: I566ff14a8c5d73d6d021df7007832875d19a796f
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2020-05-25 18:20:25 +08:00
Zefa Chen
4d235653c1 ARM: dts: rockchip: add imx347 sensor for rv1126-sphericalipc-ddr3-v10
Change-Id: I65a7541d92676ee04a851ef7f7caadaa8e63f47d
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
2020-05-25 18:20:25 +08:00
Zefa Chen
fa1c651046 media: i2c: add imx347 sensor driver
Change-Id: I2b2e7c2d903216c788bb0f197164bd11f12364fd
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
2020-05-25 18:20:25 +08:00
Zefa Chen
fbcc256736 media: i2c: add os04a10 sensor driver
Change-Id: I91537dfe4ada48d64918ebc605256152a08321a1
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
2020-05-25 18:20:25 +08:00
Jon Lin
867d6fa3ac ARM: dts: rv1126: adjust pcfg_pull_none_drv_level pinctrl config for SPI
According to the hardware test signal, the default drive
strength signal for SPI pins is too strong and changes to
level0 will not.

Change-Id: I5429b5a1915137eec256f483c4daec778b5fd7a9
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2020-05-25 18:20:25 +08:00
Tao Huang
0161fbeb96 drm/drv: Call drm_core_init() early when CONFIG_ROCKCHIP_THUNDER_BOOT=y
Before rockchip_drm_init().

Change-Id: I872aefaad12f10569cf957ce4e9cac873522a234
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2020-05-25 18:20:24 +08:00
Tao Huang
022561d7de video/rockchip: rga2: Call rga2_init() early when CONFIG_ROCKCHIP_THUNDER_BOOT=y
Change-Id: I4583fa08583f08387a483d8e5d8769c62ef2d51f
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2020-05-25 18:20:24 +08:00
Tao Huang
6dd5f4c92c PM / AVS: rockchip-io: Call rockchip_iodomain_driver_init() early when CONFIG_ROCKCHIP_THUNDER_BOOT=y
Change-Id: I68756377411299e3a4bacbae462ae18b8c31c072
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2020-05-25 18:20:24 +08:00
Tao Huang
4616fdae94 phy/rockchip: mipi-dphy: Call inno_mipi_dphy_driver_init() early when CONFIG_ROCKCHIP_THUNDER_BOOT=y
Before panel_simple_init().

Change-Id: I9cf38a2b6a2110b9172986d3700fa770f49e6170
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2020-05-25 18:20:24 +08:00
Tao Huang
4da8b1dc53 iio: adc: rockchip_saradc: Call rockchip_saradc_driver_init() early when CONFIG_ROCKCHIP_THUNDER_BOOT=y
Before adc_keys_driver_init().

Change-Id: I63ec4bd84ba1c9bd63359b2efc9559949d6311c7
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2020-05-25 18:20:24 +08:00
Tao Huang
e6e1ceb1ee pinctrl: rk805: Call rk805_pinctrl_driver_register() early when CONFIG_ROCKCHIP_THUNDER_BOOT=y
Change-Id: Ib5d2df439481050748538ba67b17a01d842a38a0
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2020-05-25 18:20:24 +08:00
Tao Huang
7dd1a790b9 regulator: rk808: Call rk808_regulator_driver_init() early when CONFIG_ROCKCHIP_THUNDER_BOOT=y
Change-Id: Iae4d3bf9bc24c1be3789b261fcec3bace5f122c3
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2020-05-25 18:20:24 +08:00
Tao Huang
02fbb7ee01 mfd: rk808: Call rk808_i2c_driver_init() early when CONFIG_ROCKCHIP_THUNDER_BOOT=y
Change-Id: I03947c16b7a31579a1bce54ea1ce114541432b2f
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2020-05-25 18:20:23 +08:00
Tao Huang
637cc33edf i2c: rk3x: Call rk3x_i2c_driver_init() early when CONFIG_ROCKCHIP_THUNDER_BOOT=y
Change-Id: Ia723fcbb4bc5cf65843d343645b6ace538a536db
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2020-05-25 18:20:23 +08:00
Tao Huang
be7429ae4e regulator: pwm: Call pwm_regulator_driver_init() early when CONFIG_ROCKCHIP_THUNDER_BOOT=y
Regulator init on subsys_initcall_sync level.

Change-Id: I477e8282dfb4582ac29f1b789a286c5d5ed7c60c
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2020-05-25 18:20:23 +08:00
Tao Huang
e7bc054331 pwm: rockchip: Call rockchip_pwm_driver_init() early when CONFIG_ROCKCHIP_THUNDER_BOOT=y
Before pwm_regulator_driver_init().

Change-Id: Ia786e8baf54baf13dc9e56abd2e38a27b9cfb266
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2020-05-25 18:20:23 +08:00
Tao Huang
98b3540319 pwm: Call pwm_debugfs_init()/pwm_sysfs_init() early when CONFIG_ROCKCHIP_THUNDER_BOOT=y
Change-Id: If865768904be463732a5d2cb9f6ee2e9b333c0b3
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2020-05-25 18:20:23 +08:00
Tao Huang
ffb770a75b clocksource: Call clocksource_done_booting() early when CONFIG_ROCKCHIP_THUNDER_BOOT=y
Make sure subsys initcall fast.

Change-Id: Ib197b79477afaa6af6b35aeefab53137ee9f6749
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2020-05-25 18:20:23 +08:00
Tao Huang
6d59dcdf9a drm/panel: simple: Call panel_simple_init() early when CONFIG_ROCKCHIP_THUNDER_BOOT=y
Before rockchip_drm_init().

Change-Id: If74f0888e0120189b58c8eb96485eb3c9ada7e4f
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2020-05-25 18:20:22 +08:00
Tao Huang
cb0381c832 phy: core: Call phy_core_init early when CONFIG_ROCKCHIP_THUNDER_BOOT=y
Change-Id: I0bbe2e1a02001e2ba97c9dc8be96d651984784ef
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2020-05-25 18:20:22 +08:00
Tao Huang
3800aa06f0 netfilter: x_tables: Call xt_init early when CONFIG_ROCKCHIP_THUNDER_BOOT=y
Change-Id: If9aaae57704e064b719731efa3112d4e652f0069
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2020-05-25 18:20:22 +08:00
Tao Huang
aab151d520 netfilter: nf_conntrack: Call nf_conntrack_standalone_init early when CONFIG_ROCKCHIP_THUNDER_BOOT=y
Change-Id: I2b5a9994f83581cdd819e19abe6cabc7b1d7b3af
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2020-05-25 18:20:22 +08:00
Tao Huang
c6e91d28d2 inet_diag: Call inet_diag_init early when CONFIG_ROCKCHIP_THUNDER_BOOT=y
Change-Id: Ie06bd549622c6f82b34486fc4faaba6c3e4dbba8
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2020-05-25 18:20:22 +08:00
Tao Huang
cb7fcb963e regulator: core: Call regulator_init later when CONFIG_ROCKCHIP_THUNDER_BOOT=y
Change-Id: I302079e585f374a7fddd207e6fd740b61b0df52c
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2020-05-25 18:20:22 +08:00
Tao Huang
b5b569cf42 pinctrl: core: Call pinctrl_init() later when CONFIG_ROCKCHIP_THUNDER_BOOT=y
Change-Id: I3b0741b8d32c6b05c7b15e20da6c410d26245745
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2020-05-25 18:20:22 +08:00
Tao Huang
e47092b0e1 PM / OPP: Call opp_debug_init() later when CONFIG_ROCKCHIP_THUNDER_BOOT=y
Change-Id: I4e6fa71e424bd1733d2c9aab4893f0f4af1e8099
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2020-05-25 18:20:22 +08:00
Tao Huang
394f572664 HID: core: Call hid_init() early when CONFIG_ROCKCHIP_THUNDER_BOOT=y
Change-Id: I070f92c405d898ae9f929bff968a6bd26811085a
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2020-05-25 18:20:21 +08:00
Tao Huang
c02d556ab2 hwrng: core - Call hwrng_modinit() early when CONFIG_ROCKCHIP_THUNDER_BOOT=y
hw_random driver depends on hwrng_modinit() to init first.
But driver initcall and hwrng_modinit() are both in the same
device_init level.

Fix this by move hwrng_modinit() to the rootfs_initcall level.

Change-Id: I501408d94b7a91fb439512ecc51f20453c5f2382
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2020-05-25 18:20:21 +08:00
Tao Huang
3c4024e350 char: misc: Call misc_init() early when CONFIG_ROCKCHIP_THUNDER_BOOT=y
rfkill_init() depends on misc_init() to init misc_class.
But rfkill_init() and misc_init() are both in the same
subsys_initcall level.

Fix this by move misc_init() to the arch_initcall_sync level.

Change-Id: I7266c2787c04a42886816b0ef11f3ed968ebf557
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2020-05-25 18:20:21 +08:00
Tao Huang
46c51fd1a7 kernel/ksysfs.c: Call ksysfs_init() early when CONFIG_ROCKCHIP_THUNDER_BOOT=y
configfs_init() depends on ksysfs_init() to init kernel_kobj.
But configfs_init() and ksysfs_init() are both in the same
core_initcall level.

Fix this by move ksysfs_init() to the pure_initcall level.

Change-Id: Iaa23a25a59b3a133f3cecb396fc69dd7e65d45ad
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2020-05-25 18:20:21 +08:00
Tao Huang
a40ce1b0e7 kernel/params.c: Call param_sysfs_init() early when CONFIG_ROCKCHIP_THUNDER_BOOT=y
usb_init() depends on param_sysfs_init() to init module_kset.
But usb_init() and param_sysfs_init() are both in the same
subsys_initcall level.

Fix this by move param_sysfs_init() to the arch_initcall_sync level.

Change-Id: Iccc44152c716959d98ed97ea379e0fc4378e185d
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2020-05-25 18:20:21 +08:00
Tao Huang
d0d7ea80c0 net: netlink: Call netlink_proto_init() later when CONFIG_ROCKCHIP_THUNDER_BOOT=y
netlink_proto_init() depends on sock_init() to init sock_mnt.
But netlink_proto_init() and sock_init() are both in the same
core_initcall level.

Fix this by move netlink_proto_init() to the core_initcall_sync level.

Change-Id: I76733399c269efb191c5208fe45ce3add8993ebf
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2020-05-25 18:20:21 +08:00
Tao Huang
dc4e4cc806 ARM: alignment: Call alignment_init() later when CONFIG_ROCKCHIP_THUNDER_BOOT=y
alignment_init() create proc file "cpu/alignment" at the fs_initcall
level. While "cpu" dir is created on proc_cpu_init() at the same
initcall level too.

Fix this by move alignment_init() to the fs_initcall_sync level.

Change-Id: I8a8831f103b6729f57a8a70ff1bf5672fdf98810
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2020-05-25 18:20:21 +08:00
Tao Huang
d9ac156757 soc: rockchip: Add ROCKCHIP_THUNDER_BOOT config
This option make the kernel boot faster.
Default n.

Change-Id: I918523621044e16953d5611ef9b0f2773746dae9
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2020-05-25 18:20:21 +08:00
Finley Xiao
c5f8db9979 clk: rockchip: rv1126: Add CLK_SET_RATE_PARENT for frac clocks
Change-Id: I42246998087b2277cfd2bc66bbd65b16f6418ddb
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2020-05-25 18:20:21 +08:00
Tao Huang
b6373f87a9 printk: Introduce CONFIG_PRINTK_TIME_FROM_ARM_ARCH_TIMER
Change-Id: I0ab5914349ad3e0028954c831c5e79d46fe2d420
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2020-05-25 18:20:21 +08:00
Simon Xue
0d0c324b7d ARM: dts: rv1126: Add hardware decompress
Change-Id: I130c1696b6f6190205c095923010336d6d168dca
Signed-off-by: Simon Xue <xxm@rock-chips.com>
2020-05-25 18:20:21 +08:00