From: "Tony Huang 黃懷厚" <tony.huang@sunplus.com>
To: Arnd Bergmann <arnd@arndb.de>
Cc: DTML <devicetree@vger.kernel.org>,
"Linux Kernel Mailing List" <linux-kernel@vger.kernel.org>,
"Derek Kiernan" <derek.kiernan@xilinx.com>,
"Dragan Cvetic" <dragan.cvetic@xilinx.com>,
"Rob Herring" <robh+dt@kernel.org>,
gregkh <gregkh@linuxfoundation.org>,
"Wells Lu 呂芳騰" <wells.lu@sunplus.com>,
黃懷厚 <tonyhuang.sunplus@gmail.com>
Subject: RE: [PATCH v4 2/2] misc: Add iop driver for Sunplus SP7021
Date: Wed, 22 Dec 2021 07:20:03 +0000 [thread overview]
Message-ID: <a45cf55f836c4befa65510e30440016c@sphcmbx02.sunplus.com.tw> (raw)
In-Reply-To: <CAK8P3a0cA7iL=ug6hiqWAV1-qFSoCN-R7jrXv0cqByUDJV4x0Q@mail.gmail.com>
Dear Arnd:
> > >> IOP (IO Processor) embedded inside SP7021 which is used as
> > >> Processor for I/O control, RTC wake-up and cooperation with CPU &
> > >> PMC in power management purpose.
> > >> The IOP core is DQ8051, so also named IOP8051, it supports
> > >> dedicated JTAG debug pins which share with SP7021.
> > >> In standby mode operation, the power spec reach 400uA.
> > >>
> > >> Signed-off-by: Tony Huang <tonyhuang.sunplus@gmail.com>
> > >> ---
> > >> Changes in v4:
> > >> - Addressed comments from Arnd Bergmann.
> >
> > >I don't think you did: I asked you specifically to add code to
> > >interact with the existing in-kernel interfaces to use the
> > >functionality provided by the device. Pick any (at least two)
> > >subsystems and add support, but leave out any custom user space
> > >interfaces (miscdevice, debugfs, sysfs, ...) for the moment.
> >
> >
> >
> > 1. IOP can run sp_iop_platform_driver_shudown() through the poweroff
> > command and the kernel. Perform system power-off actions.
>
> Do you mean that this method a) cleanly shuts down the iop before the system
> is powered down, or b) the driver_shutdown() callback is used to initiate the
> powerdown of the system itself?
>
> In case of a) I would not count that as exposing functionality, what you do here
> is just part of any driver. If instead you are trying to use b), this is the wrong
> way of doing it, see drivers/power/reset/ for examples of how to do it right.
>
> > 2. Wake up the system by relying on the 8051 internal RTC wake-up
> > mechanism and external GPIO input signals to wake up.
>
> I think those should be exposed with drivers/rtc for the RTC and drivers/gpio/
> for the GPIO driver, and then you can use the device tree to configure which
> GPIO to use as a wakeup and how it's connected to the RTC.
>
I have a question to ask you:
There are two ways to wake up the Linux kernel system in 8051.
1)RTC wakeup:
The SP7021 system mounts the RTC device driver.
I set the RTC wake-up time by type commands in command line.
Example:
echo 0 > /sys/class/rtc/rtc0/wakealarm && nnn=`date '+%s'` && echo $nnn && nnn=`expr $nnn + 10` && echo $nnn > /sys/class/rtc/rtc0/wakealarm
When the linux kernel system has no power. 8051 can read RTC resgister and receive RTC wakeup interrupt.
Do I need to add RTC subsystem functiona to the IOP code?
2)GPIO wakeup:
According to your suggestion
I use of_get_name_gpio() to get GPIO number from device tree during the IOP probe process.
Pass it to 8051 for use.
Thanks
next prev parent reply other threads:[~2021-12-22 7:20 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-16 2:34 [PATCH v4 0/2] " Tony Huang
2021-12-16 2:34 ` [PATCH v4 1/2] dt-binding: misc: Add iop yaml file " Tony Huang
2021-12-16 2:35 ` [PATCH v4 2/2] misc: Add iop driver " Tony Huang
[not found] ` <CAK8P3a0CnCK-Dfodp-jTzZApM_1NpdY7DV2fRqnO=gaju5xGwg@mail.gmail.com>
[not found] ` <CAHpW4oQmtd-gG1HYZT-Dk=QAvXKsKebzcOaVtrEeoujwoL9zSg@mail.gmail.com>
[not found] ` <316c16afbff74160b07bd74444f3b8e1@sphcmbx02.sunplus.com.tw>
2021-12-17 6:54 ` gregkh
2021-12-17 8:12 ` Arnd Bergmann
2021-12-17 10:24 ` Tony Huang 黃懷厚
2021-12-17 11:03 ` Tony Huang 黃懷厚
2021-12-22 7:20 ` Tony Huang 黃懷厚 [this message]
[not found] ` <YbrsbtBgUDnjZJ/o@kroah.com>
[not found] ` <CAHpW4oRTcXq6k2o4cjFeHznZrR737947UPE60nWyPTRLPTR0Gw@mail.gmail.com>
2021-12-17 8:10 ` Tony Huang 黃懷厚
2021-12-17 8:24 ` gregkh
2021-12-20 8:35 ` Tony Huang 黃懷厚
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=a45cf55f836c4befa65510e30440016c@sphcmbx02.sunplus.com.tw \
--to=tony.huang@sunplus.com \
--cc=arnd@arndb.de \
--cc=derek.kiernan@xilinx.com \
--cc=devicetree@vger.kernel.org \
--cc=dragan.cvetic@xilinx.com \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=robh+dt@kernel.org \
--cc=tonyhuang.sunplus@gmail.com \
--cc=wells.lu@sunplus.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®