Hi Chris, On Fri, Jan 13, 2017 at 6:16 PM, Chris Brandt <chris.bra...@renesas.com> wrote: >> > But...that would make me think on boot it would be set to '01' (setting >> > prohibited). >> >> Yeah, running with enabled SDHI core and disabled card detect sounds silly. > > I just did some testing and with only 1 clock enabled ('01'), the core works > but > card detect doesn't work. If you boot with the card in, you can read it fine, > but > if you pull it...no removal is detected. > As soon as I turn the other clock on ('00'), card detect magically starts > working. > > So from my experiments: > > 00: SD Host Interface 1 Module runs. > >> everything works > > 01: Setting prohibited. > >> core runs, but no card detect > > 10: Only card detect block in SD Host Interface 1 Module runs. > >> SDHI address space all 00s (core not running) > > 11: Clock supply to SD Host Interface 1 Module is halted > >> nothing works (of course) > > >> So typically you want to use 10 when idle, and 00 when active. > > I wonder if that would mean the system would get a CD interrupt. Of course > if no ISR registered (SDHI not enabled), the kernel would throw it away. > > >> No there isn't. That's another reason why a full-fledged clock driver with >> tables in C is a better idea than trying to describe all clocks in DT. >> The new CPG/MSSR based driver (renesas-cpg-mssr.c) supports "critical >> module clocks" through CLK_ENABLE_HAND_OFF. Unfortunately that flag hasn't >> made it upstream, so I really should convert the driver to use the new >> CLK_IS_CRITICAL instead... > > So basically at the moment you're tell me it's going to stay broke (unless > it's > enabled in u-boot). > > In sh_mobile_sdhi.c, can we change sh_mobile_sdhi_probe() so that if there > are 2 clocks specified (in DT or platform data), it automatically enables > the 2nd clock (forever) and just uses the 1st clock as the on/off clock?
Of course the driver can handle the second interrupt, if you update the binding, and add support code for that... Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds