Commit Graph

41 Commits

Author SHA1 Message Date
Troy Kisky
1efa12657c ARM: dts: imx: sabrelite: add Dual Lite/Solo support
This makes the structure of Sabre Lite board files the same
as Sabre SD board files so that they are easier to compare.

By this, I mean that the majority of the file imx6q-sabrelite.dts
is moved to imx6qdl-sabrelite.dtsi so that both imx6q-sabrelite.dts
and imx6dl-sabrelite.dts can include it.

Now Sabre Lite has support for Dual Lite/Solo
processors.

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2014-02-09 21:29:16 +08:00
Marek Vasut
a41ee06491 ARM: dts: imx6q-sabrelite: Enable PCI express
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: Frank Li <lznuaa@gmail.com>
Cc: Harro Haan <hrhaan@gmail.com>
Cc: Jingoo Han <jg1.han@samsung.com>
Cc: Mohit KUMAR <Mohit.KUMAR@st.com>
Cc: Pratyush Anand <pratyush.anand@st.com>
Cc: Richard Zhu <r65037@freescale.com>
Cc: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Sean Cross <xobs@kosagi.com>
Cc: Siva Reddy Kallam <siva.kallam@samsung.com>
Cc: Srikanth T Shivanand <ts.srikanth@samsung.com>
Cc: Tim Harvey <tharvey@gateworks.com>
Cc: Troy Kisky <troy.kisky@boundarydevices.com>
Cc: Yinghai Lu <yinghai@kernel.org>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2014-02-09 21:29:14 +08:00
Fabio Estevam
9cbd220f4d ARM: dts: imx6q-sabrelite: Place 'status' as the last node
In order to follow the standard approach used on other imx dts files, place the
'status' node as the last one.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2014-02-09 21:29:13 +08:00
Nicolin Chen
77112dd58a ARM: dts: imx: specify the value of audmux pinctrl instead of 0x80000000
We must specify the value of audmux pinctrl if we want to use pinctrl_pm().
Thus change bypass value 0x80000000 to what we exactly need.

This patch also seperately unset PUE bit for TXD so that IOMUX won't pull
up/down the pin after turning into tristate. When we use SSI normal mode to
playback monaural audio via I2S signal, there'd be a pulled curve occur to
its signal at the second slot if setting PUE bit for TXD. And it will make
the second channel to play a constant noise. So by keeping the signal level
in the second slot, we can get a constant high level signal (-1) or a low
level one (0).

Signed-off-by: Nicolin Chen <b42378@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2014-02-09 21:29:04 +08:00
Fabio Estevam
60e90acbca ARM: dts: imx6q-sabrelite: Remove duplicate GPIO entry
MX6QDL_PAD_EIM_D23__GPIO3_IO23 appears twice in the hog pin group.

Remove one of the occurrences.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2014-02-09 21:29:03 +08:00
Shawn Guo
56160e3361 ARM: dts: imx6: use generic node name for fixed regulator
The device tree specification recommends that generic name should be
used for nodes.  So instead of naming those fixed regulator nodes
arbitrarily, let's use the generic name 'regulator@num' for those nodes.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2014-02-09 21:28:59 +08:00
Shawn Guo
817c27a128 ARM: dts: imx6qdl: make pinctrl nodes board specific
Currently, all pinctrl setting nodes are defined in <soc>.dtsi, so that
boards that share the same pinctrl setting do not have to define it time
and time again in <board>.dts.  However, along with the devices and use
cases being added continuously, the pinctrl setting nodes under iomuxc
becomes more than expected.  This bloats device tree blob for particular
board unnecessarily since only a small subset of those pinctrl setting
nodes will be used by the board.  It impacts not only the DTB file size
but also the run-time device tree lookup efficiency.

The patch moves all the pinctrl data into individual boards as needed.
With the changes, the pinctrl setting nodes becomes local to particular
board, and it makes no sense to continue numbering the setting for
given peripheral.  Thus, all the pinctrl phandler name gets updated to
have only peripheral name in there.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2014-02-09 21:28:56 +08:00
Fabio Estevam
c986d35e91 ARM: dts: imx6q-sabrelite: Add ethernet phy reset pin into hog
MX6QDL_PAD_EIM_D23__GPIO3_IO23 pin is used to reset the ethernet phy.

Add it to the 'hog' group.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-09-29 15:37:33 +08:00
Fabio Estevam
a09644b123 ARM: dts: imx6q-sabrelite: Add LVDS support
imx6q-sabrelite board can be connected to a 1024x768 Hannstar LVDS panel.

Add support for it.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-09-26 13:01:32 +08:00
Fabio Estevam
2422d437db ARM: dts: imx6q-sabrelite: Put the nodes in alphabetical order
Put the nodes in alphabetical order so that further node additions can be better
organized.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-09-26 13:01:32 +08:00
Shawn Guo
a94f8ecb2f ARM: imx6q: remove board specific CLKO setup
The CLKO is widely used by imx6q board designs to clock audio codec.
Since most codecs accept 24 MHz frequency, let's initially set up CLKO
with OSC24M (cko <-- cko2 <-- osc).  Then those board specific CLKO
setup for audio codec can be removed.

The board dts files also need an update on cko reference in codec node.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-22 23:29:34 +08:00
Richard Zhu
0fb1f80426 ARM: dtsi: enable ahci sata on imx6q platforms
Only imx6q has the ahci sata controller, enable
it on imx6q platforms.

Signed-off-by: Richard Zhu <r65037@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-22 23:29:25 +08:00
Shawn Guo
c56009b2f6 ARM: dts: imx: share pad macro names between imx6q and imx6dl
The imx6q and imx6dl are two pin-to-pin compatible SoCs.  The same board
design can work with either chip plugged into the socket, e.g. sabresd
and sabreauto boards.

We currently define pin groups in imx6q.dtsi and imx6dl.dtsi
respectively because the pad macro names are different between two
chips.  This brings a maintenance burden on having the same label point
to the same pin group defined in two places.

The patch replaces prefix MX6Q_ and MX6DL_ with MX6QDL_ for both SoCs
pad macro names.  Then the pin groups becomes completely common between
imx6q and imx6dl and can just be moved into imx6qdl.dtsi, so that the
long term maintenance of imx6q/dt pin settings becomes easier.

Unfortunately, the change brings some dramatic diff stat, but it's all
about DTS file, and the ultimate net diff stat is good.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-22 23:29:11 +08:00
Shawn Guo
e16415313c pinctrl: imx: move hard-coding data into device tree
Currently, all imx pinctrl drivers maintain a big array of struct
imx_pin_reg which hard-codes data like register offset and mux mode
setting for each pin function.  Every time a new imx SoC support is
added, we need to add such a big mount of data.  With moving to single
kernel build, it's only matter of time to be blamed on memory consuming.

With DTC pre-processor support in place, the patch moves all these data
into device tree by redefining the PIN_FUNC_ID in imxXX-pinfunc.h and
changing the PIN_FUNC_ID parsing code a little bit.

The pin id gets re-numbered based on mux register offset, or config
register offset if the pin has no mux register, so that kernel can
identify the pin id from register offsets provided by device tree.

As a bonus point of the change, those arbitrary magic numbers standing
for particular PIN_FUNC_ID in device tree sources are now replaced by
macros to improve the readability of dts files.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: Dong Aisheng <dong.aisheng@linaro.org>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
2013-04-09 22:52:50 +08:00
Shawn Guo
36dffd8f49 ARM: imx: use #include for all device trees
Replace /include/ (dtc) with #include (C pre-processor) for all imx DT
files, so that gcc -E handles the entire include tree, and hence any of
those files can #include some other file e.g. for constant definitions.

This allows future use of #defines and header files in order to define
names for various constants, such as pinctrl settings. Use of those
features will increase the readability of the device tree files.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-04-09 22:52:49 +08:00
Shawn Guo
7c1da5854f ARM: dts: add dtsi for imx6q and imx6dl
Add dtsi for imx6q and imx6dl with non-common blocks moved into there.
Major differences between imx6dl and imx6q:

 * Dual vs. Quad cores
 * single vs. dual IPU
 * 128 vs. 256 KB OCRAM
 * imx6q: ECSPI5, OpenVG (GC355), SATA
 * imx6dl: I2C4, PXP, EPDC, LCDIF
 * iomuxc/pads definition

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-02-10 23:25:47 +08:00
Shawn Guo
4bacf2a3fc ARM: dts: rename imx6q.dtsi to imx6qdl.dtsi
i.MX6 Quad and i.MX6 DualLite is similar enough to share one dtsi
file, so rename imx6q.dtsi to imx6qdl.dtsi preparing for the addition
of imx6dl support.

Another member of i.MX6 series i.MX6 SoloLite is different enough
from the other two, so it will stand as a separate dtsi.  That's why
we rename to imx6qdl.dtsi not imx6.dtsi.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-02-10 23:25:47 +08:00
Shawn Guo
be4ccfcec3 ARM: dts: imx: use nodes label in board dts
Following omap3-evm.dts way, it changes all imx dts files to use label
in board dts to refer to nodes defined by soc dtsi.  Thus, the board
dts files become easier to read and edit with the least indentation
levels.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-02-10 23:25:42 +08:00
Richard Zhao
97a53092a1 ARM: dts: imx6q-sabrelite: add usbotg pinctrl support
Signed-off-by: Richard Zhao <richard.zhao@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2012-09-19 11:25:42 +08:00
Richard Zhao
28342c6113 ARM: dts: imx6q-sabrelite: add usbmisc device
- add usbmisc device
- set property fsl,usbmisc for usb controllers
- set disable-over-current for imx6q-sabrelite usb otg

Signed-off-by: Richard Zhao <richard.zhao@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2012-09-17 15:12:51 +08:00
Shawn Guo
cb32b4e0fc imx-clk-dt-lookup
It replaces the clk_register_clkdev in imx6q clock driver with DT
 lookup.  It depends on Mike's clk-3.7 branch.
 
 When it gets merged together with imx-dt-3.7, there is a trivial
 conflict on arch/arm/boot/dts/imx6q.dtsi.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQEcBAABAgAGBQJQTyFwAAoJEFBXWFqHsHzOcXkH/1a2RX8pUMsYHS5efpGaRUjJ
 7PKKbAuMuGAgqdRDv1t2dcXuUv3zJgY/sdrivD9iwMqVSsQDW9MrdKyvBXg9m5UL
 rg1Uc8r6mJlHSljimN8hoHp4PGFF7DCVls5y+3jsk/I2tWK+S/w00iP/aOFgkJNc
 9Bg0ZhofKGOGpYK5joaBYAqvVM7F92gjpX+PytNEkJHGRKxCEsTRq4DRR3+r3uqs
 GuoHOflYMEmviKYaZ/I14rwUJWFF4vIxuFC4vT88erpj3Fs0y7XkEWJiKU/2ma6M
 w86qOUI6nU0iW5AILu3IvjSEvh2h/ZZ+5y3lVvzghcKK2QP4d4bEWnC745NRVSI=
 =pxVx
 -----END PGP SIGNATURE-----

Merge tag 'imx-clk-dt-lookup' into imx/dt-for-3.7-2

Conflicts:
	arch/arm/boot/dts/imx6q.dtsi
2012-09-17 15:12:28 +08:00
Shawn Guo
0e87e0436c ARM: imx6q: replace clk_register_clkdev with clock DT lookup
It really becomes an maintenance issue that every time a device needs
to look up (clk_get) a clock we have to patch kernel clock file to call
clk_register_clkdev for that clock.

Since clock DT support which is meant to resolve clock lookup in device
tree is in place, the patch moves imx6q client devices' clock lookup
over to device tree, so that any new lookup to be added at later time
can just get done in DT instead of kernel.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2012-09-11 19:16:14 +08:00
Fabio Estevam
f8135a74df ARM: imx6q-sabrelite: Rename 'pinctrl_gpio_hog'
'pinctrl_gpio_hog' is used to setup the pin functions, and it is not
neccesarily used only for GPIO pins, so remove 'gpio' from its name
to describe a more generic term.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2012-09-11 16:27:00 +08:00
Shawn Guo
99d5f0cc17 ARM: dts: imx6q-sabrelite: add pinctrl for usdhc and enet
Add missing pinctrl of usdhc and enet for imx6q-sabrelite board.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2012-09-11 16:26:46 +08:00
Shawn Guo
e30ba89fdf ARM: dts: imx6q: name iomuxc sub-nodes following pin function
Name iomuxc sub-nodes following pin function and hardware manual.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2012-09-11 16:26:44 +08:00
Shawn Guo
44a509fc47 ARM: dts: imx6q: improve indentation for fsl,pins
Change the indentation for property fsl,pins a little bit, so that
the first and the last line get the same indentation with all other
lines.  Then it will be easier to copy and past any of these lines.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2012-09-11 16:26:43 +08:00
Fabio Estevam
97a7dab423 ARM: imx6q-sabrelite: Setup CLKO IOMUX
In order to have audio functional on mx6qsabrelite, it is necessary
to setup the IOMUX for MX6Q_PAD_GPIO_0__CCM_CLKO pins as it provides
the audio clock.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2012-08-03 19:57:35 +08:00
Hui Wang
8ad7a30587 ARM: dts: imx6q-sabrelite: add ecspi1 pinctrl support
Imx6q sabrelite board uses ecspi1 to connect a spi flash sst25vf016b,
we need to add pinctrl information for it in the dts, otherwise the
ecspi1 driver can't work and the connected flash is wrongly
detected as a mr25h256 flash like this:

m25p80 spi32766.0: found mr25h256, expected sst25vf016b
m25p80 spi32766.0: mr25h256 (32 Kbytes)

Cc: Richard Zhao <richard.zhao@freescale.com>
Signed-off-by: Hui Wang <jason77.wang@gmail.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2012-07-12 14:59:11 +08:00
Richard Zhao
74bd88f78f ARM: dts: imx6q-sabrelite: add usb devices
- add usbphy devices
- add usb host controller and otg devices
- add usb h1 vbus regulator

Signed-off-by: Richard Zhao <richard.zhao@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2012-07-12 14:54:35 +08:00
Richard Zhao
c3001b2a63 ARM: dts: imx6q-sabrelite: add serial2 pinctrl support
Signed-off-by: Richard Zhao <richard.zhao@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2012-05-11 15:18:08 +08:00
Richard Zhao
b7879fe6da ARM: dts: imx6q-sabrelite: add sound device imx6q-sabrelite-sgtl5000
Signed-off-by: Richard Zhao <richard.zhao@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2012-05-11 15:18:07 +08:00
Richard Zhao
5ca65c1883 ARM: dts: imx6q-sabrelite: add audmux pinctrl support
Signed-off-by: Richard Zhao <richard.zhao@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2012-05-11 15:18:03 +08:00
Richard Zhao
d99a79fcf4 ARM: dts: imx6q-sabrelite: add i2c1 pinctrl support
Signed-off-by: Richard Zhao <richard.zhao@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2012-05-11 15:18:02 +08:00
Richard Zhao
f965cd55e2 ARM: dts: imx6q-sabrelite: add audmux device
Signed-off-by: Richard Zhao <richard.zhao@linaro.org>
Signed-off-by: Richard Zhao <richard.zhao@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2012-05-11 15:18:01 +08:00
Richard Zhao
b1a5da8eb3 ARM: dts: imx6q-sabrelite: add ssi device
Signed-off-by: Richard Zhao <richard.zhao@linaro.org>
Signed-off-by: Richard Zhao <richard.zhao@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2012-05-11 15:18:00 +08:00
Fabio Estevam
f07439c432 ARM: dts: imx6q-sabrelite: Add SPI NOR support
mx6qsabrelite has a sst25vf016b SPI NOR flash connected to eCSPI1.

Add support for it.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2012-05-11 15:17:54 +08:00
Shawn Guo
0c456cfa7e ARM: imx: rename uart and fec device tree nodes
It has been pointed out by device tree maintainer for several times
that the generic names 'serial' and 'ethernet' should be used for
those devices per ePAPR.  Renames imx uart and fec device tree nodes
to stop them being bad examples.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-05-11 15:08:24 +08:00
Shawn Guo
6f6ea93705 ARM: dts: imx6q-sabrelite: add vmmc-supply for usdhc
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2012-02-27 17:15:12 +08:00
Richard Zhao
adcec4ce96 ARM: dts: imx6q-sabrelite: add sgtl5000 audio codec
Signed-off-by: Richard Zhao <richard.zhao@linaro.org>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2012-02-27 14:53:48 +08:00
Richard Zhao
cf37a8ee60 ARM: dts: imx6q-sabrelite: add 2p5v and 3p3v regulators
Signed-off-by: Richard Zhao <richard.zhao@linaro.org>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2012-02-27 14:53:29 +08:00
Richard Zhao
3c8276c6bc arm/imx6: add imx6q sabrelite board support
- Add basic board dts file
- Add board compatible string to mach-imx6q.
- Update fsl DT board doc.

Signed-off-by: Richard Zhao <richard.zhao@linaro.org>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2011-12-14 21:25:45 +08:00