[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