On 09/07/2016 11:58 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. The WM8960 analog audio codec is also > enabled. > > The FIMC is not used for camera currently, I enabled it just for a > colorspace convertor. > > Signed-off-by: Randy Li <ayaka@xxxxxxxxxxx> > --- > .../bindings/arm/samsung/samsung-boards.txt | 3 + > arch/arm/boot/dts/Makefile | 1 + > arch/arm/boot/dts/exynos4412-itop-elite.dts | 239 +++++++++++++++++++++ > 3 files changed, 243 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 207f96f..0b39d00 100644 > --- a/arch/arm/boot/dts/Makefile > +++ b/arch/arm/boot/dts/Makefile > @@ -130,6 +130,7 @@ dtb-$(CONFIG_ARCH_EXYNOS4) += \ > exynos4210-smdkv310.dtb \ > exynos4210-trats.dtb \ > exynos4210-universal_c210.dtb \ > + exynos4412-itop-elite.dtb \ > exynos4412-odroidu3.dtb \ > exynos4412-odroidx.dtb \ > exynos4412-odroidx2.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..dd83689 > --- /dev/null > +++ b/arch/arm/boot/dts/exynos4412-itop-elite.dts > @@ -0,0 +1,239 @@ > +/* > + * TOPEET's Exynos4412 based itop board device tree source > + * > + * Copyright (c) 2016 SUMOMO Computer Association > + * https://www.sumomo.mobi > + * Randy Li <ayaka@xxxxxxxxxxx> > + * > + * 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 <dt-bindings/sound/samsung-i2s.h> > +#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 = "root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait"; > + stdout-path = "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 { > + 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>; > + }; > + }; > + > + sound { > + compatible = "simple-audio-card"; > + simple-audio-card,name = "wm-sound"; > + > + assigned-clocks = <&clock_audss EXYNOS_MOUT_AUDSS>, > + <&clock_audss EXYNOS_MOUT_I2S>, > + <&clock_audss EXYNOS_DOUT_SRP>, > + <&clock_audss EXYNOS_DOUT_AUD_BUS>; > + assigned-clock-parents = <&clock CLK_FOUT_EPLL>, > + <&clock_audss EXYNOS_MOUT_AUDSS>; > + assigned-clock-rates = <0>, > + <0>, > + <112896000>, > + <11289600>; > + > + simple-audio-card,format = "i2s"; > + simple-audio-card,bitclock-master = <&link0_codec>; > + simple-audio-card,frame-master = <&link0_codec>; > + > + simple-audio-card,widgets = > + "Microphone", "Mic Jack", > + "Line", "Line In", > + "Line", "Line Out", > + "Speaker", "Speaker", > + "Headphone", "Headphone Jack"; > + simple-audio-card,routing = > + "Headphone Jack", "HP_L", > + "Headphone Jack", "HP_R", > + "Speaker", "SPK_LP", > + "Speaker", "SPK_LN", > + "Speaker", "SPK_RP", > + "Speaker", "SPK_RN", > + "LINPUT1", "Mic Jack", > + "LINPUT3", "Mic Jack", > + "RINPUT1", "Mic Jack", > + "RINPUT2", "Mic Jack"; > + > + simple-audio-card,cpu { > + sound-dai = <&i2s0 0>; > + }; > + > + link0_codec: simple-audio-card,codec { > + sound-dai = <&codec>; > + clocks = <&i2s0 CLK_I2S_CDCLK>; > + system-clock-frequency = <11289600>; > + }; > + }; > + > + beep { > + compatible = "pwm-beeper"; > + pwms = <&pwm 0 4000000 PWM_POLARITY_INVERTED>; I have serious doubts that you run this code... if it does not even compile. Sorry, I cannot accept code that does not compile and was not tested. Please, test your DTS on top of current Linux tree, which would be one of: 1. Linus' master branch: v4.8-rc6, 2. one of my branches (for-next, next/dt etc), 3. recent linux-next. Best regards, Krzysztof -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html