Thread (6 messages) 6 messages, 2 authors, 2014-06-02

[PATCH 3/3] arm: tegra: initial support for apalis t30

From: Stephen Warren <hidden>
Date: 2014-06-02 16:26:49
Also in: linux-devicetree, linux-tegra, lkml

On 06/01/2014 05:37 PM, Marcel Ziswiler wrote:
This patch adds the device tree to support Toradex Apalis T30, a
computer on module which can be used on different carrier boards.

The module consists of a Tegra 3 SoC, two PMICs, 1 or 2 GB of DDR3L
RAM, eMMC, an LM95245 temperature sensor chip, an i210 resp. i211
gigabit Ethernet controller, an STMPE811 ADC/touch controller as well
as two MCP2515 CAN controllers. Furthermore, there is an SGTL5000 audio
codec which is not yet supported. Anything that is not self contained
on the module is disabled by default.

The device tree for the Evaluation Board includes the modules device
tree and enables the supported peripherals of the carrier board (the
Evaluation Board supports almost all of them).

While at it also add the device tree binding documentation for Apalis
T30 as well as the previously missing one for the recently added
Colibri T30.
quoted hunk ↗ jump to hunk
diff --git a/Documentation/devicetree/bindings/arm/tegra.txt b/Documentation/devicetree/bindings/arm/tegra.txt
+  toradex,colibri_t30
+  toradex,colibri_t30-eval-v3
Those don't seem to be related to Apalis support.
quoted hunk ↗ jump to hunk
diff --git a/arch/arm/boot/dts/tegra30-apalis-eval.dts b/arch/arm/boot/dts/tegra30-apalis-eval.dts
+	host1x at 50000000 {
+		dc at 54200000 {
+			rgb {
+				status = "okay";
+				nvidia,panel = <&panel>;
+			};
+		};
+		hdmi at 54280000 {
Nit: Add a blank line between the nodes. Check elsewhere too.
quoted hunk ↗ jump to hunk
+	serial at 70006040 {
+		compatible = "nvidia,tegra30-hsuart";
+		status = "okay";
+	};
Nit: Put the status property first followed by new/overridden
properties, to be consistent with other Tegra DTs. Check elsewhere too.
quoted hunk ↗ jump to hunk
+	/* SPI1: Apalis SPI1 */
+	spi at 7000d400 {
+		status = "okay";
+		spi-max-frequency = <25000000>;
+		spidev0: spidev at 1 {
Nit: Add a blank line between properties and nodes. Check elsewhere too.
+	sd1: sdhci at 78000000 {
...
+	mmc1: sdhci at 78000400 {
Do those nodes really need labels? Nothing appears to reference them,
and I can't see why anything would.

Should the mmc1 node be non-removable? It seems a bit odd for a
removable device to have an 8-bit data bus.
quoted hunk ↗ jump to hunk
+	backlight: backlight {
+		compatible = "pwm-backlight";
+
+		/* PWM0 */
Nit: No need for a blank line between a bunch of related properties.
Check elsewhere too.
quoted hunk ↗ jump to hunk
+	pwmleds {
+		compatible = "pwm-leds";
+
+		pwm3 {
+			label = "PWM3";
+			pwms = <&pwm 1 19600>;
+			max-brightness = <255>;
+		};
+		pwm2 {
+			label = "PWM2";
+			pwms = <&pwm 2 19600>;
+			max-brightness = <255>;
+		};
+		pwm1 {
+			label = "PWM1";
+			pwms = <&pwm 3 19600>;
+			max-brightness = <255>;
+		};
Nit: Why not sort those nodes in numerical order?
+	regulators {
+		sys_5v0_reg: regulator at 1 {
Nit: Why not start the numbering at 0?
quoted hunk ↗ jump to hunk
diff --git a/arch/arm/boot/dts/tegra30-apalis.dtsi b/arch/arm/boot/dts/tegra30-apalis.dtsi
quoted hunk ↗ jump to hunk
+	pinmux at 70000868 {
+		pinctrl-names = "default";
+		pinctrl-0 = <&state_default>;
+
+		state_default: pinmux {
It might make sense to add all the pinmux data to
https://github.com/NVIDIA/tegra-pinmux-scripts, so that both the kernel
and U-Boot pinmux initialization tables can be auto-generated from a
single data-structure. I think that'll get a small amount of
error-/consistency-checking of the data too.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help