Commit graph

31 commits

Author SHA1 Message Date
Stephen Warren
702b0e4f2f ARM: dt: tegra: rename board files to match SoC
Most ARM ${board}.dts files are already named ${soc}-${board}.dts. This
change modifies the Tegra board files to be named the same way for
consistency.

Once a related change is made in U-Boot, this will cause both U-Boot and
the kernel to use the same names for the .dts files and SoC identifiers,
thus allowing U-Boot's recently added "soc" and "board" environment
variables to be used to construct the name of Tegra .dtb files, and hence
allow board-generic U-Boot bootcmd scripts to be written.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
2012-06-20 12:30:10 -06:00
Stephen Warren
02e35c461d ARM: dt: tegra: remove legacy support-8bit property
The driver supports the new bus-width property, so remove the legacy
support-8bit property.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
2012-06-11 11:48:43 -06:00
hdoyu@nvidia.com
bfb3fe1266 ARM: dt: tegra20: Rename "emc" to "memory-controller"
Use a more plain english name.

Signed-off-by: Hiroshi DOYU <hdoyu@nvidia.com>
[swarren: also rename the node in tegra-seaboard.dts]
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2012-06-11 11:48:42 -06:00
Arnd Bergmann
deb88cc3c6 Merge branch 'drivers/mmc' into next/dt2
Changes in the dt2 branch move stuff around that gets changed
in the drivers/mmc branch. I chose a non-obvious resolution by
adding the new bus-width property into all the tegra sdhci device
nodes.

Conflicts:
	arch/arm/boot/dts/tegra-cardhu.dts
	arch/arm/boot/dts/tegra-harmony.dts
	arch/arm/boot/dts/tegra-ventana.dts

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2012-05-15 13:44:11 +02:00
Arnd Bergmann
7f217794ff mmc: dt: Consolidate DT bindings
This patch unifies the current DT MMC bindings documentation and code,
adds generic MMC DT bindings documentation, and updates .dts files for
consistency.

[cjb: typo fixes, addition of max-frequency property]
Signed-off-by: Chris Ball <cjb@laptop.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2012-05-15 13:29:42 +02:00
Stephen Warren
2a5fdc9add ARM: dt: tegra: invert status=disable vs status=okay
In tegra*.dtsi, set status="disable" for all HW modules that the board
design may choose not to use. Update all boards to specifically enable
any of those modules that are useful by setting status="okay".

This makes board files say which features they do use, rather than which
they don't, which feels more logical. It also makes the .dts files
slightly smaller, at least for existing content.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Olof Johansson <olof@lixom.net>
2012-05-14 10:55:23 -06:00
Stephen Warren
c04abb3a07 ARM: dt: tegra: sort nodes based on bus order
Sort the nodes according to the following rules:
* First, any overrides for properties or nodes created by included files,
  in the order they appeared in the include file.
* Second, any nodes with a reg property, in numerical order.
* Third, any nodes without a reg property, in alphabetical order of node
  name.

The second sorting rule at least will probably help if/when we need to
explicitly insert nodes for the various busses in Tegra; that will just
be an indentation change rather than also a node re-ordering.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Olof Johansson <olof@lixom.net>
2012-05-14 10:55:15 -06:00
Stephen Warren
2f32b1faa8 ARM: dt: tegra: remove duplicate device_type property
It's already specified in skeleton.dtsi, included via tegra20.dtsi.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Olof Johansson <olof@lixom.net>
2012-05-14 10:55:12 -06:00
Stephen Warren
f9eb26a4e1 ARM: dt: tegra: remove unnecessary unit addresses
DT node names only need to include the unit address if it's required to
make the node name unique. Remove the unnecessary unit addresses.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Olof Johansson <olof@lixom.net>
2012-05-14 10:55:00 -06:00
Stephen Warren
95decf8474 ARM: dt: tegra: whitespace cleanup
Consistently don't place a space after < or before >.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Olof Johansson <olof@lixom.net>
2012-05-14 10:54:55 -06:00
Stephen Warren
4b7e870590 Merge branch 'for-3.5/dt' into for-3.5/dt2-new 2012-05-14 10:48:24 -06:00
Olof Johansson
45dbe9dd2c ARM: dt: tegra seaboard: add i2c devices
Add the known i2c devices on seaboard to the i2c table.

Also rename the temperature sensor device node, and mark it as a nct1008
instead of an adt7461 (which it is -- the chips are compatible though).

Signed-off-by: Olof Johansson <olof@lixom.net>
[swarren: Removed isl29018 from patch; it's already there now. Fixed
 interrupts properties now that Tegra GPIO is an interrupt controller.
 Moved smart-battery to the correct I2C bus.]
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2012-05-03 14:49:11 -06:00
Stephen Warren
802a849948 ARM: dt: tegra seaboard: configure I2C2 pinmux
The I2C2 controller can be routed to either pingroup DDC or PTA. Seaboard
actually uses this as an I2C bus mux, and devices are connected to both
pingroups. This change statically assigns the I2C2 controller to pingroup
PTA, so that on-board devices can be accessed. The DDC pingroup is used
for EDID/DDC accesses which are not yet required, given the absence of
any Tegra graphics support. I2C muxing will be supported later.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
2012-05-03 14:49:10 -06:00
Stephen Warren
22bd1f7ef4 ARM: dt: tegra seaboard: fix I2C2 SCL rate
This I2C bus is used for EDID/DDC reads and other "slow" I2C devices.
This requires a 100KHz SCL (clock) rate.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
2012-05-03 14:49:08 -06:00
Laxman Dewangan
b46b0b54de ARM: dt: tegra: enable als and proximity sensor
Add the device info for ALS and proximity sensor for tegra
boards cardhu, ventana and seaboard.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
[swarren: s/PZ02/PZ2/ in .dts files, s/seabridge/seaboard/ in commit
 description]
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2012-05-03 14:49:07 -06:00
Stephen Warren
aa607ebf93 ARM: tegra: add USB ULPI PHY reset GPIO to device tree
ULPI PHYs have a reset signal, and different boards use a different GPIO
for this task. Add a property to device tree to represent this.

I'm not sure if adding this property to the EHCI controller node is
entirely correct; perhaps eventually we should have explicit separate
nodes for the various PHYs. However, we don't have that right now, so this
binding seems like a reasonable choice.

Cc: <devicetree-discuss@lists.ozlabs.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: <linux-usb@vger.kernel.org>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2012-04-25 15:22:09 -06:00
Stephen Warren
ecc295bbab ARM: dt: tegra20: add pinmux to device tree
This adds a complete pinmux configuration to all Tegra20 device tree
files. This allows removal of board-dt-tegra20.c's use of the pinmux
board files, and the special device tree handling in board-pinmux.c.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Olof Johansson <olof@lixom.net>
2012-04-18 10:26:39 -06:00
Simon Glass
0a428036df arm: tegra: dts: Mark USB1 as an OTG port on Seaboard
The USB1 port on Tegra2 supports operation in host or device modes. On
Seaboard this is possible, so mark the port as OTG.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Stephen Warren <swarren@wwwdotorg.org>
Signed-off-by: Olof Johansson <olof@lixom.net>
2012-03-07 14:36:56 -08:00
Stephen Warren
797acf705b ARM: dt: tegra: Enable audio on WM8903 boards, disable others
Add complete bindings to instantiate and configure the codec and
top-level audio complex on all currently supported boards using the
Tegra+WM8903 audio driver.

On those boards, disable the I2S2 controller since it isn't used.

On boards not using the WM8903 codec, disable all the audio devices;
they can be re-enabled once the relevant codec and ASoC machine drivers
have been ported to device-tree.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2012-02-06 18:21:21 -08:00
Olof Johansson
d8017a975c ARM: tegra: seaboard: add EMC table to device tree
Timings for the T25 version of seaboard, only one memory manufacturer
and timing table (two speeds).

Signed-off-by: Olof Johansson <olof@lixom.net>
2012-02-06 18:21:18 -08:00
Stephen Warren
f0d143065c arm/tegra: Seaboard: Add GPIO key device tree nodes
This brings all the GPIO key definitions from board-seaboard.c into
tegra-seaboard.dtsi.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2011-12-19 17:59:21 -08:00
Stephen Warren
401c9a50e7 arm/dt: Add ADT7461 to Seaboard
The ADT7461 is a temperature monitoring IC. One is present on the DVC
I2C bus on Seaboard.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2011-12-19 17:54:54 -08:00
Stephen Warren
1292c12959 arm/dt: tegra: Fix SDHCI nodes to match board files
Mark any SDHCI controllers that aren't registered by the board files as
disabled in the device-tree files.

In practice, these controllers:

* Have nothing hooked up to them at all, or
* For ports intended for SDIO usage, the drivers for anything that might
  be attached are not in the device-tree yet. If/when drivers appear, the
  SD/MMC port can be re-enabled.

The only possible exception is TrimSlice's mico SD slot, but that wasn't
enabled in the board files before anyway, and doesn't work when all the
SDHCI controllers are enabled anyway.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2011-12-07 20:48:06 -08:00
Stephen Warren
31c1ec9282 arm/dt: tegra: Fix serial nodes to match board files
Mark any serial ports that aren't registered by the board files as disabled
in the device-tree files.

In practice, none of the now-disabled ports ended up succeeding device
probing because of the missing clock-frequency property. However,
explicitly marking the devices disabled has the advantage of squashing
the dev_warn() the failed probe causes, and documenting that we intend
the port not to be used, rather than accidentally left out the property.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2011-12-07 20:48:05 -08:00
Stephen Warren
88950f3b6d arm/dt: tegra: Fix I2C nodes to match board files
With board files, all I2C busses run at 400KHz. Fix the device-tree
to be consistent with this. It's possible this is incorrect, but at
least it keeps the board files and device-tree consistent.

Also, disable any I2C controllers that the board files don't register,
also for consistency.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2011-12-07 20:48:04 -08:00
Stephen Warren
492f204da8 arm/dt: tegra: Remove /chosen node
The command-lines present in the existing /chosen node are not necessarily
correct for all users. Ideally, we should simply use the command-line
supplied by the boot-loader.

In fact, using the boot-loader's cmdline is quite easy; either the
bootloader fully supports DT, in which case it can modify the DT passed
to the kernel to include its command-line, or CONFIG_APPENDED_DTB can
be used in conjunction with CONFIG_ARM_ATAG_DTB_COMPAT, and the kernel
will substitute the bootloader's command-line into the DT.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2011-12-07 20:48:03 -08:00
Stephen Warren
5a85426506 arm/dt: tegra: Remove /memreserve/ from device-tree files
There are no drivers in the kernel at present which can make use of the
memory reserved by /memreserve/, so there is no point reserving it. Remove
/memreserve/ to allow the user more memory. It's also unclear whether any
future driver would actually require /memreserve/, or allocate memory
through some other mechanism.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2011-12-07 20:48:02 -08:00
Olof Johansson
c27317c0ed arm/dt: add basic usb nodes to tegra device trees
For now they are a minimal binding. It needs to be amended with
vendor-specific settings for phy setup and link tuning, etc.

v2: Added bindings specification and phy_type properties

Signed-off-by: Olof Johansson <olof@lixom.net>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Acked-by: Stephen Warren <swarren@nvidia.com>
2011-12-07 20:47:47 -08:00
Stephen Warren
6111d50c58 arm/dt: Tegra: Add support-8bit to SDHCI nodes
For Seaboard's internal eMMC, this makes the difference between a
5.5MB/s and 10.2MB/s transfer rate. On Harmony, there wasn't any
measurable difference on my cheap/slow ~2MB/s card.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2011-09-22 14:44:28 +00:00
Stephen Warren
a0638eb6a2 arm/dt: Tegra: Update SDHCI nodes to match bindings
The bindings were recently updated to have separate properties for each
type of GPIO. Update the Device Tree source to match that.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2011-09-20 22:56:53 +02:00
Grant Likely
8e267f3da5 arm/dt: tegra devicetree support
Everything required to populate NVIDIA Tegra devices from the device
tree.  This patch adds a new DT_MACHINE_DESC() which matches against
a tegra20 device tree.  So far it only registers the on-chip devices,
but it will be refined in follow on patches to configure clocks and
pin IO from the device tree also.

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
2011-07-28 01:32:04 -06:00