1.. SPDX-License-Identifier: GPL-2.0+
2
3Migration Schedule
4==================
5
6U-Boot has been migrating to a new driver model since its introduction in
72014. This file describes the schedule for deprecation of pre-driver-model
8features.
9
10CONFIG_DM
11---------
12
13* Status: In progress
14* Deadline: 2020.01
15
16Starting with the 2020.01 release CONFIG_DM will be enabled for all boards.
17This does not concern CONFIG_DM_SPL and CONFIG_DM_TPL. The conversion date for
18these configuration items still needs to be defined.
19
20CONFIG_DM_MMC
21-------------
22
23* Status: In progress
24* Deadline: 2019.04
25
26The subsystem itself has been converted and maintainers should submit patches
27switching over to using CONFIG_DM_MMC and other base driver model options in
28time for inclusion in the 2019.04 rerelease.
29
30CONFIG_DM_USB
31-------------
32
33* Status: In progress
34* Deadline: 2019.07
35
36The subsystem itself has been converted along with many of the host controller
37and maintainers should submit patches switching over to using CONFIG_DM_USB and
38other base driver model options in time for inclusion in the 2019.07 rerelease.
39
40CONFIG_SATA
41-----------
42
43* Status: In progress
44* Deadline: 2019.07
45
46The subsystem itself has been converted along with many of the host controller
47and maintainers should submit patches switching over to using CONFIG_AHCI and
48other base driver model options in time for inclusion in the 2019.07 rerelease.
49
50CONFIG_BLK
51----------
52
53* Status: In progress
54* Deadline: 2019.07
55
56In concert with maintainers migrating their block device usage to the
57appropriate DM driver, CONFIG_BLK needs to be set as well.  The final deadline
58here coincides with the final deadline for migration of the various block
59subsystems.  At this point we will be able to audit and correct the logic in
60Kconfig around using CONFIG_PARTITIONS and CONFIG_SPL_LEGACY_BLOCK and make
61use of CONFIG_BLK / CONFIG_SPL_BLK as needed.
62
63CONFIG_DM_SPI / CONFIG_DM_SPI_FLASH
64-----------------------------------
65
66Board Maintainers should submit the patches for enabling DM_SPI and DM_SPI_FLASH
67to move the migration with in the deadline.
68
69Partially converted::
70
71	drivers/spi/fsl_espi.c
72	drivers/spi/mxc_spi.c
73	drivers/spi/sh_qspi.c
74
75* Status: In progress
76* Deadline: 2019.07
77
78CONFIG_DM_VIDEO
79---------------
80Deadline: 2019.07
81
82The video subsystem has supported driver model since early 2016. Maintainers
83should submit patches switching over to using CONFIG_VIDEO and other base
84driver model options in time for inclusion in the 2019.07 release.
85
86CONFIG_DM_ETH
87-------------
88Deadline: 2020.07
89
90The network subsystem has supported the driver model since early 2015.
91Maintainers should submit patches switching over to using CONFIG_DM_ETH and
92other base driver model options in time for inclusion in the 2020.07 release.
93
94CONFIG_DM_I2C
95-------------
96Deadline: 2021.10
97
98The I2C subsystem has supported the driver model since early 2015.
99Maintainers should submit patches switching over to using CONFIG_DM_I2C and
100other base driver model options in time for inclusion in the 2021.10 release.
101
102CFG_SYS_TIMER_RATE and CFG_SYS_TIMER_COUNTER
103--------------------------------------------
104Deadline: 2023.01
105
106These are legacy options which have been replaced by driver model.
107Maintainers should submit patches switching over to using CONFIG_TIMER and
108other base driver model options in time for inclusion in the 2022.10 release.
109
110There is only one method to implement, unless you want to support bootstage,
111in which case you need an early timer also. For example drivers, see
112sandbox_timer.c and rockchip_timer.c
113
114CONFIG_DM_SERIAL
115----------------
116Deadline: 2023.04
117
118The serial subsystem has supported the driver model since late 2014.
119Maintainers should submit patches switching over to using CONFIG_DM_SERIAL and
120other base driver model options in time for inclusion in the 2022.10 release.
121