diff mbox

ARM: dts: add board dts file for EXYNOS4412 based TINY4412 board

Message ID 1384520969-2450-1-git-send-email-kasimling@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Alex Ling Nov. 15, 2013, 1:09 p.m. UTC
Add a minimal board dts file for EXYNOS4412 based FriendlyARM's
TINY4412 board. This patch including adds the node to support
peripherals like UART, SD card on SDMMC2 port, and this patch
adds GPIO connected LEDS and configure its properties like
following:
LED1: use 'heartbeat' trigger, blinking while the board is running.
LED4: use 'mmc0' trigger, on when mmc0 is accessing.
LED2 and LED3 can be controlled from userspace.

Signed-off-by: Alex Ling <kasimling@gmail.com>
---
 arch/arm/boot/dts/Makefile                |    1 +
 arch/arm/boot/dts/exynos4412-tiny4412.dts |   89 +++++++++++++++++++++++++++++
 2 files changed, 90 insertions(+)
 create mode 100644 arch/arm/boot/dts/exynos4412-tiny4412.dts

Comments

Alex Ling Nov. 15, 2013, 1:13 p.m. UTC | #1
The board compatible string will be documented after the coresponding
documentation is specified.


Regards,
Alex

On Fri, Nov 15, 2013 at 9:09 PM, Alex Ling <kasimling@gmail.com> wrote:
> Add a minimal board dts file for EXYNOS4412 based FriendlyARM's
> TINY4412 board. This patch including adds the node to support
> peripherals like UART, SD card on SDMMC2 port, and this patch
> adds GPIO connected LEDS and configure its properties like
> following:
> LED1: use 'heartbeat' trigger, blinking while the board is running.
> LED4: use 'mmc0' trigger, on when mmc0 is accessing.
> LED2 and LED3 can be controlled from userspace.
>
> Signed-off-by: Alex Ling <kasimling@gmail.com>
> ---
>  arch/arm/boot/dts/Makefile                |    1 +
>  arch/arm/boot/dts/exynos4412-tiny4412.dts |   89 +++++++++++++++++++++++++++++
>  2 files changed, 90 insertions(+)
>  create mode 100644 arch/arm/boot/dts/exynos4412-tiny4412.dts
>
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index 802720e..91671a2 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -59,6 +59,7 @@ dtb-$(CONFIG_ARCH_EXYNOS) += exynos4210-origen.dtb \
>         exynos4412-odroidx.dtb \
>         exynos4412-origen.dtb \
>         exynos4412-smdk4412.dtb \
> +       exynos4412-tiny4412.dtb \
>         exynos4412-trats2.dtb \
>         exynos5250-arndale.dtb \
>         exynos5250-smdk5250.dtb \
> diff --git a/arch/arm/boot/dts/exynos4412-tiny4412.dts b/arch/arm/boot/dts/exynos4412-tiny4412.dts
> new file mode 100644
> index 0000000..78ace14
> --- /dev/null
> +++ b/arch/arm/boot/dts/exynos4412-tiny4412.dts
> @@ -0,0 +1,89 @@
> +/*
> + * FriendlyARM's Exynos4412 based TINY4412 board device tree source
> + *
> + * Copyright (c) 2013 Alex Ling <kasimling@gmail.com>
> + *
> + * Device tree source file for FriendlyARM's TINY4412 board which is based on
> + * Samsung's Exynos4412 SoC.
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License version 2 as
> + * published by the Free Software Foundation.
> +*/
> +
> +/dts-v1/;
> +#include "exynos4412.dtsi"
> +
> +/ {
> +       model = "FriendlyARM TINY4412 board based on Exynos4412";
> +       compatible = "friendlyarm,tiny4412", "samsung,exynos4412";
> +
> +       memory {
> +               reg = <0x40000000 0x40000000>;
> +       };
> +
> +       leds {
> +               compatible = "gpio-leds";
> +               led1 {
> +                       label = "led1:heart";
> +                       gpios = <&gpm4 0 1>;
> +                       default-state = "off";
> +                       linux,default-trigger = "heartbeat";
> +               };
> +               led2 {
> +                       label = "led2";
> +                       gpios = <&gpm4 1 1>;
> +                       default-state = "off";
> +               };
> +               led3 {
> +                       label = "led3";
> +                       gpios = <&gpm4 2 1>;
> +                       default-state = "off";
> +               };
> +               led4 {
> +                       label = "led4:mmc0";
> +                       gpios = <&gpm4 3 1>;
> +                       default-state = "off";
> +                       linux,default-trigger = "mmc0";
> +               };
> +       };
> +
> +       rtc@10070000 {
> +               status = "okay";
> +       };
> +
> +       sdhci@12530000 {
> +               bus-width = <4>;
> +               pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
> +               pinctrl-names = "default";
> +               status = "okay";
> +       };
> +
> +       serial@13800000 {
> +               status = "okay";
> +       };
> +
> +       serial@13810000 {
> +               status = "okay";
> +       };
> +
> +       serial@13820000 {
> +               status = "okay";
> +       };
> +
> +       serial@13830000 {
> +               status = "okay";
> +       };
> +
> +       fixed-rate-clocks {
> +               xxti {
> +                       compatible = "samsung,clock-xxti";
> +                       clock-frequency = <0>;
> +               };
> +
> +               xusbxti {
> +                       compatible = "samsung,clock-xusbxti";
> +                       clock-frequency = <24000000>;
> +               };
> +       };
> +};
> --
> 1.7.9.5
>
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Alex Ling Dec. 14, 2013, 5:34 a.m. UTC | #2
Hi, Kukjin,
Could you please review this patch? Thanks!


Regards,
Alex

On Fri, Nov 15, 2013 at 9:13 PM, kasim ling <kasimling@gmail.com> wrote:
> The board compatible string will be documented after the coresponding
> documentation is specified.
>
>
> Regards,
> Alex
>
> On Fri, Nov 15, 2013 at 9:09 PM, Alex Ling <kasimling@gmail.com> wrote:
>> Add a minimal board dts file for EXYNOS4412 based FriendlyARM's
>> TINY4412 board. This patch including adds the node to support
>> peripherals like UART, SD card on SDMMC2 port, and this patch
>> adds GPIO connected LEDS and configure its properties like
>> following:
>> LED1: use 'heartbeat' trigger, blinking while the board is running.
>> LED4: use 'mmc0' trigger, on when mmc0 is accessing.
>> LED2 and LED3 can be controlled from userspace.
>>
>> Signed-off-by: Alex Ling <kasimling@gmail.com>
>> ---
>>  arch/arm/boot/dts/Makefile                |    1 +
>>  arch/arm/boot/dts/exynos4412-tiny4412.dts |   89 +++++++++++++++++++++++++++++
>>  2 files changed, 90 insertions(+)
>>  create mode 100644 arch/arm/boot/dts/exynos4412-tiny4412.dts
>>
>> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
>> index 802720e..91671a2 100644
>> --- a/arch/arm/boot/dts/Makefile
>> +++ b/arch/arm/boot/dts/Makefile
>> @@ -59,6 +59,7 @@ dtb-$(CONFIG_ARCH_EXYNOS) += exynos4210-origen.dtb \
>>         exynos4412-odroidx.dtb \
>>         exynos4412-origen.dtb \
>>         exynos4412-smdk4412.dtb \
>> +       exynos4412-tiny4412.dtb \
>>         exynos4412-trats2.dtb \
>>         exynos5250-arndale.dtb \
>>         exynos5250-smdk5250.dtb \
>> diff --git a/arch/arm/boot/dts/exynos4412-tiny4412.dts b/arch/arm/boot/dts/exynos4412-tiny4412.dts
>> new file mode 100644
>> index 0000000..78ace14
>> --- /dev/null
>> +++ b/arch/arm/boot/dts/exynos4412-tiny4412.dts
>> @@ -0,0 +1,89 @@
>> +/*
>> + * FriendlyARM's Exynos4412 based TINY4412 board device tree source
>> + *
>> + * Copyright (c) 2013 Alex Ling <kasimling@gmail.com>
>> + *
>> + * Device tree source file for FriendlyARM's TINY4412 board which is based on
>> + * Samsung's Exynos4412 SoC.
>> + *
>> + * This program is free software; you can redistribute it and/or modify
>> + * it under the terms of the GNU General Public License version 2 as
>> + * published by the Free Software Foundation.
>> +*/
>> +
>> +/dts-v1/;
>> +#include "exynos4412.dtsi"
>> +
>> +/ {
>> +       model = "FriendlyARM TINY4412 board based on Exynos4412";
>> +       compatible = "friendlyarm,tiny4412", "samsung,exynos4412";
>> +
>> +       memory {
>> +               reg = <0x40000000 0x40000000>;
>> +       };
>> +
>> +       leds {
>> +               compatible = "gpio-leds";
>> +               led1 {
>> +                       label = "led1:heart";
>> +                       gpios = <&gpm4 0 1>;
>> +                       default-state = "off";
>> +                       linux,default-trigger = "heartbeat";
>> +               };
>> +               led2 {
>> +                       label = "led2";
>> +                       gpios = <&gpm4 1 1>;
>> +                       default-state = "off";
>> +               };
>> +               led3 {
>> +                       label = "led3";
>> +                       gpios = <&gpm4 2 1>;
>> +                       default-state = "off";
>> +               };
>> +               led4 {
>> +                       label = "led4:mmc0";
>> +                       gpios = <&gpm4 3 1>;
>> +                       default-state = "off";
>> +                       linux,default-trigger = "mmc0";
>> +               };
>> +       };
>> +
>> +       rtc@10070000 {
>> +               status = "okay";
>> +       };
>> +
>> +       sdhci@12530000 {
>> +               bus-width = <4>;
>> +               pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
>> +               pinctrl-names = "default";
>> +               status = "okay";
>> +       };
>> +
>> +       serial@13800000 {
>> +               status = "okay";
>> +       };
>> +
>> +       serial@13810000 {
>> +               status = "okay";
>> +       };
>> +
>> +       serial@13820000 {
>> +               status = "okay";
>> +       };
>> +
>> +       serial@13830000 {
>> +               status = "okay";
>> +       };
>> +
>> +       fixed-rate-clocks {
>> +               xxti {
>> +                       compatible = "samsung,clock-xxti";
>> +                       clock-frequency = <0>;
>> +               };
>> +
>> +               xusbxti {
>> +                       compatible = "samsung,clock-xusbxti";
>> +                       clock-frequency = <24000000>;
>> +               };
>> +       };
>> +};
>> --
>> 1.7.9.5
>>
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Tomasz Figa Dec. 14, 2013, 6:57 p.m. UTC | #3
Hi Alex,

On Friday 15 of November 2013 21:09:29 Alex Ling wrote:
> Add a minimal board dts file for EXYNOS4412 based FriendlyARM's
> TINY4412 board. This patch including adds the node to support
> peripherals like UART, SD card on SDMMC2 port, and this patch
> adds GPIO connected LEDS and configure its properties like
> following:
> LED1: use 'heartbeat' trigger, blinking while the board is running.
> LED4: use 'mmc0' trigger, on when mmc0 is accessing.
> LED2 and LED3 can be controlled from userspace.

Well, all the LEDs can be controlled from userspace. The default trigger
is just the initial setting, which can be changed later by userspace.
It's just a general comment, not an issue with the patch, though.

Anyway, you don't need such detailed patch description, as you can see
most of the things directly from the code. In case of this patch, just the
list of supported peripherals is fine, without going into minor details,
such as LED triggers.

Also, please see my comments inline.

[snip]
> diff --git a/arch/arm/boot/dts/exynos4412-tiny4412.dts b/arch/arm/boot/dts/exynos4412-tiny4412.dts
> new file mode 100644
> index 0000000..78ace14
> --- /dev/null
> +++ b/arch/arm/boot/dts/exynos4412-tiny4412.dts
[snip]
> +	leds {
> +		compatible = "gpio-leds";

style: A blank line should be separating properties from nodes.

> +		led1 {
> +			label = "led1:heart";

Are the labels for this and the LEDs below related to the hardware?
I mean, the label should preferrably come from the board documentation,
or a label on the PCB next to the LED. Also they shouldn't represent
any particular use case, so you should remove the ":heart" suffix.

> +			gpios = <&gpm4 0 1>;
> +			default-state = "off";
> +			linux,default-trigger = "heartbeat";
> +		};

style: Subnodes should be separated with blank lines.

Otherwise the patch looks fine.

Best regards,
Tomasz

--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Alex Ling Dec. 15, 2013, 2:38 a.m. UTC | #4
Tomasz,
Thanks for reviewing. I'll fix the patch description and style problems.


Regards,
Alex

On Sun, Dec 15, 2013 at 2:57 AM, Tomasz Figa <tomasz.figa@gmail.com> wrote:
> Hi Alex,
>
> On Friday 15 of November 2013 21:09:29 Alex Ling wrote:
>> Add a minimal board dts file for EXYNOS4412 based FriendlyARM's
>> TINY4412 board. This patch including adds the node to support
>> peripherals like UART, SD card on SDMMC2 port, and this patch
>> adds GPIO connected LEDS and configure its properties like
>> following:
>> LED1: use 'heartbeat' trigger, blinking while the board is running.
>> LED4: use 'mmc0' trigger, on when mmc0 is accessing.
>> LED2 and LED3 can be controlled from userspace.
>
> Well, all the LEDs can be controlled from userspace. The default trigger
> is just the initial setting, which can be changed later by userspace.
> It's just a general comment, not an issue with the patch, though.
>
> Anyway, you don't need such detailed patch description, as you can see
> most of the things directly from the code. In case of this patch, just the
> list of supported peripherals is fine, without going into minor details,
> such as LED triggers.
>
> Also, please see my comments inline.
>
> [snip]
>> diff --git a/arch/arm/boot/dts/exynos4412-tiny4412.dts b/arch/arm/boot/dts/exynos4412-tiny4412.dts
>> new file mode 100644
>> index 0000000..78ace14
>> --- /dev/null
>> +++ b/arch/arm/boot/dts/exynos4412-tiny4412.dts
> [snip]
>> +     leds {
>> +             compatible = "gpio-leds";
>
> style: A blank line should be separating properties from nodes.
>
>> +             led1 {
>> +                     label = "led1:heart";
>
> Are the labels for this and the LEDs below related to the hardware?
> I mean, the label should preferrably come from the board documentation,
> or a label on the PCB next to the LED. Also they shouldn't represent
> any particular use case, so you should remove the ":heart" suffix.
>
>> +                     gpios = <&gpm4 0 1>;
>> +                     default-state = "off";
>> +                     linux,default-trigger = "heartbeat";
>> +             };
>
> style: Subnodes should be separated with blank lines.
>
> Otherwise the patch looks fine.
>
> Best regards,
> Tomasz
>
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 802720e..91671a2 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -59,6 +59,7 @@  dtb-$(CONFIG_ARCH_EXYNOS) += exynos4210-origen.dtb \
 	exynos4412-odroidx.dtb \
 	exynos4412-origen.dtb \
 	exynos4412-smdk4412.dtb \
+	exynos4412-tiny4412.dtb \
 	exynos4412-trats2.dtb \
 	exynos5250-arndale.dtb \
 	exynos5250-smdk5250.dtb \
diff --git a/arch/arm/boot/dts/exynos4412-tiny4412.dts b/arch/arm/boot/dts/exynos4412-tiny4412.dts
new file mode 100644
index 0000000..78ace14
--- /dev/null
+++ b/arch/arm/boot/dts/exynos4412-tiny4412.dts
@@ -0,0 +1,89 @@ 
+/*
+ * FriendlyARM's Exynos4412 based TINY4412 board device tree source
+ *
+ * Copyright (c) 2013 Alex Ling <kasimling@gmail.com>
+ *
+ * Device tree source file for FriendlyARM's TINY4412 board which is based on
+ * Samsung's Exynos4412 SoC.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+*/
+
+/dts-v1/;
+#include "exynos4412.dtsi"
+
+/ {
+	model = "FriendlyARM TINY4412 board based on Exynos4412";
+	compatible = "friendlyarm,tiny4412", "samsung,exynos4412";
+
+	memory {
+		reg = <0x40000000 0x40000000>;
+	};
+
+	leds {
+		compatible = "gpio-leds";
+		led1 {
+			label = "led1:heart";
+			gpios = <&gpm4 0 1>;
+			default-state = "off";
+			linux,default-trigger = "heartbeat";
+		};
+		led2 {
+			label = "led2";
+			gpios = <&gpm4 1 1>;
+			default-state = "off";
+		};
+		led3 {
+			label = "led3";
+			gpios = <&gpm4 2 1>;
+			default-state = "off";
+		};
+		led4 {
+			label = "led4:mmc0";
+			gpios = <&gpm4 3 1>;
+			default-state = "off";
+			linux,default-trigger = "mmc0";
+		};
+	};
+
+	rtc@10070000 {
+		status = "okay";
+	};
+
+	sdhci@12530000 {
+		bus-width = <4>;
+		pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
+		pinctrl-names = "default";
+		status = "okay";
+	};
+
+	serial@13800000 {
+		status = "okay";
+	};
+
+	serial@13810000 {
+		status = "okay";
+	};
+
+	serial@13820000 {
+		status = "okay";
+	};
+
+	serial@13830000 {
+		status = "okay";
+	};
+
+	fixed-rate-clocks {
+		xxti {
+			compatible = "samsung,clock-xxti";
+			clock-frequency = <0>;
+		};
+
+		xusbxti {
+			compatible = "samsung,clock-xusbxti";
+			clock-frequency = <24000000>;
+		};
+	};
+};