diff mbox

[v2] Misc: ARM_CHAR_LCD: Permit the use of a driver on any ARM machine

Message ID 1353236200-11435-1-git-send-email-shc_work@mail.ru (mailing list archive)
State New, archived
Headers show

Commit Message

Alexander Shiyan Nov. 18, 2012, 10:56 a.m. UTC
arm-charlcd driver can be used on any ARM machine, so dependency of
PLAT_VERSATILE is removed.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
---
 drivers/misc/Kconfig |   15 ++++++++-------
 1 files changed, 8 insertions(+), 7 deletions(-)

Comments

Russell King - ARM Linux Nov. 18, 2012, 11:10 a.m. UTC | #1
On Sun, Nov 18, 2012 at 02:56:40PM +0400, Alexander Shiyan wrote:
> arm-charlcd driver can be used on any ARM machine, so dependency of
> PLAT_VERSATILE is removed.

This needs a better explanation.  We know that it's used on ARMs
reference boards.  Which other platforms will be making use of this
driver?  Do these other boards implement the same interface, including
the presence of the interrupt?

I'd need to re-read the specs, but I think that the interface this
driver uses is provided by ARMs FPGA rather than the LCD module itself,
and re-use of this driver would need that IP to be implemented elsewhere.
Alexander Shiyan Nov. 18, 2012, 11:36 a.m. UTC | #2
> > arm-charlcd driver can be used on any ARM machine, so dependency of
> > PLAT_VERSATILE is removed.
> 
> This needs a better explanation.  We know that it's used on ARMs
> reference boards.  Which other platforms will be making use of this
> driver?  Do these other boards implement the same interface, including
> the presence of the interrupt?
LCD controller do not have interrupt output. In driver interrupt is optional
and used for delay operations, since controller is too slow. Probably, as
you say, it used by additional onboard FPGA for a delay read/write operations
on fast CPU bus and/or generate clock. All other controller signals are normal
CPU-bus signals.

> I'd need to re-read the specs, but I think that the interface this
> driver uses is provided by ARMs FPGA rather than the LCD module itself,
> and re-use of this driver would need that IP to be implemented elsewhere.
Commands in the driver - is a controller commands, so it can be reused by
other machines. For example, I want to reuse this driver for clps711x.

Detail description of controller present on wiki:
http://en.wikipedia.org/wiki/HD44780_Character_LCD

---
Alexander Shiyan Nov. 18, 2012, 11:49 a.m. UTC | #3
> > arm-charlcd driver can be used on any ARM machine, so dependency of
> > PLAT_VERSATILE is removed.
> 
> This needs a better explanation.  We know that it's used on ARMs
> reference boards.  Which other platforms will be making use of this
> driver?  Do these other boards implement the same interface, including
> the presence of the interrupt?
> 
> I'd need to re-read the specs, but I think that the interface this
> driver uses is provided by ARMs FPGA rather than the LCD module itself,
> and re-use of this driver would need that IP to be implemented elsewhere.
Additionally: But, you are right. This should be reviewed more accuracy for a
support for other machines, so please drop this patch.

---
Russell King - ARM Linux Nov. 18, 2012, 12:02 p.m. UTC | #4
On Sun, Nov 18, 2012 at 03:49:26PM +0400, Alexander Shiyan wrote:
> > > arm-charlcd driver can be used on any ARM machine, so dependency of
> > > PLAT_VERSATILE is removed.
> > 
> > This needs a better explanation.  We know that it's used on ARMs
> > reference boards.  Which other platforms will be making use of this
> > driver?  Do these other boards implement the same interface, including
> > the presence of the interrupt?
> > 
> > I'd need to re-read the specs, but I think that the interface this
> > driver uses is provided by ARMs FPGA rather than the LCD module itself,
> > and re-use of this driver would need that IP to be implemented elsewhere.
> Additionally: But, you are right. This should be reviewed more accuracy for a
> support for other machines, so please drop this patch.

What would be nice to see is a driver library for these LCD modules which
can then be hooked into whatever interface a platform presents, and come
up with some kind of solution to that where the platform interface can be
represented in DT form.
diff mbox

Patch

diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
index b151b7c..ac67ce5 100644
--- a/drivers/misc/Kconfig
+++ b/drivers/misc/Kconfig
@@ -434,13 +434,14 @@  config VMWARE_BALLOON
 
 config ARM_CHARLCD
 	bool "ARM Ltd. Character LCD Driver"
-	depends on PLAT_VERSATILE
-	help
-	  This is a driver for the character LCD found on the ARM Ltd.
-	  Versatile and RealView Platform Baseboards. It doesn't do
-	  very much more than display the text "ARM Linux" on the first
-	  line and the Linux version on the second line, but that's
-	  still useful.
+	depends on ARM
+	help
+	  This is a driver for the on-board character LCD found on some
+	  ARM reference boards, for example on Versatile or RealView Platform
+	  Baseboards. This is basically an Hitachi HD44780 LCD.
+	  Driver doesn't do very much more than display the text "ARM Linux"
+	  on the first line and the Linux version on the second line, but
+	  that's still useful.
 
 config BMP085
 	bool