linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/4] mvebu support for kirkwood HP T5325
@ 2014-02-23 17:19 Andrew Lunn
  2014-02-23 17:19 ` [PATCH 1/4] ARM: Kirkwood: Add audio node to kirkwood.dtsi Andrew Lunn
                   ` (3 more replies)
  0 siblings, 4 replies; 10+ messages in thread
From: Andrew Lunn @ 2014-02-23 17:19 UTC (permalink / raw)
  To: linux-arm-kernel

This patchset adds support to mvebu for the HP T5325 thin client.
This is the first kirkwood device using device tree which supports
audio. However the audio codec is missing a device tree binding, and
simple-audio-card does not yet quite support all the properties needed
for this hardware. So C code is used for the audio devices.

Andrew Lunn (4):
  ARM: Kirkwood: Add audio node to kirkwood.dtsi
  ARM: mvebu: Add i2c alias so setting bus number
  ARM: mvebu: Add HP T5325 thin client
  ARM: mvebu: Add HP T5325 devices to {multi|mvebu}_v5_defconfig

 arch/arm/boot/dts/Makefile           |   1 +
 arch/arm/boot/dts/kirkwood-t5325.dts | 209 +++++++++++++++++++++++++++++++++++
 arch/arm/boot/dts/kirkwood.dtsi      |  12 +-
 arch/arm/configs/multi_v5_defconfig  |   9 ++
 arch/arm/configs/mvebu_v5_defconfig  |   9 ++
 arch/arm/mach-mvebu/Kconfig          |   7 ++
 arch/arm/mach-mvebu/Makefile         |   1 +
 arch/arm/mach-mvebu/board-t5325.c    |  41 +++++++
 arch/arm/mach-mvebu/board.h          |  22 ++++
 arch/arm/mach-mvebu/kirkwood.c       |  11 +-
 10 files changed, 320 insertions(+), 2 deletions(-)
 create mode 100644 arch/arm/boot/dts/kirkwood-t5325.dts
 create mode 100644 arch/arm/mach-mvebu/board-t5325.c
 create mode 100644 arch/arm/mach-mvebu/board.h

-- 
1.8.5.3

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH 1/4] ARM: Kirkwood: Add audio node to kirkwood.dtsi
  2014-02-23 17:19 [PATCH 0/4] mvebu support for kirkwood HP T5325 Andrew Lunn
@ 2014-02-23 17:19 ` Andrew Lunn
  2014-02-23 17:31   ` Thomas Petazzoni
  2014-02-23 17:34   ` Sergei Shtylyov
  2014-02-23 17:19 ` [PATCH 2/4] ARM: mvebu: Add i2c alias so setting bus number Andrew Lunn
                   ` (2 subsequent siblings)
  3 siblings, 2 replies; 10+ messages in thread
From: Andrew Lunn @ 2014-02-23 17:19 UTC (permalink / raw)
  To: linux-arm-kernel

The binding has existed for a while, so add the missing node so it can
be used by devices.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
---
 arch/arm/boot/dts/kirkwood.dtsi | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/arch/arm/boot/dts/kirkwood.dtsi b/arch/arm/boot/dts/kirkwood.dtsi
index 7b921b30cfcb..841ca3affbf5 100644
--- a/arch/arm/boot/dts/kirkwood.dtsi
+++ b/arch/arm/boot/dts/kirkwood.dtsi
@@ -310,5 +310,14 @@
 			#phy-cells = <0>;
 			status = "ok";
 		};
+
+                audio0: audio-controller at a0000 {
+			compatible = "marvell,kirkwood-audio";
+                        reg = <0xa0000 0x2210>;
+                        interrupts = <24>;
+                        clocks = <&gate_clk 9>;
+                        clock-names = "internal";
+                        status = "disabled";
+                };
 	};
 };
-- 
1.8.5.3

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 2/4] ARM: mvebu: Add i2c alias so setting bus number
  2014-02-23 17:19 [PATCH 0/4] mvebu support for kirkwood HP T5325 Andrew Lunn
  2014-02-23 17:19 ` [PATCH 1/4] ARM: Kirkwood: Add audio node to kirkwood.dtsi Andrew Lunn
@ 2014-02-23 17:19 ` Andrew Lunn
  2014-02-23 17:19 ` [PATCH 3/4] ARM: mvebu: Add HP T5325 thin client Andrew Lunn
  2014-02-23 17:19 ` [PATCH 4/4] ARM: mvebu: Add HP T5325 devices to {multi|mvebu}_v5_defconfig Andrew Lunn
  3 siblings, 0 replies; 10+ messages in thread
From: Andrew Lunn @ 2014-02-23 17:19 UTC (permalink / raw)
  To: linux-arm-kernel

When using platform_driver instantiation, the i2c bus was given bus
number 0. The kirkwood-t5325 audio driver has this bus number hard
coded for the address of the codec. However by default device tree i2c
busses are dynamically allocated a bus number, starting from 1. Thus
the kirkwood-t5325 cannot find its audio codec. By adding an alias in
the DT file we can control the bus number and set it to 0. The codec
can then be found.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
---
 arch/arm/boot/dts/kirkwood.dtsi | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/kirkwood.dtsi b/arch/arm/boot/dts/kirkwood.dtsi
index 841ca3affbf5..ae63c7ad751e 100644
--- a/arch/arm/boot/dts/kirkwood.dtsi
+++ b/arch/arm/boot/dts/kirkwood.dtsi
@@ -24,6 +24,7 @@
 	aliases {
 	       gpio0 = &gpio0;
 	       gpio1 = &gpio1;
+	       i2c0 = &i2c0;
 	};
 
 	mbus {
@@ -111,7 +112,7 @@
 			clocks = <&gate_clk 7>;
 		};
 
-		i2c at 11000 {
+		i2c0: i2c at 11000 {
 			compatible = "marvell,mv64xxx-i2c";
 			reg = <0x11000 0x20>;
 			#address-cells = <1>;
-- 
1.8.5.3

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 3/4] ARM: mvebu: Add HP T5325 thin client
  2014-02-23 17:19 [PATCH 0/4] mvebu support for kirkwood HP T5325 Andrew Lunn
  2014-02-23 17:19 ` [PATCH 1/4] ARM: Kirkwood: Add audio node to kirkwood.dtsi Andrew Lunn
  2014-02-23 17:19 ` [PATCH 2/4] ARM: mvebu: Add i2c alias so setting bus number Andrew Lunn
@ 2014-02-23 17:19 ` Andrew Lunn
  2014-02-23 17:30   ` Jason Cooper
  2014-02-23 17:34   ` Thomas Petazzoni
  2014-02-23 17:19 ` [PATCH 4/4] ARM: mvebu: Add HP T5325 devices to {multi|mvebu}_v5_defconfig Andrew Lunn
  3 siblings, 2 replies; 10+ messages in thread
From: Andrew Lunn @ 2014-02-23 17:19 UTC (permalink / raw)
  To: linux-arm-kernel

Convert the kirkwood t5325-setup.c to mostly device tree for
mach-mvebu. Part of the audio setup needs to remain in C for the
moment until suitable bindings are designed and implemented. So add
board code, triggered by the compatibility string.

The first version of the dts file was created by Thomas Petazzoni.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
---
 arch/arm/boot/dts/Makefile           |   1 +
 arch/arm/boot/dts/kirkwood-t5325.dts | 209 +++++++++++++++++++++++++++++++++++
 arch/arm/mach-mvebu/Kconfig          |   7 ++
 arch/arm/mach-mvebu/Makefile         |   1 +
 arch/arm/mach-mvebu/board-t5325.c    |  41 +++++++
 arch/arm/mach-mvebu/board.h          |  22 ++++
 arch/arm/mach-mvebu/kirkwood.c       |  11 +-
 7 files changed, 291 insertions(+), 1 deletion(-)
 create mode 100644 arch/arm/boot/dts/kirkwood-t5325.dts
 create mode 100644 arch/arm/mach-mvebu/board-t5325.c
 create mode 100644 arch/arm/mach-mvebu/board.h

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 436cc381db4a..20c152faa800 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -132,6 +132,7 @@ kirkwood := \
 	kirkwood-rs411.dtb \
 	kirkwood-sheevaplug.dtb \
 	kirkwood-sheevaplug-esata.dtb \
+	kirkwood-t5325.dtb \
 	kirkwood-topkick.dtb \
 	kirkwood-ts219-6281.dtb \
 	kirkwood-ts219-6282.dtb \
diff --git a/arch/arm/boot/dts/kirkwood-t5325.dts b/arch/arm/boot/dts/kirkwood-t5325.dts
new file mode 100644
index 000000000000..07b0146f31da
--- /dev/null
+++ b/arch/arm/boot/dts/kirkwood-t5325.dts
@@ -0,0 +1,209 @@
+/*
+ * Device Tree file for HP t5325 Thin Client"
+ *
+ * Copyright (C) 2014
+ *
+ * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+ * Andrew Lunn <andrew@lunn.ch>
+ *
+ * This file is licensed under the terms of the GNU General Public
+ * License version 2.  This program is licensed "as is" without any
+ * warranty of any kind, whether express or implied.
+*/
+
+/dts-v1/;
+
+#include "kirkwood.dtsi"
+#include "kirkwood-6281.dtsi"
+
+/ {
+	model = "HP t5325 Thin Client";
+	compatible = "hp,t5325", "marvell,kirkwood-88f6281", "marvell,kirkwood";
+
+	memory {
+		device_type = "memory";
+		reg = <0x00000000 0x20000000>;
+	};
+
+	chosen {
+		bootargs = "console=ttyS0,115200n8";
+	};
+
+	mbus {
+		pcie-controller {
+			status = "okay";
+
+			pcie at 1,0 {
+				status = "okay";
+			};
+		};
+	};
+
+	ocp at f1000000 {
+		pinctrl: pinctrl at 10000 {
+			pinctrl-0 = <&pmx_i2s &pmx_sysrst>;
+			pinctrl-names = "default";
+
+			pmx_button_power: pmx-button_power {
+				marvell,pins = "mpp45";
+				marvell,function = "gpio";
+			};
+
+			pmx_power_off: pmx-power-off {
+				marvell,pins = "mpp48";
+				marvell,function = "gpio";
+			};
+
+			pmx_led: pmx-led {
+				marvell,pins = "mpp21";
+				marvell,function = "gpio";
+			};
+
+			pmx_usb_sata_power_enable: pmx-usb-sata-power-enable {
+				marvell,pins = "mpp44";
+				marvell,function = "gpio";
+			};
+
+			/*
+                         * Redefined from kirkwood-6281.dtsi, because
+			 * we don't use SPI CS on MPP0, but on MPP7.
+			 */
+			pmx_spi: pmx-spi {
+				marvell,pins = "mpp1", "mpp2", "mpp3", "mpp7";
+				marvell,function = "spi";
+			};
+
+			pmx_sysrst: pmx-sysrst {
+				marvell,pins = "mpp6";
+				marvell,function = "sysrst";
+			};
+
+			pmx_i2s: pmx-i2s {
+				marvell,pins = "mpp39", "mpp40", "mpp41", "mpp42",
+					       "mpp43";
+				marvell,function = "audio";
+			};
+		};
+
+		spi at 10600 {
+			pinctrl-0 = <&pmx_spi>;
+			pinctrl-names = "default";
+			status = "okay";
+
+			flash at 0 {
+				#address-cells = <1>;
+				#size-cells = <1>;
+				compatible = "st,m25p80";
+				spi-max-frequency = <86000000>;
+				reg = <0>;
+				mode = <0>;
+
+				partition at 0 {
+					reg = <0x0 0x80000>;
+					label = "u-boot";
+				};
+
+				partition at 1 {
+					reg = <0x80000 0x40000>;
+					label = "SSD firmware";
+				};
+
+				partition at 2 {
+					reg = <0xc0000 0x10000>;
+					label = "u-boot env";
+				};
+
+				partition at 3 {
+					reg = <0xd0000 0x10000>;
+					label = "permanent u-boot env";
+				};
+
+				partition at 4 {
+					reg = <0xd0000 0x10000>;
+					label = "permanent u-boot env";
+				};
+			};
+		};
+
+		i2c at 11000 {
+			status = "okay";
+
+			alc5621: alc5621 at 1a {
+				compatible = "realtek,alc5621";
+				reg = <0x1a>;
+			};
+		};
+
+		serial at 12000 {
+			status = "okay";
+		};
+
+		sata at 80000 {
+			status = "okay";
+			nr-ports = <2>;
+		};
+
+		audio: audio-controller at a0000 {
+			status = "okay";
+		};
+	};
+
+	regulators {
+		compatible = "simple-bus";
+		#address-cells = <1>;
+		#size-cells = <0>;
+		pinctrl-0 = <&pmx_usb_sata_power_enable>;
+		pinctrl-names = "default";
+
+		usb_power: regulator at 1 {
+			compatible = "regulator-fixed";
+			reg = <1>;
+			regulator-name = "USB-SATA Power";
+			regulator-min-microvolt = <5000000>;
+			regulator-max-microvolt = <5000000>;
+			enable-active-high;
+			regulator-always-on;
+			regulator-boot-on;
+			gpio = <&gpio1 12 GPIO_ACTIVE_HIGH>;
+		};
+	};
+
+	gpio_keys {
+		compatible = "gpio-keys";
+		#address-cells = <1>;
+		#size-cells = <0>;
+		pinctrl-0 = <&pmx_button_power>;
+		pinctrl-names = "default";
+
+		button at 1 {
+			label = "Power Button";
+			linux,code = < KEY_POWER >;
+			gpios = <&gpio1 13 GPIO_ACTIVE_HIGH>;
+		};
+	};
+
+	gpio_poweroff {
+		compatible = "gpio-poweroff";
+		pinctrl-0 = <&pmx_power_off>;
+		pinctrl-names = "default";
+		gpios = <&gpio1 17 GPIO_ACTIVE_HIGH>;
+	};
+
+};
+
+&mdio {
+	status = "okay";
+
+	ethphy0: ethernet-phy {
+		device_type = "ethernet-phy";
+                reg = <8>;
+	};
+};
+
+&eth0 {
+	status = "okay";
+	ethernet0-port at 0 {
+		phy-handle = <&ethphy0>;
+	};
+};
+
diff --git a/arch/arm/mach-mvebu/Kconfig b/arch/arm/mach-mvebu/Kconfig
index 529f9164a8ca..f6e928c97a01 100644
--- a/arch/arm/mach-mvebu/Kconfig
+++ b/arch/arm/mach-mvebu/Kconfig
@@ -92,6 +92,13 @@ config MACH_KIRKWOOD
 	  Say 'Y' here if you want your kernel to support boards based
 	  on the Marvell Kirkwood device tree.
 
+config MACH_T5325
+	bool "HP T5325 thin client"
+	depends on MACH_KIRKWOOD
+	help
+	 Say 'Y' here if you want your kernel to support the
+	 HP T5325 Thin client
+
 endmenu
 
 endif
diff --git a/arch/arm/mach-mvebu/Makefile b/arch/arm/mach-mvebu/Makefile
index d7672f1c8a6a..bbeb41ee3e75 100644
--- a/arch/arm/mach-mvebu/Makefile
+++ b/arch/arm/mach-mvebu/Makefile
@@ -9,3 +9,4 @@ obj-$(CONFIG_ARCH_MVEBU)	 += coherency.o coherency_ll.o pmsu.o
 obj-$(CONFIG_SMP)                += platsmp.o headsmp.o
 obj-$(CONFIG_HOTPLUG_CPU)        += hotplug.o
 obj-$(CONFIG_MACH_KIRKWOOD)	 += kirkwood.o kirkwood-pm.o
+obj-$(CONFIG_MACH_T5325)	 += board-t5325.o
diff --git a/arch/arm/mach-mvebu/board-t5325.c b/arch/arm/mach-mvebu/board-t5325.c
new file mode 100644
index 000000000000..65ace6db9f28
--- /dev/null
+++ b/arch/arm/mach-mvebu/board-t5325.c
@@ -0,0 +1,41 @@
+/*
+ * HP T5325 Board Setup
+ *
+ * Copyright (C) 2014
+ *
+ * Andrew Lunn <andrew@lunn.ch>
+ *
+ * This file is licensed under the terms of the GNU General Public
+ * License version 2.  This program is licensed "as is" without any
+ * warranty of any kind, whether express or implied.
+ */
+
+#include <linux/kernel.h>
+#include <linux/i2c.h>
+#include <linux/init.h>
+#include <linux/platform_device.h>
+#include <sound/alc5623.h>
+#include "board.h"
+
+static struct platform_device hp_t5325_audio_device = {
+	.name		= "t5325-audio",
+	.id		= -1,
+};
+
+static struct alc5623_platform_data alc5621_data = {
+	.add_ctrl = 0x3700,
+	.jack_det_ctrl = 0x4810,
+};
+
+static struct i2c_board_info i2c_board_info[] __initdata = {
+	{
+		I2C_BOARD_INFO("alc5621", 0x1a),
+		.platform_data = &alc5621_data,
+	},
+};
+
+void __init t5325_init(void)
+{
+	i2c_register_board_info(0, i2c_board_info, ARRAY_SIZE(i2c_board_info));
+	platform_device_register(&hp_t5325_audio_device);
+}
diff --git a/arch/arm/mach-mvebu/board.h b/arch/arm/mach-mvebu/board.h
new file mode 100644
index 000000000000..de7f0a191394
--- /dev/null
+++ b/arch/arm/mach-mvebu/board.h
@@ -0,0 +1,22 @@
+/*
+ * Board functions for Marvell System On Chip
+ *
+ * Copyright (C) 2014
+ *
+ * Andrew Lunn <andrew@lunn.ch>
+ *
+ * This file is licensed under the terms of the GNU General Public
+ * License version 2.  This program is licensed "as is" without any
+ * warranty of any kind, whether express or implied.
+ */
+
+#ifndef __ARCH_MVEBU_BOARD_H
+#define __ARCH_MVEBU_BOARD_H
+
+#ifdef CONFIG_MACH_T5325
+void t5325_init(void);
+#else
+static inline void t5325_init(void) {};
+#endif
+
+#endif
diff --git a/arch/arm/mach-mvebu/kirkwood.c b/arch/arm/mach-mvebu/kirkwood.c
index 8a38b10532e5..120207fc36f1 100644
--- a/arch/arm/mach-mvebu/kirkwood.c
+++ b/arch/arm/mach-mvebu/kirkwood.c
@@ -25,6 +25,7 @@
 #include "kirkwood.h"
 #include "kirkwood-pm.h"
 #include "common.h"
+#include "board.h"
 
 static struct resource kirkwood_cpufreq_resources[] = {
 	[0] = {
@@ -158,6 +159,11 @@ void kirkwood_disable_mbus_error_propagation(void)
 	writel(readl(cpu_config) & ~CPU_CONFIG_ERROR_PROP, cpu_config);
 }
 
+static struct of_dev_auxdata auxdata[] __initdata = {
+	OF_DEV_AUXDATA("marvell,kirkwood-audio", 0xf10a0000,
+		       "mvebu-audio", NULL),
+	{ /* sentinel */ }
+};
 
 static void __init kirkwood_dt_init(void)
 {
@@ -174,7 +180,10 @@ static void __init kirkwood_dt_init(void)
 	kirkwood_pm_init();
 	kirkwood_dt_eth_fixup();
 
-	of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
+	if (of_machine_is_compatible("hp,t5325"))
+		t5325_init();
+
+	of_platform_populate(NULL, of_default_bus_match_table, auxdata, NULL);
 }
 
 static const char * const kirkwood_dt_board_compat[] = {
-- 
1.8.5.3

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 4/4] ARM: mvebu: Add HP T5325 devices to {multi|mvebu}_v5_defconfig
  2014-02-23 17:19 [PATCH 0/4] mvebu support for kirkwood HP T5325 Andrew Lunn
                   ` (2 preceding siblings ...)
  2014-02-23 17:19 ` [PATCH 3/4] ARM: mvebu: Add HP T5325 thin client Andrew Lunn
@ 2014-02-23 17:19 ` Andrew Lunn
  2014-02-23 17:33   ` Jason Cooper
  3 siblings, 1 reply; 10+ messages in thread
From: Andrew Lunn @ 2014-02-23 17:19 UTC (permalink / raw)
  To: linux-arm-kernel

The HP T5325 has a PCI based VGA controller. Add the frame buffer
driver, and frame buffer support to the defconfig's. Additionally
add the soc audio framework and the necessary codec.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
---
 arch/arm/configs/multi_v5_defconfig | 9 +++++++++
 arch/arm/configs/mvebu_v5_defconfig | 9 +++++++++
 2 files changed, 18 insertions(+)

diff --git a/arch/arm/configs/multi_v5_defconfig b/arch/arm/configs/multi_v5_defconfig
index 2bc1e1707930..84ba24a0ead7 100644
--- a/arch/arm/configs/multi_v5_defconfig
+++ b/arch/arm/configs/multi_v5_defconfig
@@ -11,6 +11,7 @@ CONFIG_MODULE_UNLOAD=y
 # CONFIG_ARCH_MULTI_V7 is not set
 CONFIG_ARCH_MVEBU=y
 CONFIG_MACH_KIRKWOOD=y
+CONFIG_MACH_T5325=y
 CONFIG_ARCH_MXC=y
 CONFIG_MACH_IMX25_DT=y
 CONFIG_MACH_IMX27_DT=y
@@ -101,6 +102,12 @@ CONFIG_THERMAL=y
 CONFIG_KIRKWOOD_THERMAL=y
 CONFIG_WATCHDOG=y
 CONFIG_ORION_WATCHDOG=y
+CONFIG_FB=y
+CONFIG_SOUND=y
+CONFIG_SND=y
+CONFIG_SND_SOC=y
+CONFIG_SND_KIRKWOOD_SOC=y
+CONFIG_SND_KIRKWOOD_SOC_T5325=y
 # CONFIG_ABX500_CORE is not set
 CONFIG_REGULATOR=y
 CONFIG_REGULATOR_FIXED_VOLTAGE=y
@@ -150,6 +157,8 @@ CONFIG_RTC_DRV_S35390A=y
 CONFIG_RTC_DRV_MV=y
 CONFIG_DMADEVICES=y
 CONFIG_MV_XOR=y
+CONFIG_STAGING=y
+CONFIG_FB_XGI=y
 CONFIG_EXT2_FS=y
 CONFIG_EXT3_FS=y
 # CONFIG_EXT3_FS_XATTR is not set
diff --git a/arch/arm/configs/mvebu_v5_defconfig b/arch/arm/configs/mvebu_v5_defconfig
index 2844636c0cf2..36484a37a1ca 100644
--- a/arch/arm/configs/mvebu_v5_defconfig
+++ b/arch/arm/configs/mvebu_v5_defconfig
@@ -11,6 +11,7 @@ CONFIG_MODULE_UNLOAD=y
 # CONFIG_ARCH_MULTI_V7 is not set
 CONFIG_ARCH_MVEBU=y
 CONFIG_MACH_KIRKWOOD=y
+CONFIG_MACH_T5325=y
 # CONFIG_CPU_FEROCEON_OLD_ID is not set
 CONFIG_PCI_MVEBU=y
 CONFIG_PREEMPT=y
@@ -93,6 +94,12 @@ CONFIG_SENSORS_LM85=y
 CONFIG_THERMAL=y
 CONFIG_WATCHDOG=y
 CONFIG_ORION_WATCHDOG=y
+CONFIG_FB=y
+CONFIG_SOUND=y
+CONFIG_SND=y
+CONFIG_SND_SOC=y
+CONFIG_SND_KIRKWOOD_SOC=y
+CONFIG_SND_KIRKWOOD_SOC_T5325=y
 CONFIG_REGULATOR=y
 CONFIG_REGULATOR_FIXED_VOLTAGE=y
 CONFIG_HID_DRAGONRISE=y
@@ -137,6 +144,8 @@ CONFIG_RTC_DRV_S35390A=y
 CONFIG_RTC_DRV_MV=y
 CONFIG_DMADEVICES=y
 CONFIG_MV_XOR=y
+CONFIG_STAGING=y
+CONFIG_FB_XGI=y
 CONFIG_EXT2_FS=y
 CONFIG_EXT3_FS=y
 # CONFIG_EXT3_FS_XATTR is not set
-- 
1.8.5.3

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 3/4] ARM: mvebu: Add HP T5325 thin client
  2014-02-23 17:19 ` [PATCH 3/4] ARM: mvebu: Add HP T5325 thin client Andrew Lunn
@ 2014-02-23 17:30   ` Jason Cooper
  2014-02-23 17:34   ` Thomas Petazzoni
  1 sibling, 0 replies; 10+ messages in thread
From: Jason Cooper @ 2014-02-23 17:30 UTC (permalink / raw)
  To: linux-arm-kernel

On Sun, Feb 23, 2014 at 06:19:41PM +0100, Andrew Lunn wrote:
> Convert the kirkwood t5325-setup.c to mostly device tree for
> mach-mvebu. Part of the audio setup needs to remain in C for the
> moment until suitable bindings are designed and implemented. So add
> board code, triggered by the compatibility string.
> 
> The first version of the dts file was created by Thomas Petazzoni.
> 
> Signed-off-by: Andrew Lunn <andrew@lunn.ch>
> ---
>  arch/arm/boot/dts/Makefile           |   1 +
>  arch/arm/boot/dts/kirkwood-t5325.dts | 209 +++++++++++++++++++++++++++++++++++

Please split this in two.  dts|mach-mvebu

thx,

Jason.

>  arch/arm/mach-mvebu/Kconfig          |   7 ++
>  arch/arm/mach-mvebu/Makefile         |   1 +
>  arch/arm/mach-mvebu/board-t5325.c    |  41 +++++++
>  arch/arm/mach-mvebu/board.h          |  22 ++++
>  arch/arm/mach-mvebu/kirkwood.c       |  11 +-
>  7 files changed, 291 insertions(+), 1 deletion(-)
>  create mode 100644 arch/arm/boot/dts/kirkwood-t5325.dts
>  create mode 100644 arch/arm/mach-mvebu/board-t5325.c
>  create mode 100644 arch/arm/mach-mvebu/board.h
> 
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index 436cc381db4a..20c152faa800 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -132,6 +132,7 @@ kirkwood := \
>  	kirkwood-rs411.dtb \
>  	kirkwood-sheevaplug.dtb \
>  	kirkwood-sheevaplug-esata.dtb \
> +	kirkwood-t5325.dtb \
>  	kirkwood-topkick.dtb \
>  	kirkwood-ts219-6281.dtb \
>  	kirkwood-ts219-6282.dtb \
> diff --git a/arch/arm/boot/dts/kirkwood-t5325.dts b/arch/arm/boot/dts/kirkwood-t5325.dts
> new file mode 100644
> index 000000000000..07b0146f31da
> --- /dev/null
> +++ b/arch/arm/boot/dts/kirkwood-t5325.dts
> @@ -0,0 +1,209 @@
> +/*
> + * Device Tree file for HP t5325 Thin Client"
> + *
> + * Copyright (C) 2014
> + *
> + * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> + * Andrew Lunn <andrew@lunn.ch>
> + *
> + * This file is licensed under the terms of the GNU General Public
> + * License version 2.  This program is licensed "as is" without any
> + * warranty of any kind, whether express or implied.
> +*/
> +
> +/dts-v1/;
> +
> +#include "kirkwood.dtsi"
> +#include "kirkwood-6281.dtsi"
> +
> +/ {
> +	model = "HP t5325 Thin Client";
> +	compatible = "hp,t5325", "marvell,kirkwood-88f6281", "marvell,kirkwood";
> +
> +	memory {
> +		device_type = "memory";
> +		reg = <0x00000000 0x20000000>;
> +	};
> +
> +	chosen {
> +		bootargs = "console=ttyS0,115200n8";
> +	};
> +
> +	mbus {
> +		pcie-controller {
> +			status = "okay";
> +
> +			pcie at 1,0 {
> +				status = "okay";
> +			};
> +		};
> +	};
> +
> +	ocp at f1000000 {
> +		pinctrl: pinctrl at 10000 {
> +			pinctrl-0 = <&pmx_i2s &pmx_sysrst>;
> +			pinctrl-names = "default";
> +
> +			pmx_button_power: pmx-button_power {
> +				marvell,pins = "mpp45";
> +				marvell,function = "gpio";
> +			};
> +
> +			pmx_power_off: pmx-power-off {
> +				marvell,pins = "mpp48";
> +				marvell,function = "gpio";
> +			};
> +
> +			pmx_led: pmx-led {
> +				marvell,pins = "mpp21";
> +				marvell,function = "gpio";
> +			};
> +
> +			pmx_usb_sata_power_enable: pmx-usb-sata-power-enable {
> +				marvell,pins = "mpp44";
> +				marvell,function = "gpio";
> +			};
> +
> +			/*
> +                         * Redefined from kirkwood-6281.dtsi, because
> +			 * we don't use SPI CS on MPP0, but on MPP7.
> +			 */
> +			pmx_spi: pmx-spi {
> +				marvell,pins = "mpp1", "mpp2", "mpp3", "mpp7";
> +				marvell,function = "spi";
> +			};
> +
> +			pmx_sysrst: pmx-sysrst {
> +				marvell,pins = "mpp6";
> +				marvell,function = "sysrst";
> +			};
> +
> +			pmx_i2s: pmx-i2s {
> +				marvell,pins = "mpp39", "mpp40", "mpp41", "mpp42",
> +					       "mpp43";
> +				marvell,function = "audio";
> +			};
> +		};
> +
> +		spi at 10600 {
> +			pinctrl-0 = <&pmx_spi>;
> +			pinctrl-names = "default";
> +			status = "okay";
> +
> +			flash at 0 {
> +				#address-cells = <1>;
> +				#size-cells = <1>;
> +				compatible = "st,m25p80";
> +				spi-max-frequency = <86000000>;
> +				reg = <0>;
> +				mode = <0>;
> +
> +				partition at 0 {
> +					reg = <0x0 0x80000>;
> +					label = "u-boot";
> +				};
> +
> +				partition at 1 {
> +					reg = <0x80000 0x40000>;
> +					label = "SSD firmware";
> +				};
> +
> +				partition at 2 {
> +					reg = <0xc0000 0x10000>;
> +					label = "u-boot env";
> +				};
> +
> +				partition at 3 {
> +					reg = <0xd0000 0x10000>;
> +					label = "permanent u-boot env";
> +				};
> +
> +				partition at 4 {
> +					reg = <0xd0000 0x10000>;
> +					label = "permanent u-boot env";
> +				};
> +			};
> +		};
> +
> +		i2c at 11000 {
> +			status = "okay";
> +
> +			alc5621: alc5621 at 1a {
> +				compatible = "realtek,alc5621";
> +				reg = <0x1a>;
> +			};
> +		};
> +
> +		serial at 12000 {
> +			status = "okay";
> +		};
> +
> +		sata at 80000 {
> +			status = "okay";
> +			nr-ports = <2>;
> +		};
> +
> +		audio: audio-controller at a0000 {
> +			status = "okay";
> +		};
> +	};
> +
> +	regulators {
> +		compatible = "simple-bus";
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		pinctrl-0 = <&pmx_usb_sata_power_enable>;
> +		pinctrl-names = "default";
> +
> +		usb_power: regulator at 1 {
> +			compatible = "regulator-fixed";
> +			reg = <1>;
> +			regulator-name = "USB-SATA Power";
> +			regulator-min-microvolt = <5000000>;
> +			regulator-max-microvolt = <5000000>;
> +			enable-active-high;
> +			regulator-always-on;
> +			regulator-boot-on;
> +			gpio = <&gpio1 12 GPIO_ACTIVE_HIGH>;
> +		};
> +	};
> +
> +	gpio_keys {
> +		compatible = "gpio-keys";
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		pinctrl-0 = <&pmx_button_power>;
> +		pinctrl-names = "default";
> +
> +		button at 1 {
> +			label = "Power Button";
> +			linux,code = < KEY_POWER >;
> +			gpios = <&gpio1 13 GPIO_ACTIVE_HIGH>;
> +		};
> +	};
> +
> +	gpio_poweroff {
> +		compatible = "gpio-poweroff";
> +		pinctrl-0 = <&pmx_power_off>;
> +		pinctrl-names = "default";
> +		gpios = <&gpio1 17 GPIO_ACTIVE_HIGH>;
> +	};
> +
> +};
> +
> +&mdio {
> +	status = "okay";
> +
> +	ethphy0: ethernet-phy {
> +		device_type = "ethernet-phy";
> +                reg = <8>;
> +	};
> +};
> +
> +&eth0 {
> +	status = "okay";
> +	ethernet0-port at 0 {
> +		phy-handle = <&ethphy0>;
> +	};
> +};
> +
> diff --git a/arch/arm/mach-mvebu/Kconfig b/arch/arm/mach-mvebu/Kconfig
> index 529f9164a8ca..f6e928c97a01 100644
> --- a/arch/arm/mach-mvebu/Kconfig
> +++ b/arch/arm/mach-mvebu/Kconfig
> @@ -92,6 +92,13 @@ config MACH_KIRKWOOD
>  	  Say 'Y' here if you want your kernel to support boards based
>  	  on the Marvell Kirkwood device tree.
>  
> +config MACH_T5325
> +	bool "HP T5325 thin client"
> +	depends on MACH_KIRKWOOD
> +	help
> +	 Say 'Y' here if you want your kernel to support the
> +	 HP T5325 Thin client
> +
>  endmenu
>  
>  endif
> diff --git a/arch/arm/mach-mvebu/Makefile b/arch/arm/mach-mvebu/Makefile
> index d7672f1c8a6a..bbeb41ee3e75 100644
> --- a/arch/arm/mach-mvebu/Makefile
> +++ b/arch/arm/mach-mvebu/Makefile
> @@ -9,3 +9,4 @@ obj-$(CONFIG_ARCH_MVEBU)	 += coherency.o coherency_ll.o pmsu.o
>  obj-$(CONFIG_SMP)                += platsmp.o headsmp.o
>  obj-$(CONFIG_HOTPLUG_CPU)        += hotplug.o
>  obj-$(CONFIG_MACH_KIRKWOOD)	 += kirkwood.o kirkwood-pm.o
> +obj-$(CONFIG_MACH_T5325)	 += board-t5325.o
> diff --git a/arch/arm/mach-mvebu/board-t5325.c b/arch/arm/mach-mvebu/board-t5325.c
> new file mode 100644
> index 000000000000..65ace6db9f28
> --- /dev/null
> +++ b/arch/arm/mach-mvebu/board-t5325.c
> @@ -0,0 +1,41 @@
> +/*
> + * HP T5325 Board Setup
> + *
> + * Copyright (C) 2014
> + *
> + * Andrew Lunn <andrew@lunn.ch>
> + *
> + * This file is licensed under the terms of the GNU General Public
> + * License version 2.  This program is licensed "as is" without any
> + * warranty of any kind, whether express or implied.
> + */
> +
> +#include <linux/kernel.h>
> +#include <linux/i2c.h>
> +#include <linux/init.h>
> +#include <linux/platform_device.h>
> +#include <sound/alc5623.h>
> +#include "board.h"
> +
> +static struct platform_device hp_t5325_audio_device = {
> +	.name		= "t5325-audio",
> +	.id		= -1,
> +};
> +
> +static struct alc5623_platform_data alc5621_data = {
> +	.add_ctrl = 0x3700,
> +	.jack_det_ctrl = 0x4810,
> +};
> +
> +static struct i2c_board_info i2c_board_info[] __initdata = {
> +	{
> +		I2C_BOARD_INFO("alc5621", 0x1a),
> +		.platform_data = &alc5621_data,
> +	},
> +};
> +
> +void __init t5325_init(void)
> +{
> +	i2c_register_board_info(0, i2c_board_info, ARRAY_SIZE(i2c_board_info));
> +	platform_device_register(&hp_t5325_audio_device);
> +}
> diff --git a/arch/arm/mach-mvebu/board.h b/arch/arm/mach-mvebu/board.h
> new file mode 100644
> index 000000000000..de7f0a191394
> --- /dev/null
> +++ b/arch/arm/mach-mvebu/board.h
> @@ -0,0 +1,22 @@
> +/*
> + * Board functions for Marvell System On Chip
> + *
> + * Copyright (C) 2014
> + *
> + * Andrew Lunn <andrew@lunn.ch>
> + *
> + * This file is licensed under the terms of the GNU General Public
> + * License version 2.  This program is licensed "as is" without any
> + * warranty of any kind, whether express or implied.
> + */
> +
> +#ifndef __ARCH_MVEBU_BOARD_H
> +#define __ARCH_MVEBU_BOARD_H
> +
> +#ifdef CONFIG_MACH_T5325
> +void t5325_init(void);
> +#else
> +static inline void t5325_init(void) {};
> +#endif
> +
> +#endif
> diff --git a/arch/arm/mach-mvebu/kirkwood.c b/arch/arm/mach-mvebu/kirkwood.c
> index 8a38b10532e5..120207fc36f1 100644
> --- a/arch/arm/mach-mvebu/kirkwood.c
> +++ b/arch/arm/mach-mvebu/kirkwood.c
> @@ -25,6 +25,7 @@
>  #include "kirkwood.h"
>  #include "kirkwood-pm.h"
>  #include "common.h"
> +#include "board.h"
>  
>  static struct resource kirkwood_cpufreq_resources[] = {
>  	[0] = {
> @@ -158,6 +159,11 @@ void kirkwood_disable_mbus_error_propagation(void)
>  	writel(readl(cpu_config) & ~CPU_CONFIG_ERROR_PROP, cpu_config);
>  }
>  
> +static struct of_dev_auxdata auxdata[] __initdata = {
> +	OF_DEV_AUXDATA("marvell,kirkwood-audio", 0xf10a0000,
> +		       "mvebu-audio", NULL),
> +	{ /* sentinel */ }
> +};
>  
>  static void __init kirkwood_dt_init(void)
>  {
> @@ -174,7 +180,10 @@ static void __init kirkwood_dt_init(void)
>  	kirkwood_pm_init();
>  	kirkwood_dt_eth_fixup();
>  
> -	of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
> +	if (of_machine_is_compatible("hp,t5325"))
> +		t5325_init();
> +
> +	of_platform_populate(NULL, of_default_bus_match_table, auxdata, NULL);
>  }
>  
>  static const char * const kirkwood_dt_board_compat[] = {
> -- 
> 1.8.5.3
> 

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH 1/4] ARM: Kirkwood: Add audio node to kirkwood.dtsi
  2014-02-23 17:19 ` [PATCH 1/4] ARM: Kirkwood: Add audio node to kirkwood.dtsi Andrew Lunn
@ 2014-02-23 17:31   ` Thomas Petazzoni
  2014-02-23 17:34   ` Sergei Shtylyov
  1 sibling, 0 replies; 10+ messages in thread
From: Thomas Petazzoni @ 2014-02-23 17:31 UTC (permalink / raw)
  To: linux-arm-kernel

Dear Andrew Lunn,

On Sun, 23 Feb 2014 18:19:39 +0100, Andrew Lunn wrote:
> The binding has existed for a while, so add the missing node so it can
> be used by devices.
> 
> Signed-off-by: Andrew Lunn <andrew@lunn.ch>
> ---
>  arch/arm/boot/dts/kirkwood.dtsi | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/kirkwood.dtsi b/arch/arm/boot/dts/kirkwood.dtsi
> index 7b921b30cfcb..841ca3affbf5 100644
> --- a/arch/arm/boot/dts/kirkwood.dtsi
> +++ b/arch/arm/boot/dts/kirkwood.dtsi
> @@ -310,5 +310,14 @@
>  			#phy-cells = <0>;
>  			status = "ok";
>  		};
> +
> +                audio0: audio-controller at a0000 {
> +			compatible = "marvell,kirkwood-audio";
> +                        reg = <0xa0000 0x2210>;
> +                        interrupts = <24>;
> +                        clocks = <&gate_clk 9>;
> +                        clock-names = "internal";
> +                        status = "disabled";

Bad indentation for all properties except the first one.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH 4/4] ARM: mvebu: Add HP T5325 devices to {multi|mvebu}_v5_defconfig
  2014-02-23 17:19 ` [PATCH 4/4] ARM: mvebu: Add HP T5325 devices to {multi|mvebu}_v5_defconfig Andrew Lunn
@ 2014-02-23 17:33   ` Jason Cooper
  0 siblings, 0 replies; 10+ messages in thread
From: Jason Cooper @ 2014-02-23 17:33 UTC (permalink / raw)
  To: linux-arm-kernel

On Sun, Feb 23, 2014 at 06:19:42PM +0100, Andrew Lunn wrote:
> The HP T5325 has a PCI based VGA controller. Add the frame buffer
> driver, and frame buffer support to the defconfig's. Additionally
> add the soc audio framework and the necessary codec.
> 
> Signed-off-by: Andrew Lunn <andrew@lunn.ch>
> ---
>  arch/arm/configs/multi_v5_defconfig | 9 +++++++++
>  arch/arm/configs/mvebu_v5_defconfig | 9 +++++++++

This should be fine for this window.  In the future, though, we'll
follow the pattern for multi_v5 as for multi_v7.  Meaning those patches
go straight to the arm-soc maintainers since that file tends to get
riddled with conflicts.

thx,

Jason.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH 3/4] ARM: mvebu: Add HP T5325 thin client
  2014-02-23 17:19 ` [PATCH 3/4] ARM: mvebu: Add HP T5325 thin client Andrew Lunn
  2014-02-23 17:30   ` Jason Cooper
@ 2014-02-23 17:34   ` Thomas Petazzoni
  1 sibling, 0 replies; 10+ messages in thread
From: Thomas Petazzoni @ 2014-02-23 17:34 UTC (permalink / raw)
  To: linux-arm-kernel

Dear Andrew Lunn,

Sorry, I'm in a nitpick mood it seems :)

On Sun, 23 Feb 2014 18:19:41 +0100, Andrew Lunn wrote:

> +		button at 1 {
> +			label = "Power Button";
> +			linux,code = < KEY_POWER >;

Why spaces before and after KEY_POWER ?

> +config MACH_T5325
> +	bool "HP T5325 thin client"
> +	depends on MACH_KIRKWOOD
> +	help
> +	 Say 'Y' here if you want your kernel to support the
> +	 HP T5325 Thin client

Indentation for help text should be one tab and two spaces.

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH 1/4] ARM: Kirkwood: Add audio node to kirkwood.dtsi
  2014-02-23 17:19 ` [PATCH 1/4] ARM: Kirkwood: Add audio node to kirkwood.dtsi Andrew Lunn
  2014-02-23 17:31   ` Thomas Petazzoni
@ 2014-02-23 17:34   ` Sergei Shtylyov
  1 sibling, 0 replies; 10+ messages in thread
From: Sergei Shtylyov @ 2014-02-23 17:34 UTC (permalink / raw)
  To: linux-arm-kernel

Hello.

On 23-02-2014 21:19, Andrew Lunn wrote:

> The binding has existed for a while, so add the missing node so it can
> be used by devices.

> Signed-off-by: Andrew Lunn <andrew@lunn.ch>
> ---
>   arch/arm/boot/dts/kirkwood.dtsi | 9 +++++++++
>   1 file changed, 9 insertions(+)

> diff --git a/arch/arm/boot/dts/kirkwood.dtsi b/arch/arm/boot/dts/kirkwood.dtsi
> index 7b921b30cfcb..841ca3affbf5 100644
> --- a/arch/arm/boot/dts/kirkwood.dtsi
> +++ b/arch/arm/boot/dts/kirkwood.dtsi
> @@ -310,5 +310,14 @@
>   			#phy-cells = <0>;
>   			status = "ok";
>   		};
> +
> +                audio0: audio-controller at a0000 {
> +			compatible = "marvell,kirkwood-audio";
> +                        reg = <0xa0000 0x2210>;
> +                        interrupts = <24>;
> +                        clocks = <&gate_clk 9>;
> +                        clock-names = "internal";
> +                        status = "disabled";
> +                };

     Could you uniformly indent the node with tabs (like at least the one 
above it)?

WBR, Sergei

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2014-02-23 17:34 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-02-23 17:19 [PATCH 0/4] mvebu support for kirkwood HP T5325 Andrew Lunn
2014-02-23 17:19 ` [PATCH 1/4] ARM: Kirkwood: Add audio node to kirkwood.dtsi Andrew Lunn
2014-02-23 17:31   ` Thomas Petazzoni
2014-02-23 17:34   ` Sergei Shtylyov
2014-02-23 17:19 ` [PATCH 2/4] ARM: mvebu: Add i2c alias so setting bus number Andrew Lunn
2014-02-23 17:19 ` [PATCH 3/4] ARM: mvebu: Add HP T5325 thin client Andrew Lunn
2014-02-23 17:30   ` Jason Cooper
2014-02-23 17:34   ` Thomas Petazzoni
2014-02-23 17:19 ` [PATCH 4/4] ARM: mvebu: Add HP T5325 devices to {multi|mvebu}_v5_defconfig Andrew Lunn
2014-02-23 17:33   ` Jason Cooper

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).