From: Dinh Nguyen <dinh.linux@gmail.com>
To: Arnd Bergmann <arnd@arndb.de>
Cc: dinguyen@altera.com, Pavel Machek <pavel@denx.de>,
Olof Johansson <olof@lixom.net>,
Rob Herring <rob.herring@calxeda.com>,
Pawel Moll <pawel.moll@arm.com>,
Mark Rutland <mark.rutland@arm.com>,
Stephen Warren <swarren@wwwdotorg.org>,
Ian Campbell <ian.campbell@citrix.com>,
Chris Ball <cjb@laptop.org>,
Jaehoon Chung <jh80.chung@samsung.com>,
Seungwon Jeon <tgih.jun@samsung.com>,
devicetree@vger.kernel.org, linux-mmc@vger.kernel.org,
linux-arm-kernel@lists.infradead.org
Subject: Re: [RESEND PATCHv2 1/3] arm: socfpga: Set the SDMMC clock phase in system manager
Date: Tue, 15 Oct 2013 15:21:18 -0500 [thread overview]
Message-ID: <525DA3BE.2030304@gmail.com> (raw)
In-Reply-To: <201310152147.27569.arnd@arndb.de>
On 10/15/13 2:47 PM, Arnd Bergmann wrote:
> On Tuesday 15 October 2013, Dinh Nguyen wrote:
>>> 1 Create a "syscon" backend driver to control your "system manager", which
>>> lets other drivers hook into it without calling a private API.
>> Yes, if you look at drivers/mmc/host/dw_mmc-socfpga.c that is in the
>> mainline,
>> it is hooking into the "system manager" through "syscon". Is this what you
>> mean here?
> No, because you directly hook into the syscon driver, rather than using
> a clock driver as the middle-man, see steps 2 and 3 below.
>
Ok, now I understand.
>> The problem is because of the SYSMGR_SDMMCGRP_CTRL_OFFSET define
>> in this file. This means the SD/MMC driver needs information that is
>> outside of its IP.
> Yes, this is not ideal because you don't really want that information
> in the sd/mmc driver. That driver should only know about the fact
> that it talks to a clock controller, not how it's implemented.
>
> Arnd
>
>>> 2 Create a trivial clock driver that is independent of your existing
>>> clock driver and independent of the other drivers using the system
>>> manager, by using syscon as the low-level interface.
>>> 3 Make the sdmmc driver use the normal clock API and link its clock to the
>>> driver from step 2 in the device tree.
This makes sense for the SD/MMC driver, but do you think I can use the
same approach for
other drivers that this system manager touches? i.e. The ethernet IP's
PHY setting is controlled
by a register that is in the system manager as well.
I have submitted this patch for enabling ethernet. It is making use of
the driver platform specific
driver calls to touch the system manager.
http://lists.infradead.org/pipermail/linux-arm-kernel/2013-September/200173.html
Just wondering if that is right approach for the ethernet driver? If
not, then I think I may have
to come up with a generic system manager driver so that it can be used
for other IPs.
Thanks,
Dinh
>>>
>>> Is this what you have tried before?
WARNING: multiple messages have this Message-ID (diff)
From: dinh.linux@gmail.com (Dinh Nguyen)
To: linux-arm-kernel@lists.infradead.org
Subject: [RESEND PATCHv2 1/3] arm: socfpga: Set the SDMMC clock phase in system manager
Date: Tue, 15 Oct 2013 15:21:18 -0500 [thread overview]
Message-ID: <525DA3BE.2030304@gmail.com> (raw)
In-Reply-To: <201310152147.27569.arnd@arndb.de>
On 10/15/13 2:47 PM, Arnd Bergmann wrote:
> On Tuesday 15 October 2013, Dinh Nguyen wrote:
>>> 1 Create a "syscon" backend driver to control your "system manager", which
>>> lets other drivers hook into it without calling a private API.
>> Yes, if you look at drivers/mmc/host/dw_mmc-socfpga.c that is in the
>> mainline,
>> it is hooking into the "system manager" through "syscon". Is this what you
>> mean here?
> No, because you directly hook into the syscon driver, rather than using
> a clock driver as the middle-man, see steps 2 and 3 below.
>
Ok, now I understand.
>> The problem is because of the SYSMGR_SDMMCGRP_CTRL_OFFSET define
>> in this file. This means the SD/MMC driver needs information that is
>> outside of its IP.
> Yes, this is not ideal because you don't really want that information
> in the sd/mmc driver. That driver should only know about the fact
> that it talks to a clock controller, not how it's implemented.
>
> Arnd
>
>>> 2 Create a trivial clock driver that is independent of your existing
>>> clock driver and independent of the other drivers using the system
>>> manager, by using syscon as the low-level interface.
>>> 3 Make the sdmmc driver use the normal clock API and link its clock to the
>>> driver from step 2 in the device tree.
This makes sense for the SD/MMC driver, but do you think I can use the
same approach for
other drivers that this system manager touches? i.e. The ethernet IP's
PHY setting is controlled
by a register that is in the system manager as well.
I have submitted this patch for enabling ethernet. It is making use of
the driver platform specific
driver calls to touch the system manager.
http://lists.infradead.org/pipermail/linux-arm-kernel/2013-September/200173.html
Just wondering if that is right approach for the ethernet driver? If
not, then I think I may have
to come up with a generic system manager driver so that it can be used
for other IPs.
Thanks,
Dinh
>>>
>>> Is this what you have tried before?
next prev parent reply other threads:[~2013-10-15 20:21 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-14 19:47 [RESEND PATCHv2 1/3] arm: socfpga: Set the SDMMC clock phase in system manager dinguyen
2013-10-14 19:47 ` dinguyen at altera.com
[not found] ` <1381780051-1826-1-git-send-email-dinguyen-EIB2kfCEclfQT0dZR+AlfA@public.gmane.org>
2013-10-14 19:47 ` [RESEND PATCHv2 2/3] mmc: dw_mmc-socfpga: Clean up SOCFPGA platform specific functionality dinguyen-EIB2kfCEclfQT0dZR+AlfA
2013-10-14 19:47 ` dinguyen at altera.com
2013-10-14 19:47 ` [RESEND PATCHv2 3/3] arm: dts: socfpga: Add support for SD/MMC dinguyen
2013-10-14 19:47 ` dinguyen at altera.com
2013-10-15 6:51 ` [RESEND PATCHv2 1/3] arm: socfpga: Set the SDMMC clock phase in system manager Jaehoon Chung
2013-10-15 6:51 ` Jaehoon Chung
2013-10-15 12:37 ` Dinh Nguyen
2013-10-15 12:37 ` Dinh Nguyen
2013-10-15 12:50 ` Arnd Bergmann
2013-10-15 12:50 ` Arnd Bergmann
2013-10-15 13:22 ` Dinh Nguyen
2013-10-15 13:22 ` Dinh Nguyen
2013-10-15 19:01 ` Arnd Bergmann
2013-10-15 19:01 ` Arnd Bergmann
2013-10-15 19:19 ` Dinh Nguyen
2013-10-15 19:19 ` Dinh Nguyen
2013-10-15 19:47 ` Arnd Bergmann
2013-10-15 19:47 ` Arnd Bergmann
2013-10-15 20:21 ` Dinh Nguyen [this message]
2013-10-15 20:21 ` Dinh Nguyen
2013-10-16 18:56 ` Arnd Bergmann
2013-10-16 18:56 ` Arnd Bergmann
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=525DA3BE.2030304@gmail.com \
--to=dinh.linux@gmail.com \
--cc=arnd@arndb.de \
--cc=cjb@laptop.org \
--cc=devicetree@vger.kernel.org \
--cc=dinguyen@altera.com \
--cc=ian.campbell@citrix.com \
--cc=jh80.chung@samsung.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-mmc@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=olof@lixom.net \
--cc=pavel@denx.de \
--cc=pawel.moll@arm.com \
--cc=rob.herring@calxeda.com \
--cc=swarren@wwwdotorg.org \
--cc=tgih.jun@samsung.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.