> -----Original Message----- > From: Sean Nyekjaer <sean@xxxxxxxxxx> > Sent: 2019年12月5日 17:22 > To: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx>; Joakim Zhang > <qiangqing.zhang@xxxxxxx>; linux-can@xxxxxxxxxxxxxxx > Cc: dl-linux-imx <linux-imx@xxxxxxx>; netdev@xxxxxxxxxxxxxxx > Subject: Re: [PATCH V2 2/4] can: flexcan: try to exit stop mode during probe > stage > > > > On 04/12/2019 09.45, Marc Kleine-Budde wrote: > > On 12/4/19 3:22 AM, Joakim Zhang wrote: > >> > >>> -----Original Message----- > >>> From: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> > >>> Sent: 2019年12月4日 2:15 > >>> To: Joakim Zhang <qiangqing.zhang@xxxxxxx>; sean@xxxxxxxxxx; > >>> linux-can@xxxxxxxxxxxxxxx > >>> Cc: dl-linux-imx <linux-imx@xxxxxxx>; netdev@xxxxxxxxxxxxxxx > >>> Subject: Re: [PATCH V2 2/4] can: flexcan: try to exit stop mode > >>> during probe stage > >>> > >>> On 11/27/19 6:56 AM, Joakim Zhang wrote: > >>>> CAN controller could be stucked in stop mode once it enters stop > >>>> mode > >>> ^^^^^^^ stuck > >>>> when suspend, and then it fails to exit stop mode when resume. > >>> > >>> How can this happen? > >> > >> I am also confused how can this happen, as I asked Sean, only CAN > >> enter stop mode when suspend, then system hang, > > How do you recover the system when suspended? > > > >> it could let CAN > >> stuck in stop mode. However, Sean said this indeed happen at his > >> side, @sean@xxxxxxxxxx, could you explain how this happen in details? > > That would be good. > > > >>>> Only code reset can get CAN out of stop mode, > >>> > >>> What is "code reset"? > >> > >> As I know, "code reset" is to press the POWER KEY from the board. At > >> my side, reboot command from OS also can get CAN out of stop mode. > > Do you mean "cold reset", also known as Power-On-Reset, POR or power > cycle? > > > > What does pressing the POWER KEY do? A power cycle of the system or > > toggling the reset line of the imx? > > > > We need to describe in detail, as not everyone has the same board as > > you, and these boards might not even have a power key :) > > > >> Below is experiment I did: > >> Firstly, do a hacking to let CAN stuck into stop mode, then: > > > > You mean you put the CAN into stop mode without keeping track in the > > CAN driver that the CAN-IP is in stop mode, e.g. by hacking the driver. > > > > Then you try several methods to recover: > > > >> (1) press power on/off key, get CAN out of stop mode; > >> (2) reboot command from console, get CAN out of stop mode; > >> (3) unbind/bind driver, cannot get CAN out of stop mode; > >> (4) remod/insmod module, cannot get CAN out of stop mode; > > > > (2) resets the complete imx, including the CAN-IP core, (1) probably, too. > No, if the CAN-IP core is in stop-mode it will stay that way even after a reboot > from the console. > At least it's what we are seeing in the field. > > This could be because we are missing a wire from the watchdog out to the > RESETBMCU/PWRON on the PMIC. > But i guess a check for if the CAN-Ip is in stop-mode doesn't hurt anything :) Hi Sean, At my side, both Power-On-Reset and reboot from console can get CAN-IP out of stop mode, HW is i.MX7D-SDB/i.MX8QXP-mek. I think HW design could make difference. We more care about how does CAN-IP stuck in stop mode, could you please explain in details? We want figure out the root cause. > /Sean