On 08/28/2016 01:21 PM, Randy Li wrote:
> The TOPEET itop exynos 4412 have three versions base board. The
> Elite version is the cheap one without too much peripheral devices
> on it.
> 
> Currently supported are serial console, wired networking(USB),
> USB OTG in peripheral mode, USB host, SD storage, GPIO buttons,
> PWM beeper, ADC and LEDs.
> 
> Signed-off-by: Randy Li <ay...@soulik.info>
> ---
>  .../bindings/arm/samsung/samsung-boards.txt        |   3 +
>  arch/arm/boot/dts/Makefile                         |   1 +
>  arch/arm/boot/dts/exynos4412-itop-elite.dts        | 148 
> +++++++++++++++++++++
>  3 files changed, 152 insertions(+)
>  create mode 100644 arch/arm/boot/dts/exynos4412-itop-elite.dts
> 
> diff --git a/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt 
> b/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt
> index 0ea7f14..c7159ac 100644
> --- a/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt
> +++ b/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt
> @@ -22,6 +22,9 @@ Required root node properties:
>    * FriendlyARM
>       - "friendlyarm,tiny4412"  - for Exynos4412-based FriendlyARM
>                                   TINY4412 board.
> +  * TOPEET
> +     - "topeet,itop4412-elite" - for Exynos4412-based TOPEET
> +                                    Elite base board.                        
>      
>  
>    * Google
>       - "google,pi"           - for Exynos5800-based Google Peach Pi
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index 48e1d4e..8f47aa0 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -135,6 +135,7 @@ dtb-$(CONFIG_ARCH_EXYNOS4) += \
>       exynos4412-origen.dtb \
>       exynos4412-smdk4412.dtb \
>       exynos4412-tiny4412.dtb \
> +     exynos4412-itop-elite.dtb \
>       exynos4412-trats2.dtb
>  dtb-$(CONFIG_ARCH_EXYNOS5) += \
>       exynos5250-arndale.dtb \
> diff --git a/arch/arm/boot/dts/exynos4412-itop-elite.dts 
> b/arch/arm/boot/dts/exynos4412-itop-elite.dts
> new file mode 100644
> index 0000000..5688589
> --- /dev/null
> +++ b/arch/arm/boot/dts/exynos4412-itop-elite.dts
> @@ -0,0 +1,148 @@
> +/*
> + * TOPEET's Exynos4412 based itop board device tree source
> + *
> + * Copyright (c) 2016 SUMOMO Computer Association
> + *                   https://www.sumomo.mobi
> + *                   Randy Li <ay...@soulik.info>
> + *                   
> + * Device tree source file for TOPEET iTop Exynos 4412 core 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-itop-scp-core.dtsi"
> +
> +/ {
> +     model = "TOPEET iTop 4412 Elite board based on Exynos4412";
> +     compatible = "topeet,itop4412-elite", "samsung,exynos4412", 
> "samsung,exynos4";
> +
> +     chosen {
> +             bootargs ="console=ttySAC2,115200 root=/dev/mmcblk0p2 rw 
> rootfstype=ext4 rootwait";

Missing space after =

> +             stdout-path = &serial_2;

Instead of "console=xxxx", put everything here: "serial2:115200n8".

> +     };
> +     
> +     leds {
> +             compatible = "gpio-leds";
> +             
> +             led2 {
> +                     label = "red:system";
> +                     gpios = <&gpx1 0 GPIO_ACTIVE_HIGH>;
> +                     default-state = "off";
> +                     linux,default-trigger = "heartbeat";
> +             };
> +
> +             led3 {
> +                     label = "red:user";
> +                     gpios = <&gpk1 1 GPIO_ACTIVE_HIGH>;
> +                     default-state = "off";
> +             };
> +     };
> +
> +     gpio-keys {
> +             compatible = "gpio-keys";
> +             
> +             home {
> +                     label = "GPIO Key Home";
> +                     linux,code = <KEY_HOME>;
> +                     gpios = <&gpx1 1 GPIO_ACTIVE_LOW>;
> +             };
> +
> +             back {
> +                     label = "GPIO Key Back";
> +                     linux,code = <KEY_BACK>;
> +                     gpios = <&gpx1 2 GPIO_ACTIVE_LOW>;
> +             };
> +
> +             sleep {
> +                     label = "GPIO Key Sleep";
> +                     linux,code = <KEY_POWER>;
> +                     gpios = <&gpx3 3 GPIO_ACTIVE_LOW>;
> +             };
> +
> +             vol_up {

No underscores. Add a name of class to the node names for all keys. Like
"key-home", "key-back".

> +                     label = "GPIO Key Vol+";
> +                     linux,code = <KEY_UP>;
> +                     gpios = <&gpx2 1 GPIO_ACTIVE_LOW>;
> +             };
> +
> +             vol_down {
> +                     label = "GPIO Key Vol-";
> +                     linux,code = <KEY_DOWN>;
> +                     gpios = <&gpx2 0 GPIO_ACTIVE_LOW>;
> +             };
> +     };
> +     
> +     beep {
> +             compatible = "pwm-beeper";
> +             pwms = <&pwm>;
> +             pinctrl-0 = <&pwm0_out>;
> +             pinctrl-names = "default";
> +     };
> +};
> +
> +&pinctrl_1 {
> +     ether-reset {
> +             samsung,pins = "gpc0-1";
> +             samsung,pin-function = <1>;
> +             samsung,pin-pud = <0>;
> +             samsung,pin-drv = <0>;
> +     };
> +};
> +
> +&sdhci_2 {
> +     bus-width = <4>;
> +     pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4>;
> +     pinctrl-names = "default";
> +     cd-gpio = <&gpx0 7 GPIO_ACTIVE_LOW>;
> +     cap-sd-highspeed;
> +     vmmc-supply = <&ldo23_reg>;
> +     vqmmc-supply = <&ldo17_reg>;
> +     status = "okay";
> +};
> +
> +&ehci {

Alphabetical order.

> +     status = "okay";
> +     /* In order to reset USB ethernet */
> +     samsung,vbus-gpio = <&gpc0 1 GPIO_ACTIVE_HIGH>;
> +
> +     port@0 {
> +             status = "okay";
> +     };
> +
> +     port@2 {
> +             status = "okay";
> +     };
> +};
> +
> +&exynos_usbphy {

ditto

> +     status = "okay";
> +};
> +
> +&hsotg {

ditto

> +     dr_mode = "peripheral";
> +     status = "okay";
> +};
> +
> +&serial_1 {
> +     status = "okay";
> +};
> +
> +&serial_2 {
> +     status = "okay";
> +};
> +
> +&pwm {

ditto

> +     pinctrl-0 = <&pwm1_out>;
> +     pinctrl-names = "default";
> +     samsung,pwm-outputs = <1>;
> +     status = "okay";
> +};
> +
> +&adc {

ditto

Best regards,
Krzysztof
> +     vdd-supply = <&ldo3_reg>;
> +     status = "okay";
> +};
> 

Reply via email to