xref: /rk3399_ARM-atf/docs/resources/diagrams/plantuml/io_dev_registration.puml (revision 5d71d3f624873884a43179aaaafb06cb5a77d507)
1dbeace10SLouis Mayencourt@startuml
2dbeace10SLouis Mayencourt
3*ec477e7dSSandrine Bailleuxparticipant arm_io_storage
4*ec477e7dSSandrine Bailleuxparticipant io_storage
5*ec477e7dSSandrine Bailleuxparticipant io_fip
6*ec477e7dSSandrine Bailleuxparticipant io_memmap
7dbeace10SLouis Mayencourt
8dbeace10SLouis Mayencourt -> arm_io_storage : arm_io_setup()
9dbeace10SLouis Mayencourt
10dbeace10SLouis Mayencourtgroup io dev registration
11dbeace10SLouis Mayencourt
12dbeace10SLouis Mayencourtarm_io_storage -> io_fip : register_io_dev_fip(&fip_dev_con)
13dbeace10SLouis Mayencourtio_fip -> io_storage : io_register_device(&dev_info_pool[])
14dbeace10SLouis Mayencourtnote over io_storage
15dbeace10SLouis Mayencourt	devices[dev_count] = (fip_)dev_info_pool
16dbeace10SLouis Mayencourt	dev_count++
17dbeace10SLouis Mayencourtend note
18dbeace10SLouis Mayencourt
19dbeace10SLouis Mayencourtarm_io_storage -> io_memmap : register_io_dev_memmap(&memmap_dev_con)
20dbeace10SLouis Mayencourtio_memmap -> io_storage : io_register_device(&memmap_dev_info)
21dbeace10SLouis Mayencourtnote over io_storage
22dbeace10SLouis Mayencourt	devices[dev_count] = memmap_dev_info
23dbeace10SLouis Mayencourt	dev_count++
24dbeace10SLouis Mayencourtend note
25dbeace10SLouis Mayencourt
26dbeace10SLouis Mayencourtarm_io_storage -> io_storage : io_dev_open(fip_dev_con, NULL, fip_dev_handle)
27dbeace10SLouis Mayencourt io_storage -> io_storage : dev_open(dev_con, dev_spec, handle)
28dbeace10SLouis Mayencourtactivate io_storage
29dbeace10SLouis Mayencourtopt dev_open() on fip device
30dbeace10SLouis Mayencourt	io_storage -> io_fip : fip_dev_open(dev_spec, dev_info)
31dbeace10SLouis Mayencourt	note over io_fip
32dbeace10SLouis Mayencourt		dev_info = one of the
33dbeace10SLouis Mayencourt		"fip_dev_info" from
34dbeace10SLouis Mayencourt		dev_info_pool[]
35dbeace10SLouis Mayencourt	end note
36dbeace10SLouis Mayencourtend opt
37dbeace10SLouis Mayencourtdeactivate io_storage
38dbeace10SLouis Mayencourt
39dbeace10SLouis Mayencourt
40dbeace10SLouis Mayencourtarm_io_storage -> io_storage : io_dev_open(memmap_dev_con, NULL, memmap_dev_handle)
41dbeace10SLouis Mayencourtio_storage -> io_storage : dev_open(dev_con, dev_spec, handle)
42dbeace10SLouis Mayencourtactivate io_storage
43dbeace10SLouis Mayencourtopt dev_open() on memmap device
44dbeace10SLouis Mayencourt	io_storage -> io_memmap : memmap_dev_open(dev_spec, dev_info)
45dbeace10SLouis Mayencourt	note over io_memmap
46dbeace10SLouis Mayencourt		dev_info = memmap_dev_info
47dbeace10SLouis Mayencourt	end note
48dbeace10SLouis Mayencourtend opt
49dbeace10SLouis Mayencourtdeactivate io_storage
50dbeace10SLouis Mayencourt
51dbeace10SLouis Mayencourtend group
52dbeace10SLouis Mayencourt@enduml
53