Linus Walleij [Thu, 3 Oct 2013 08:18:36 +0000 (10:18 +0200)]
ARM: ux500: register the tc35892 GPIO on the TVK UIB
The TVK1281618 UIB has a TC35892 GPIO expander on it, which has
in the past probably been confused with the GPIO expander on the
older HREF plus previous to v60, which is on an entirely different
part of the system with another I2C address. Register the expander
in the right place.
Linus Walleij [Wed, 2 Oct 2013 13:42:59 +0000 (15:42 +0200)]
ARM: ux500: split the HREF DTS files from two to four
As the device tree conversion did away with the ability to
auto-detect the UIB (User Interface Board) version from attempting
to read an I2C address, we now have to pass the knowledge of
what UIB is mounted through the device tree. This gives rise
to four possible board permutations:
- HREF prior to v60, ST UIB (hrefprev60-stuib)
- HREF prior to v60, TVK1281618 UIB (hrefprev60-tvk)
- HREF v60 and later, ST UIB (href60plus-stuib)
- HREF v60 and later, TVK1281618 UIB (hrefv60plus-tvk)
Linus Walleij [Wed, 2 Oct 2013 14:03:31 +0000 (16:03 +0200)]
ARM: ux500: move TC35892 at 0x42 to hrefprev60
The TC35892 was mounted as a GPIO expander on the HREF prior
to v60 and not in later versions, which instead use the Nomadik
GPIO directly, so move it over to the hrefprev60 DTS file.
Linus Walleij [Wed, 2 Oct 2013 14:12:52 +0000 (16:12 +0200)]
ARM: ux500: correct CD for micro SD on hrev60plus
This correct the card detect line for the HREF v60 and later
reference designs. This is connected directly to the Nomadik
GPIO block, line 95 at offset 31 on the third instance.
commit f1ff5b2549990b5de080b52e3313cbb30c218853
"ARM: ux500: Stop enabling GPIOs when not booting with Device Tree"
deleted devices-common.c, but did not delete the build
rule from Makefile (most likely due to compiling in
a dirty tree where the object file still existed so
linking would complete anyway).
Delete the makerule, the header file associated
with this file and the remaining reference to the header.
Cc: Lee Jones <lee.jones@linaro.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Lee Jones [Thu, 22 Aug 2013 14:52:30 +0000 (15:52 +0100)]
ARM: ux500: Stop requesting the SoC device to play 'parent' role
There are no more devices which require left to register which require
a parent. This is part of the ux500 conversion over to Device Tree only
booting.
Signed-off-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Lee Jones [Wed, 21 Aug 2013 10:32:49 +0000 (11:32 +0100)]
ARM: ux500: Reclassify PRCMU AUXDATA entry
We still need to utilise the AUXDATA system for the PRCMU to pass
through platform data which can not be DT:ed i.e. regulator initialisation
values. All we're doing in this patch is changing the comment header to be
more accurate.
Signed-off-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Lee Jones [Wed, 18 Sep 2013 12:37:12 +0000 (13:37 +0100)]
ARM: ux500: Relocate AUXDATA relating to MSP (Audio)
MSP no longer requires clock-name bindings, so we need to move them to
a more appropriate header indicating that we're still passing DMA
related platform data to them.
Signed-off-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Lee Jones [Tue, 17 Sep 2013 09:41:42 +0000 (10:41 +0100)]
ARM: ux500: Call appropriate clock initialisation based on DT or !DT booting
The ux500 platform will soon be converted to Device Tree only. When that
happens the old clock initialisation will be ripped out. In the meantime
however, we have to make a decision and call the appropriate
initialisation code manually.
Signed-off-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Lee Jones [Wed, 18 Sep 2013 07:58:18 +0000 (08:58 +0100)]
usb: musb: ux500: Don't supply a con_id when requesting the clock
If we supply a con_id then the clock framework will search for that name
in MUSB's Device Tree node for the 'clock-names' property. If it's absent
the clock request will fail. However, if we don't supply the con_id then
clk_get() will call into clk_sys() which will use the device name to
search for the appropriate clock, which is much more natural than forcing
'usb'.
Acked-by: Felipe Balbi <balbi@ti.com> Signed-off-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Lee Jones [Tue, 17 Sep 2013 09:35:00 +0000 (10:35 +0100)]
clk: ux500: Add Device Tree support for the TWD clock
This patch enables the TWD fixed factor clock to be specified from
Device Tree via phandles to the "smp-twd-clock" node.
Acked-by: Mike Turquette <mturquette@linaro.org> Signed-off-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Lee Jones [Tue, 17 Sep 2013 09:34:24 +0000 (10:34 +0100)]
clk: ux500: Add Device Tree support for the RTC clock
This patch enables the RTC fixed frequency clock to be specified from
Device Tree via phandles to the "rtc32k-clock" node.
Acked-by: Mike Turquette <mturquette@linaro.org> Signed-off-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Lee Jones [Tue, 17 Sep 2013 09:33:05 +0000 (10:33 +0100)]
clk: ux500: Add Device Tree support for the PRCC Kernel clock
This patch enables clocks to be specified from Device Tree via phandles
to the "prcc-kernel-clock" node.
Acked-by: Mike Turquette <mturquette@linaro.org> Signed-off-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Lee Jones [Tue, 17 Sep 2013 09:31:39 +0000 (10:31 +0100)]
clk: ux500: Add Device Tree support for the PRCC Peripheral clock
This patch enables clocks to be specified from Device Tree via phandles
to the "prcc-periph-clock" node.
Acked-by: Mike Turquette <mturquette@linaro.org> Signed-off-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Lee Jones [Tue, 17 Sep 2013 09:30:19 +0000 (10:30 +0100)]
clk: ux500: Add Device Tree support for the PRCMU clock
This patch enables clocks to be specified from Device Tree via phandles
to the "prcmu-clock" node.
Acked-by: Mike Turquette <mturquette@linaro.org> Signed-off-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Lee Jones [Mon, 22 Jul 2013 12:13:01 +0000 (13:13 +0100)]
clk: ux500: Add a 2-cell Device Tree parser for obtaining PRCC clocks
PRCC (peripheral and kernel) clocks are specified using a property tuple
<&phandle base bit>, where 'base' is the peripheral (1, 2, 3, 5 or 6),
and bit is read-in value into that peripheral stipulated by the hardware
specification.
Acked-by: Mike Turquette <mturquette@linaro.org> Signed-off-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Lee Jones [Tue, 17 Sep 2013 09:26:24 +0000 (10:26 +0100)]
clk: ux500: Provide u8500_clk with skeleton Device Tree support
The functional components will be added on a per-clock basis.
Acked-by: Mike Turquette <mturquette@linaro.org> Signed-off-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Lee Jones [Tue, 17 Sep 2013 09:11:53 +0000 (10:11 +0100)]
clk: ux500: Copy u8500_clk_init() ready for DT enablement
Here we're using the old clock initialisation function as a template.
It's necessary to remove all of the clk_register_clkdev() calls as
they don't make sense when booting with Device Tree.
Cc: Mike Turquette <mturquette@linaro.org> Signed-off-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Lee Jones [Thu, 8 Aug 2013 09:38:15 +0000 (10:38 +0100)]
clk: ux500: Remove BML8580 clock
There is no mention of the PRCMU_BML8580CLK in any of the Design
Specifications for the chips supported in Mainline. In fact, where it
is incorrectly used in the u8540 clock definition driver it would
have the side effect of using the incorrect clock management address
([PRCM_BML8580CLK_MGT] 0x108 instead of the correct value 0x04C).
Acked-by: Mike Turquette <mturquette@linaro.org> Signed-off-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Lee Jones [Wed, 18 Sep 2013 08:54:07 +0000 (09:54 +0100)]
ARM: ux500: Add a DT node for the Nomadik System Timer (MTU0)
The MTU0 is required for full booting of the system. The driver has
been previously DT:ed and is in use on the Nomadik platform, but we
also need to enable it on ux500 based systems.
Signed-off-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Lee Jones [Mon, 19 Aug 2013 11:23:05 +0000 (12:23 +0100)]
mfd: dbx500: Remove any mention of the BML8580CLK
The platform which it pertains to is no longer supported and is actually
causing some confusion in the new common clock implementation. A recent
patch removed its use in the clock driver, let's take out the definitions
too.
Acked-by: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Lee Jones [Thu, 6 Jun 2013 10:50:47 +0000 (11:50 +0100)]
mfd: dbx500-prcmu: Move PRCMU numerical clock identifiers into DT include file
These are required to request DBx500 PRCMU clocks from Device Tree. The
numbers used are taken directly from the Hardware Specification document.
We're moving them from the DBx500 PRCMU include file into the DT include
directory and referencing them from the former via a #include.
Acked-by: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
The "mentor,musb" binding isn't documented so I was about
to document it.
The node is missing a few properties for configuration like
"multipoint", "dyn_fifo", "num_eps" or "ram_bits". However
I am not sure "missing" is the right word here because some
of those informations might be obtained from the chip itself
but it is not done (yet).
Further the ePARP 2.3.1 says the matching goes from left to
right taking the fist match. Right now there is jus a driver
for "stericsson,db8500-musb" and none for "mentor,musb".
I'm not 100% that it is simply possible to have a generic
since even for DMA we have ifdefs in the driver between
"generic mentor dma" and "ux500 dma" and I mean within musb
and not the dma code.
For that reason (that I am not sure a generic musb binding
is possible and how its binding / required properties will
look like) and the reason that we have here a minor binding
without a driver to look at I suggest to remove that binding.
If the majority of people prefer to keep this binding I'm
curious how the documentation of the binding should look like.
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Linus Walleij [Fri, 16 Aug 2013 11:53:14 +0000 (13:53 +0200)]
ARM: ux500: skip redefined regulator names on v60plus board
These regulator rail names are already set in the
ste-href.dtsi file included by this file, this is just redoing
the naming for no benefit, so delete it.
The Ux500 boards are layered like this:
ste-snowball.dts includes ste-href.dtsi that includes
ste-dbx500.dtsi.
The dbx500.dtsi defines the PRCMU SoC regulators so the SoC will
probe and you can use ampersand references where need be.
However the HREF common dtsi and these two boards redefine the
same PRCMU SoC regulators with the very same names and properties
for no reason. This is like filling in the same line three
times instead of drawing it once. Just delete the surplus
references and have the PRCMU regulators defines in the SoC
files ste-dbx500.dtsi, this is enough.