[PATCH v6 2/3] ARM: dts: add TOPEET itop elite based board

ayaka ayaka at soulik.info
Fri Sep 16 07:04:29 PDT 2016



On 09/16/2016 03:23 PM, Krzysztof Kozlowski wrote:
> 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 at soulik.info>
>> ---
>>   .../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 at 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 <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),
When I sent those patches, I tested in "Add linux-next specific files 
for 20160907"
> 3. recent linux-next.
>
> Best regards,
> Krzysztof




More information about the linux-arm-kernel mailing list