[PATCH linux dev-4.10] drivers/fsi: Break and set pin states on GPIO master remove

Alistair Popple alistair at popple.id.au
Thu Jun 8 17:25:22 AEST 2017


On Wed, 7 Jun 2017 08:55:45 AM Christopher Bostic wrote:
> 
> On 6/6/17 10:22 PM, Jeremy Kerr wrote:
> > Hi Chris,
> >
> >> Update GPIO remove behavior to match dev-4.7.
> >>
> >> On gpio remove: Send a break
> >> 		clock, translator, mux = 0
> >> 		data, enable = 1
> > While this change itself seems okay (leaving GPIOs in a defined state),
> > I'm concerned about *why* we need this.
> >
> > If there is other code that need GPIOs in a certain state, then that
> > code should be doing the required init itself.
> Hi Jeremy,
> 
> The pins are set here mainly for the benefit of the Cronus debug 
> tools.   Its common practice in test and bringup labs to switch back and 
> forth between BMC and FSP-2 with Cronus to access the host processor 
> CFAMs over FSI.  Without the remove pin state changes Cronus cannot access.

As far as I know you have to run "systemctl start fsi-disable.service" to switch
over to Cronus mode. I think Jeremy's point is that it should be that service
which explicitly sets up the hardware in a suitable mode rather than relying on
side-effects from removing the kernel driver.

- Alistair

> Cronus is a user space layer and presently doesn't modify gpio directly 
> in this situation.   It could do this work I suppose but all designers 
> involved will need to come to an agreement as to which is the proper 
> approach.
> 
> Thanks,
> Chris
> 
> > Could you add a comment on why this is required?
> >
> > Cheers,
> >
> >
> > Jeremy
> >
> 



More information about the openbmc mailing list