Subject: [PATCH v3] N900: add device tree

From: [email-masked] (Benoit Cousson)
Date: Tue, 13 Aug 2013 16:06:15 +0200

On 13/08/2013 15:36, Pavel Machek wrote:
> Hi!
>
>> I finally got released by the aliens. It took longer than expected
>> and beside a small scar on the back of my neck, I feel pretty OK.
>
> Scars on neck sound scary...
>
>> The order should not matter at all in DT, it should be a static
>> representation of the HW, so there is probably something wrong in
>> the code that make the device creation order important.
>
> I understand that there's something wrong with the code, but it turned
> out not to be easy to debug. Yes, it will have to be debugged some
> day, but it happens with old code, too, so it is actually orthogonal
> to device tree.
>
>> Beside my comments and the ones from Javier, it looks good.
>> If you can repost ASAP, I'll take it right after.
>> It will be the first one in the list.
>
> Thanks, here you go.

Thanks. I've just applied it after adding the prefix "ARM: dts:" to the 
subject.

Regards,
Benoit

> 								Pavel
>
> ---
>
> This adds device tree with neccessary support to boot with functional
> video (on both emulator and real N900 device).
>
> Signed-off-by: Pavel Machek <[email-masked]>
> Signed-off-by: Aaro Koskinen <[email-masked]>
>
> ---
>
>  From v1: Aaro wants just GPLv2, so I did that. I re-enabled parts that
> can be enabled on 3.10, and tested it on that kernel.
>
>  From v2: spelling, improved comments. Tested on 3.11-rc (0ed4402).
>
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index a0f2365..c48b1ef 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -162,6 +162,7 @@ dtb-$(CONFIG_ARCH_OMAP2PLUS) += omap2420-h4.dtb \
>   	omap3-devkit8000.dtb \
>   	omap3-beagle-xm.dtb \
>   	omap3-evm.dtb \
> +	omap3-n900.dtb \
>   	omap3-tobi.dtb \
>   	omap3-igep0020.dtb \
>   	omap3-igep0030.dtb \
> diff --git a/arch/arm/boot/dts/omap3-n900.dts b/arch/arm/boot/dts/omap3-n900.dts
> new file mode 100644
> index 0000000..7ff90f8
> --- /dev/null
> +++ b/arch/arm/boot/dts/omap3-n900.dts
> @@ -0,0 +1,92 @@
> +/*
> + * Copyright (C) 2013 Pavel Machek <[email-masked]>
> + * Copyright 2013 Aaro Koskinen <[email-masked]>
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License version 2 (or later) as
> + * published by the Free Software Foundation.
> + */
> +
> +/dts-v1/;
> +
> +#include "omap34xx.dtsi"
> +
> +/ {
> +	model = "Nokia N900";
> +	compatible = "nokia,omap3-n900", "ti,omap3";
> +
> +	cpus {
> +		cpu at 0 {
> +			cpu0-supply = <&vcc>;
> +		};
> +	};
> +
> +	memory {
> +		device_type = "memory";
> +		reg = <0x80000000 0x10000000>; /* 256 MB */
> +	};
> +
> +};
> +
> +&i2c1 {
> +	clock-frequency = <2200000>;
> +
> +	twl: twl at 48 {
> +		reg = <0x48>;
> +		interrupts = <7>; /* SYS_NIRQ cascaded to intc */
> +		interrupt-parent = <&intc>;
> +	};
> +};
> +
> +#include "twl4030.dtsi"
> +
> +&twl_gpio {
> +	ti,pullups	= <0x0>;
> +	ti,pulldowns	= <0x03ff3f>; /* BIT(0..5) | BIT(8..17) */
> +};
> +
> +&i2c2 {
> +	clock-frequency = <400000>;
> +};
> +
> +&i2c3 {
> +	clock-frequency = <100000>;
> +};
> +
> +&mmc1 {
> +	status = "disabled";
> +};
> +
> +&mmc2 {
> +	status = "disabled";
> +};
> +
> +&mmc3 {
> +	status = "disabled";
> +};
> +
> +&mcspi1 {
> +	/*
> +	 * For some reason, touchscreen is necessary for screen to work at
> +	 * all on real hw. It works well without it on emulator.
> +	 *
> +	 * Also... order in the device tree actually matters here.
> +	 */
> +	tsc2005 at 0 {
> +		compatible = "tsc2005";
> +		spi-max-frequency = <6000000>;
> +		reg = <0>;
> +	};
> +	mipid at 2 {
> +		compatible = "acx565akm";
> +		spi-max-frequency = <6000000>;
> +		reg = <2>;
> +	};
> +};
> +
> +&usb_otg_hs {
> +	interface-type = <0>;
> +	usb-phy = <&usb2_phy>;
> +	mode = <2>;
> +	power = <50>;
> +};
>