<div dir="ltr"><div dir="ltr"></div>Hi Jeremy<div><br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Somewhat offtopic, but are you sure you want to enable the SuperIO<br>
device?<br></blockquote><div>No :-D I'm aware of CVE-2019-6260. I just listed it as a potential source of SIRQs.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">>  The VUART is covered by this code and we don't have a PUART driver<br>
> yet.<br>
> <br>
> It might make sense to have this as a global setting which each driver<br>
> could read. But wouldn't this be an exercise for the future where we<br>
> actually have a second device? I don't think the Aspeed currently has<br>
> any other devices that could generate a SIRQ (except for the PUART for<br>
> which there's no driver).<br>
<br>
We have a bunch of SIRQ sources that we use (on OpenPOWER platforms) -<br>
the BT interface, the KCS interface, the UARTs, and the mbox hardware.<br>
It's not just the VUART/PUART :)<br></blockquote><div>Interesting. From what Aspeed explained, the SIRQ polarity for UARTs is inverted to that for other devices. I haven't looked into how other devices work, to be honest. Do we set the polarity there explicitly?</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">> Having said that, ideally I'd like the SIRQ polarity to be auto-<br>
> configured from the LPC/eSPI HW pin strap anyway. I have the code for<br>
> that almost done. Maybe we shouldn't even have the sysfs interface for<br>
> it and I should strip that out?<br>
<br>
Yeah, I think I agree with that. The only downside is that the <br>
individual drivers will now need to poke at the SCU to query the<br>
LPC/eSPI configuration. If you can find a nice way to do that, then that<br>
sounds like the best approach. Can you query it through the parent bus<br>
perhaps?<br></blockquote><div>I'm experimenting with this:</div><div>syscon_regmap_lookup_by_compatible("aspeed,ast2500-scu");<br></div><div><br></div><div>I'll need to think on how to make this work on both ast2400 and ast2500, though. I actually need to have a look at the ast2400 data sheet wrt. VUART registers, too!</div><div><br></div><div>The structure is this:</div><div>apb {</div><div>  syscon {</div><div>    ...</div><div>  }</div><div>  vuart {</div><div>    ...</div><div>  }</div><div>}</div><div><br></div><div>So the vuart is a sibling of syscon, which holds the registers. I guess I'll have to go with "by_compatible"?</div><div><br></div><div>Oskar.</div></div></div></div>