Hi Vitor,

On Mon, 2019-04-08 at 13:25 +0000, Vitor Soares wrote:
> Hi Eugeniy,
> 
> From: Eugeniy Paltsev <[email protected]>
> Date: Mon, Apr 08, 2019 at 12:40:00
> 
> > Hi Vitor,
> > 
> > On Mon, 2019-04-08 at 12:31 +0200, Vitor Soares wrote:
> > > Some custom IP-block connected to ARC AXS10x board need assert and
> > > deassert functions to control reset signal of selected peripherals.
> > > 
> > > This patch improve AXS10x reset driver by adding assert and deassert
> > > callbacks.
> > 
> > 
> > In the AXS10x reset driver only 'reset' callback is intentionally 
> > > implemented.
> > 
> > AXS10x is FPGA based boards and with our default firmware AXS10x reset 
> > > register is implemented as self-deasserted.
> 
> I have another reset block connect through AXI.
> 
> > Do you have somehow modified AXS10x firmware where reset register is not 
> > > self-deasserted?
> > 
> > In that case "simple-reset" driver will be suitable for you, I guess.
> 
> I will try it.
> 
> > Otherwise this implementation is incorrect - there should be no 'assert' 
> > for 
> > > reset controller with self-deasserted logic.
> 
> So the assert and reset callback are mutually exclusive?

Not actually.

Adding 'assert' callback is incorrect for exclusive reset controls in
case of self-deasserted reset controller.
It will cause reset_control_assert() to return success for exclusive
reset controls, even though the .assert op failed to leave the reset
line asserted after the function returns.


[snap]
> 
> Best regards,
> Vitor Soares
> 
-- 
 Eugeniy Paltsev

Reply via email to