1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
|
Core-chat-meeting-2018-10-18
09:53 < geertu> Welcome to today's Core Group Chat!
09:53 < Marex> morimoto: sure :)
09:53 < geertu> Agenda:
09:53 < geertu> 1. Status Updates
09:53 < geertu> 2. Discussion Topics
09:53 < geertu> Topic 1. Status updates
09:53 < geertu> A) What have we done since last time:
09:53 < geertu> Jacopo reviewed RZ/A2 pinctrl, and joined the discussion on
09:53 < geertu> non-exclusive GPIOs.
09:53 < geertu> Kaneko-san posted D3 Thermal support.
09:53 < geertu> Marek handled Renesas feedback on U-Boot (incl. CPLD revival),
09:53 < geertu> worked on board compat string and FCNL node passing from ATF to
09:53 < geertu> U-Boot, and implemented PCIe SError recovery in ATF.
09:53 < geertu> Morimoto-san prepared images for the periperi and upport processes.
09:53 < geertu> Shimoda-san says Renesas Vietnam started testing LTSI v4.14, got an
09:53 < geertu> updated plan for the IPMMU driver from Magnus, and submitted usbhs
09:53 < geertu> patches (D3/E3 enablement + updates for other SoCs).
09:53 < geertu> Simon tested D3 Thermal support, posted periupport updates focussing on
09:53 < geertu> E3/D3, and looked for upstream/upporting tasks for Kaneko-san.
09:53 < geertu> Geert sent a pinctrl pull-request, an RFC to move SoC-specific ARCH_*
09:53 < geertu> symbols. He received an RSKRZA1 board, and has started digesting SYSC
09:53 < geertu> errata.
09:54 < morimoto> Marek: from BSP 3.8.0 (= next BSP), it will use U-Boot 2018.09
09:54 < geertu> B) What we plan to do till next time:
09:54 < geertu> Kaneko-san will follow up on D3 Thermal support, and plans to enable
09:54 < geertu> E3 PMIC support.
09:54 < geertu> Marek will enjoy ELCE, PeriPeriCon, and the SDHI hackfest, and will
09:54 < geertu> continue discussing FCNL.
09:54 < geertu> Morimoto-san will finalize the process images, explain and discuss
09:54 < geertu> processes in Edinburgh, and confirm BSP review results to the BSP team.
09:54 < geertu> Shimoda-san will review the new IPMMU driver's plan, and says the RCV
09:54 < geertu> test team will continue testing LTSI v4.14 until Oct 24th.
09:54 < geertu> Simon will follow up on D3 thermal support, and update periupport
09:54 < geertu> updates using "make patch".
09:54 < geertu> Geert will attend ELC-E and the Automated Testing Summit, enjoy autumn
09:54 < geertu> holidays, and plans to continue digesting SYSC and PFC errata.
09:55 < geertu> C) Problems we have currently:
09:55 < geertu> Marek wonders if 0x47fe0000 is a reasonable address for parameter
09:55 < geertu> passing from ATF to U-Boot, and where to submit patches for Renesas'
09:55 < geertu> ATF?
09:55 < geertu> Morimoto-san thinks Laurent has a plan to create a sample format for BSP
09:55 < geertu> commits.
09:55 < geertu> Geert discovered the stock kernel doesn't work on RSKRZA1 (reboots
09:55 < geertu> immediately).
09:56 < geertu> Anything I missed?
09:56 < Marex> morimoto: awesome :-)
09:56 < Marex> morimoto: do you know if renesas is satisfied with the current state of U-Boot ?
09:56 < pinchartl> Marex: should we discuss ATF+U-Boot+FCNL now ?
09:57 < Marex> pinchartl: it's MM topic
09:57 < geertu> Topic 2. Discussion Topics
09:57 < geertu> FCNL itself is MM
09:57 < geertu> ATF+U-Boot is core
09:57 < patersonc> morimoto: BSP v3.8.0 = internal Yocto v3.13.0 release right?
09:58 < pinchartl> Marex: it's in-between :-)
09:58 < geertu> A. PeriPeriEdi Agenda
09:59 < geertu> I'll follow wsa, for core:
09:59 < geertu> - Overview
09:59 < geertu> - High level "what happened since last f2f meeting"
09:59 < geertu> - Is the group happy
09:59 < morimoto> Marex: I think so :)
09:59 < morimoto> patersonc: sorry, I'm not sure BSP <-> Yocto relationship
09:59 < geertu> I was also thinking about a (short) virtualization status?
10:00 < Marex> morimoto: whew, OK, thank you
10:00 < patersonc> morimoto: No worries. Yocto v3.13.0 is the release due out e/Oct
10:00 < geertu> And of course Morimoto-san's graphics skills:
10:00 < geertu> - PeriPeri "process" explanation and discussion.
10:00 < geertu> - "upport process"
10:00 -!- wsa_ is now known as wsa
10:01 < morimoto> :)
10:02 < wsa> geertu: no updates for virt from my side :(
10:03 < geertu> wsa: I meant for the PeriperiEdi agenda ;-)
10:03 < geertu> You have a few more days to change that ;-)
10:03 < Marex> morimoto: looks like I have a few bsp u-boot patches to review :)
10:03 < wsa> geertu: yeah :D
10:03 < patersonc> Marex: So u-boot 2018.09 supports all R-Car Gen2/3 boards?
10:04 < geertu> Any other topics for the PeriPeriEdi agenda?
10:04 < morimoto> I asked it to BSP team now. It seems they are happy, but want to have more feature. They said that shimoda-san is interface guy for it? I was asked to bring SD card for you in ELCE
10:05 < Marex> geertu: all Gen3 and about half of Gen2 (the ones which I have access to)
10:05 < Marex> patersonc: ^
10:05 < Marex> patersonc: I still need to sort out the rest of Gen2
10:06 < geertu> B. ATF+U-Boot+FCNL
10:06 < Marex> patersonc: it should be trivial, given that I have a Silk, Porter and Stout , so E2, M2W, H2
10:06 < Marex> patersonc: porting Koelsch, Lager, Alt should be boring
10:06 < Marex> patersonc: Blanche might be challenging due to it's PNOR boot
10:06 < patersonc> Marex: Great
10:07 < patersonc> Marex: Thank you for the update
10:07 < Marex> morimoto: which features do they want ?
10:08 < Marex> patersonc: I'll probably do it next time I'm in Japan and can grab a few boards from damm -san's farm
10:08 < morimoto> Marex: it seems shimoda-san / goda-san will (?) post mail to you
10:08 < Marex> morimoto: got it :)
10:08 < horms> pinchartl: I pushed an update to periupport
10:09 < morimoto> Marex: when is that ?
10:09 < Marex> morimoto: the only grueling item for me is HS200 , it takes a lot of boot time to calibrate :(
10:09 < geertu> Marex: Anything to discuss about ATF+U-Boot+FCNL?
10:09 < Marex> morimoto: I'd like it to be next year for the first Jamboree that's gonna happen
10:09 < Marex> geertu: well, ATF, is the 0x47fe0000 good address for the DT ?
10:09 < morimoto> Marex: OK, looking forward to see you then
10:10 < pinchartl> horms: thank you
10:10 < Marex> morimoto: :-)
10:10 < Marex> morimoto: I'll make sure to submit some talk
10:10 < geertu> Marex: Do all R-Car Gen3 SoCs/boards have memory there?
10:10 < Marex> yeah
10:10 < Marex> geertu: all we know about
10:11 < Marex> geertu: plus the FCNL tables are at 0x47fd7000 , so I didn't pick the address at random
10:12 < wsa> Marex: i can give you my lager + alt in edi for a few days before the SDHI hackfest ;)
10:12 < geertu> That's part of the "first 128MB is reserved for secure area", right?
10:12 < Marex> wsa: I have a talk at E-ALE-E and two at YPDD, so I dont think I'll have time
10:12 < pinchartl> Marex: how about replacing the FCNL tables completely
10:13 < Marex> pinchartl: ABI ?
10:13 < wsa> Marex: ok
10:13 < Marex> wsa: but maybe in Dunbar ?
10:13 < geertu> And no suitable space in ICRAM?
10:14 < pinchartl> Marex: there's no upstream user of that ABI. BSPs can always revert the removal
10:14 < wsa> Marex: you mean if we run out of SDHI topics ;)))
10:14 < Marex> wsa: heh
10:14 < Marex> pinchartl: we can have both, it costs us nothing
10:15 < Marex> maybe a few instructions, but it's probably easier for renesas
10:15 < wsa> Marex: j/k, sure the boards will be in Dunbar, too
10:15 < pinchartl> Marex: code bloat ?
10:15 < Marex> not really
10:15 < Marex> wsa: :)
10:16 < Marex> wsa: should be quick too, so maybe a lunch topic
10:16 < Marex> pinchartl: the tables are generated while the FDT is generated, so that's really not adding much
10:17 < pinchartl> Marex: I won't work on it myself, but given that it's a BSP ABI, we don't neeed to care about it
10:17 < Marex> pinchartl: the real question is, what is the purpose of those tables and who is the user of those tables ?
10:17 < pinchartl> that's my opinion at least
10:17 < geertu> Agreed
10:17 < pinchartl> there's no upstream user
10:17 < pinchartl> FCNL isn't supported upstream
10:17 < geertu> yet?
10:18 < pinchartl> even enabling FCNL in ATF right now with upstream U-Boot + Linux will lead to a certain death
10:19 < Marex> so there's more than just parsing the tables in U-Boot
10:19 < Marex> U-Boot itself must not relocate itself into those areas
10:19 < Marex> so that's another item to add to the list
10:20 < pinchartl> data will be difficult to parse if it's overwritten, indeed :-)
10:20 < Marex> can someone put FCNL at 0x47000000 + 0x01000000 ?
10:20 < Marex> if so, then the FCNL tables would be in FCNL and it's all over
10:21 < damm> pinchartl: any reason why we cannot use dynamic FCNL handling?
10:21 < geertu> ICRAM would be safer for that...
10:21 < pinchartl> damm: what do you mean by dynamic ?
10:22 < damm> i meant that we can program the memory ranges for decoding on the fly
10:22 < damm> instead of using fixed reserved areas
10:22 < pinchartl> the memory ranges are programmed in the DRAM controller registers, and that's only available in secure mode :-(
10:22 < geertu> If ATF programs the security engine to allow that
10:23 < Marex> geertu: could be a security issue
10:23 < damm> pinchartl: isn't that a LifeC configuration issue?
10:23 < Marex> but allocating the FCNL dynamically would be indeed nice
10:24 < damm> i always thought we could use physical mirror addresses for the compression purpose
10:24 < damm> and statically configure the mirror addresses for de-compression purpose
10:24 < pinchartl> sa
10:24 < damm> and then let the linux-side just fiddle some physical bit to enable decompression
10:24 < pinchartl> damm: can LifeC allow access to only part of the DRAM controller registers in non-secure mode ?
10:25 < damm> pinchartl: not sure
10:25 < pinchartl> compression is handled by the FCP
10:25 < pinchartl> only decompression is done on the fly by the DRAM controller
10:25 < pinchartl> (amazing design, if you ask me...)
10:25 < damm> so i don't think the memory controller needs to be dynamically configured
10:25 < damm> just the use of physical addresses in linux needs to be dynamic
10:26 < geertu> pinchartl: decompression is simpler, and needs less resources, than compression
10:26 < pinchartl> geertu: I would have put everything in the FCP
10:26 < pinchartl> damm: I'm not sure to follow you
10:26 < damm> ok
10:26 < geertu> So if the DRAM is configured to do decompression on the whole shadow area, it'll work?
10:27 < damm> so right now we reserve a physical memory range for decompression
10:27 < damm> geertu: i think it should be considered at least
10:27 < geertu> pinchartl: Does the FCP do mem-to-mem decompression? That needs and extra memory buffer
10:27 < geertu> s/and/an/
10:27 < pinchartl> geertu: no it doesn't, the FCP operates on the fly only, as a proxy for the VSP and other MM IP cores
10:28 < damm> i say we don't reserve a range and instead rely on the shadow area (that's the same as mirror i guess)
10:28 < pinchartl> right
10:28 < pinchartl> I got it
10:28 < pinchartl> it's not that simple
10:28 < pinchartl> as data can be stored in memory in different formats
10:29 < pinchartl> each FCNL area is configured for a specific format
10:29 < damm> i think with such solution we could enable compression per-buffer
10:29 < damm> so can we use multiple shadow areas?
10:29 < pinchartl> well, I suppose we could divide the shadow area, yes
10:29 < pinchartl> the division of the shadow area should still be passed from ATF all the way to Linux though
10:30 < damm> then just look at the physical address to determine format
10:30 < damm> yes
10:30 < pinchartl> so we would use the same mechanism
10:30 < damm> i'm not sure it would work but i think it is worth checking
10:30 < damm> right
10:30 < pinchartl> and use regular DRAM addresses or shadow addresses depending on whether we need to decompress or not
10:31 < damm> exactly
10:31 < pinchartl> this assumes that the shadow area won't be used for a different purpose, do we have any information about that ?
10:31 < damm> nope
10:31 < pinchartl> ok
10:31 < damm> sorry =)
10:31 < pinchartl> in any case, I expect that the mechanism for passing memory information from ATF to Linux to be the same
10:32 < pinchartl> it's just the Linux side that would be more dynamic
10:32 < pinchartl> it will be interesting to handle in combination with the IOMMU...
10:32 < damm> yes!
10:32 < pinchartl> interesting as in "get me out of here" :-)
10:33 < geertu> pinchartl: Depends on which memory region is set up for FCNL
10:33 < geertu> Again, can we use ICRAM to pass the info?
10:33 < pinchartl> geertu: to pass the FDT from ATF to U-Boot ?
10:33 < geertu> pinchartl: yes
10:33 < pinchartl> I have no issue with that
10:33 < Marex> geertu: that'd be perfect, but do we know what exactly renesas hides in ICRAM and where ?
10:33 < pinchartl> it's out of my scope :-)
10:34 < geertu> Marex: The first 16 KiB turns out to be inaccessible
10:34 < Marex> geertu: I need about 4 kiB of it
10:34 < geertu> It's used for secondary CPU bringup
10:34 < geertu> On Gen2 , that's Linux domain ;-)
10:34 < Marex> geertu: there's also the certheader
10:34 < Marex> geertu: we need to avoid overwriting that too
10:34 < Marex> geertu: and if we decide on using ICRAM, which address is "good" for renesas ?
10:34 < geertu> Marex: Can we (are we allowed) to overwrite that?
10:35 < Marex> geertu: I'd rather not, and it should be possible to avoid it
10:35 < geertu> Marex: Ehat happens if we overwrite that?
10:35 < geertu> s/Ehat/What/
10:36 < Marex> geertu: I didn't try
10:36 < geertu> Marex: If it's critical, ATF should protect it
10:36 < Marex> geertu: heh
10:36 < geertu> "4 kiB should be enough for everyone"?
10:37 < Marex> morimoto: what does renesas think? Is there a 4 kiB space in ICRAM which we can use for the DT ?
10:37 < Marex> morimoto: and if so, which address would be preferred ?
10:37 < Marex> geertu: keep in mind there are systems with 128 kiB ICRAM (D3 and E3 I think), so they are a bit more size constrained
10:38 < Marex> geertu: and ... oh, BL2 is in ICRAM :/
10:39 < Marex> geertu: but I wonder if BL2 can have a buffer at fixed location for this FDT in it
10:39 < Marex> geertu: then it'd be in ICRAM and in control of the compiler/linker
10:39 < morimoto> Marex: I don't know, I need to ask BSP team. please wait.
10:40 < Marex> morimoto: speaking of BSP team, I wonder if Yokoyama-san would be willing to hang out on this fine IRC ? :)
10:40 < geertu> Does it have to be a fixed address? Header with magic value?
10:40 < Marex> morimoto: would be nice to cooperate with him on U-Boot more
10:41 < Marex> geertu: it has to be fixed, since we thus far have no way to pass the FDT address from ATF to U-Boot
10:41 < Marex> geertu: that's only gonna happen in ATF 2.0 I think
10:42 < geertu> Marex: As I said, search for a magic header value in ICRAM?
10:42 < Marex> geertu: if I can put the buffer at a fixed address with simple linker magic, I'd go for that
10:43 < geertu> Marex: Sure, but if that's not possible on all SoCs...
10:43 < Marex> geertu: why wouldn't it be ?
10:43 < Marex> geertu: size constraints ?
10:43 < pinchartl> if the magic header can be searched on page boundaries it shouldn't be much of an overhead
10:44 < pinchartl> but if the address can also be fixed, it should be even less of an overhead :-)
10:44 < geertu> Marex: as you said, some SoCs have less ICRAM, and may use different parts for other purposes
10:46 < Marex> geertu: only D3 it seems
10:46 < geertu> Marex: Have you checked H3-N?
10:46 < Marex> I dont have minimon sources for H3N
10:46 < Marex> geertu: let's see the docs
10:46 < geertu> And the other unknown SoC being produced the day after tomorrow?
10:47 < Marex> geertu: silicon/next ?
10:47 < Marex> geertu: anyway, if we can put it into ICRAM, good
10:47 < damm> it can't be too difficult to read SoC version register (PRR?) and from there go for per-SoC base address if needed?
10:47 < Marex> geertu: then the question is, would renesas be willing to take the ATF patches ?
10:48 < Marex> damm: but unified == better
10:48 < damm> sure
10:48 < Marex> damm: I had this idea ...
10:48 < damm> we can be unified with what we have today, and special case upcoming stuff
10:48 < morimoto> Marex: I asked to BSP team, but it is implemented/using by 3rd party. So they don't know detail. If you can send me question mail, I can forward it to BSP/3rd party.
10:48 < Marex> damm: IFF ATF can pass board compatible string, U-Boot can select the right DT and then we can have single U-Boot for all Gen3 boards
10:48 < Marex> *gasp*
10:49 < Marex> morimoto: ATF ?
10:49 < damm> not bad
10:49 < Marex> geertu: the ICRAM is not documented in the datasheet, is it ?
10:50 < geertu> Marex: 21A System RAM?
10:51 < Marex> geertu: so D3/E3 could be an issue
10:51 < Marex> since I have ebisu, I can try
10:51 < morimoto> Marex: It was for 4kiB space in ICRAM
10:52 < morimoto> And it seems Yokoyama-san already go back to home today
10:52 < Marex> morimoto: sorry for keeping you here for so long
10:52 < morimoto> np
10:54 < geertu> Time to wrap up, and pass the torch^H^H^H^H^Hmic to pinchartl?
10:54 < Marex> geertu: well, let's try bundling the FDT into ICRAM then
10:54 < Marex> geertu: or, BL2
10:55 < pinchartl> geertu: whenever you want
10:55 < pinchartl> we're only one hour late :-)
10:56 < geertu> And Niklas is still busy ;-)
10:56 < geertu> Let's fin(n)ish this ;-)
10:56 < geertu> Thanks for joining, and have a nice continued day!
|