Re: [PATCH] ARM: dts: Add exynos5422-odroidxu4 board

From: Krzysztof Kozlowski
Date: Tue Sep 01 2015 - 08:00:57 EST


W dniu 01.09.2015 o 17:48, Javier Martinez Canillas pisze:
> Hello Krzysztof,
>
> The patch looks good to me, I just have one small comment.
>
> On 08/31/2015 05:56 AM, Krzysztof Kozlowski wrote:
>> Add Hardkernel Odroid XU4 board Device Tree sources. The board differs
>> from Odroid XU3 and XU3-Lite by:
>> 1. No green and red leds (except standard red power led).
>> 2. No audio codec.
>> 3. Two USB3 ports in host mode (no micro USB3 connector for OTG).
>> 4. Realtek RTL8153-CG gigabit network adapter (instead of SMSC9514).
>> 5. Additional connector with IO ports (I2S_0, I2C_5).
>> 6. No DisplayPort.
>> 7. No TI INA231 power measurement sensors.
>>
>> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
>> ---
>> arch/arm/boot/dts/Makefile | 1 +
>> arch/arm/boot/dts/exynos5422-odroidxu3-audio.dtsi | 56 ++++++++++++++
>> arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi | 90 +---------------------
>> arch/arm/boot/dts/exynos5422-odroidxu3-lite.dts | 52 +++++++++++++
>> arch/arm/boot/dts/exynos5422-odroidxu3.dts | 52 +++++++++++++
>> arch/arm/boot/dts/exynos5422-odroidxu4.dts | 48 ++++++++++++
>> 6 files changed, 210 insertions(+), 89 deletions(-)
>> create mode 100644 arch/arm/boot/dts/exynos5422-odroidxu3-audio.dtsi
>> create mode 100644 arch/arm/boot/dts/exynos5422-odroidxu4.dts
>>
>> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
>> index 233159d2eaab..3d27fe34647f 100644
>> --- a/arch/arm/boot/dts/Makefile
>> +++ b/arch/arm/boot/dts/Makefile
>> @@ -123,6 +123,7 @@ dtb-$(CONFIG_ARCH_EXYNOS5) += \
>> exynos5420-smdk5420.dtb \
>> exynos5422-odroidxu3.dtb \
>> exynos5422-odroidxu3-lite.dtb \
>> + exynos5422-odroidxu4.dtb \
>> exynos5440-sd5v1.dtb \
>> exynos5440-ssdk5440.dtb \
>> exynos5800-peach-pi.dtb
>> diff --git a/arch/arm/boot/dts/exynos5422-odroidxu3-audio.dtsi b/arch/arm/boot/dts/exynos5422-odroidxu3-audio.dtsi
>> new file mode 100644
>> index 000000000000..eee16a820484
>> --- /dev/null
>> +++ b/arch/arm/boot/dts/exynos5422-odroidxu3-audio.dtsi
>> @@ -0,0 +1,56 @@
>> +/*
>> + * Hardkernel Odroid XU3 Audio Codec device tree source
>> + *
>> + * Copyright (c) 2015 Krzysztof Kozlowski
>> + * Copyright (c) 2014 Collabora Ltd.
>> + * Copyright (c) 2013 Samsung Electronics Co., Ltd.
>> + * http://www.samsung.com
>> + *
>> + * 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.
>> +*/
>> +
>> +/ {
>> + sound: sound {
>> + compatible = "simple-audio-card";
>> +
>> + simple-audio-card,name = "Odroid-XU3";
>> + simple-audio-card,widgets =
>> + "Headphone", "Headphone Jack",
>> + "Speakers", "Speakers";
>> + simple-audio-card,routing =
>> + "Headphone Jack", "HPL",
>> + "Headphone Jack", "HPR",
>> + "Headphone Jack", "MICBIAS",
>> + "IN1", "Headphone Jack",
>> + "Speakers", "SPKL",
>> + "Speakers", "SPKR";
>> +
>> + simple-audio-card,format = "i2s";
>> + simple-audio-card,bitclock-master = <&link0_codec>;
>> + simple-audio-card,frame-master = <&link0_codec>;
>> +
>> + simple-audio-card,cpu {
>> + sound-dai = <&i2s0 0>;
>> + system-clock-frequency = <19200000>;
>> + };
>> +
>> + link0_codec: simple-audio-card,codec {
>> + sound-dai = <&max98090>;
>> + clocks = <&i2s0 CLK_I2S_CDCLK>;
>> + };
>> + };
>> +};
>> +
>> +&hsi2c_5 {
>> + max98090: max98090@10 {
>> + compatible = "maxim,max98090";
>> + reg = <0x10>;
>> + interrupt-parent = <&gpx3>;
>> + interrupts = <2 0>;
>> + clocks = <&i2s0 CLK_I2S_CDCLK>;
>> + clock-names = "mclk";
>> + #sound-dai-cells = <0>;
>> + };
>
> Shouldn't this node also include the status = "okay" ?

Let me answer to this in next comment.

>
>> +};
>> diff --git a/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi b/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi
>> index dd8bc86d9de4..52c34d8e791f 100644
>> --- a/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi
>> +++ b/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi
>> @@ -46,70 +46,6 @@
>> reset-gpios = <&gpd1 0 1>;
>> };
>>
>> - pwmleds {
>> - compatible = "pwm-leds";
>> -
>> - greenled {
>> - label = "green:mmc0";
>> - pwms = <&pwm 1 2000000 0>;
>> - pwm-names = "pwm1";
>> - /*
>> - * Green LED is much brighter than the others
>> - * so limit its max brightness
>> - */
>> - max_brightness = <127>;
>> - linux,default-trigger = "mmc0";
>> - };
>> -
>> - blueled {
>> - label = "blue:heartbeat";
>> - pwms = <&pwm 2 2000000 0>;
>> - pwm-names = "pwm2";
>> - max_brightness = <255>;
>> - linux,default-trigger = "heartbeat";
>> - };
>> - };
>> -
>> - gpioleds {
>> - compatible = "gpio-leds";
>> - redled {
>> - label = "red:microSD";
>> - gpios = <&gpx2 3 GPIO_ACTIVE_HIGH>;
>> - default-state = "off";
>> - linux,default-trigger = "mmc1";
>> - };
>> - };
>> -
>> - sound: sound {
>> - compatible = "simple-audio-card";
>> -
>> - simple-audio-card,name = "Odroid-XU3";
>> - simple-audio-card,widgets =
>> - "Headphone", "Headphone Jack",
>> - "Speakers", "Speakers";
>> - simple-audio-card,routing =
>> - "Headphone Jack", "HPL",
>> - "Headphone Jack", "HPR",
>> - "Headphone Jack", "MICBIAS",
>> - "IN1", "Headphone Jack",
>> - "Speakers", "SPKL",
>> - "Speakers", "SPKR";
>> -
>> - simple-audio-card,format = "i2s";
>> - simple-audio-card,bitclock-master = <&link0_codec>;
>> - simple-audio-card,frame-master = <&link0_codec>;
>> -
>> - simple-audio-card,cpu {
>> - sound-dai = <&i2s0 0>;
>> - system-clock-frequency = <19200000>;
>> - };
>> -
>> - link0_codec: simple-audio-card,codec {
>> - sound-dai = <&max98090>;
>> - clocks = <&i2s0 CLK_I2S_CDCLK>;
>> - };
>> - };
>> -
>> fan0: pwm-fan {
>> compatible = "pwm-fan";
>> pwms = <&pwm 0 20972 0>;
>> @@ -378,15 +314,6 @@
>>
>> &hsi2c_5 {
>> status = "okay";
>
> since I believe for the Odroid XU4 we would like this to be disabled.
> The only I2C device in this I2C bus is the max98090 codec which is
> not present in the XU4.

hsi2c_5 and i2s_0 are not used by board directly but are connected to
external connector:
http://www.hardkernel.com/main/products/prdt_info.php?g_code=G143452239825&tab_idx=2

This is the 12pin GPIO/I2C/I2S connector in bottom-right corner of board
view.

This is why I left this and is2_0 enabled on Odroid XU4 - I assumed
someone may connect something to it. However I have doubts if it is
usable in such state: without respective addresses and interrupts. In
the same time OF_OVERLAY should customize it properly.

What do you think?

Thanks for review,
Best regards,
Krzysztof

>
>> - max98090: max98090@10 {
>> - compatible = "maxim,max98090";
>> - reg = <0x10>;
>> - interrupt-parent = <&gpx3>;
>> - interrupts = <2 0>;
>> - clocks = <&i2s0 CLK_I2S_CDCLK>;
>> - clock-names = "mclk";
>> - #sound-dai-cells = <0>;
>> - };
>> };
>>
>> &i2c_2 {
>> @@ -464,19 +391,6 @@
>> };
>> };
>>
>> -&pwm {
>> - /*
>> - * PWM 0 -- fan
>> - * PWM 1 -- Green LED
>> - * PWM 2 -- Blue LED
>> - * PWM 3 -- on MIPI connector for backlight
>> - */
>> - pinctrl-0 = <&pwm0_out &pwm1_out &pwm2_out &pwm3_out>;
>> - pinctrl-names = "default";
>> - samsung,pwm-outputs = <0>;
>> - status = "okay";
>> -};
>> -
>> &tmu_cpu0 {
>> vtmu-supply = <&ldo7_reg>;
>> status = "okay";
>> @@ -512,9 +426,7 @@
>> dr_mode = "host";
>> };
>>
>> -&usbdrd_dwc3_1 {
>> - dr_mode = "otg";
>> -};
>> +/* usbdrd_dwc3_1 mode customized in each board */
>>
>> &usbdrd3_0 {
>> vdd33-supply = <&ldo9_reg>;
>> diff --git a/arch/arm/boot/dts/exynos5422-odroidxu3-lite.dts b/arch/arm/boot/dts/exynos5422-odroidxu3-lite.dts
>> index c06882bbb822..379cd61178ee 100644
>> --- a/arch/arm/boot/dts/exynos5422-odroidxu3-lite.dts
>> +++ b/arch/arm/boot/dts/exynos5422-odroidxu3-lite.dts
>> @@ -13,8 +13,60 @@
>>
>> /dts-v1/;
>> #include "exynos5422-odroidxu3-common.dtsi"
>> +#include "exynos5422-odroidxu3-audio.dtsi"
>>
>> / {
>> model = "Hardkernel Odroid XU3 Lite";
>> compatible = "hardkernel,odroid-xu3-lite", "samsung,exynos5800", "samsung,exynos5";
>> +
>> + pwmleds {
>> + compatible = "pwm-leds";
>> +
>> + greenled {
>> + label = "green:mmc0";
>> + pwms = <&pwm 1 2000000 0>;
>> + pwm-names = "pwm1";
>> + /*
>> + * Green LED is much brighter than the others
>> + * so limit its max brightness
>> + */
>> + max_brightness = <127>;
>> + linux,default-trigger = "mmc0";
>> + };
>> +
>> + blueled {
>> + label = "blue:heartbeat";
>> + pwms = <&pwm 2 2000000 0>;
>> + pwm-names = "pwm2";
>> + max_brightness = <255>;
>> + linux,default-trigger = "heartbeat";
>> + };
>> + };
>> +
>> + gpioleds {
>> + compatible = "gpio-leds";
>> + redled {
>> + label = "red:microSD";
>> + gpios = <&gpx2 3 GPIO_ACTIVE_HIGH>;
>> + default-state = "off";
>> + linux,default-trigger = "mmc1";
>> + };
>> + };
>> +};
>> +
>> +&pwm {
>> + /*
>> + * PWM 0 -- fan
>> + * PWM 1 -- Green LED
>> + * PWM 2 -- Blue LED
>> + * PWM 3 -- on MIPI connector for backlight
>> + */
>> + pinctrl-0 = <&pwm0_out &pwm1_out &pwm2_out &pwm3_out>;
>> + pinctrl-names = "default";
>> + samsung,pwm-outputs = <0>;
>> + status = "okay";
>> +};
>> +
>> +&usbdrd_dwc3_1 {
>> + dr_mode = "otg";
>> };
>> diff --git a/arch/arm/boot/dts/exynos5422-odroidxu3.dts b/arch/arm/boot/dts/exynos5422-odroidxu3.dts
>> index 78e6a502f320..c7509690131d 100644
>> --- a/arch/arm/boot/dts/exynos5422-odroidxu3.dts
>> +++ b/arch/arm/boot/dts/exynos5422-odroidxu3.dts
>> @@ -12,10 +12,45 @@
>>
>> /dts-v1/;
>> #include "exynos5422-odroidxu3-common.dtsi"
>> +#include "exynos5422-odroidxu3-audio.dtsi"
>>
>> / {
>> model = "Hardkernel Odroid XU3";
>> compatible = "hardkernel,odroid-xu3", "samsung,exynos5800", "samsung,exynos5";
>> +
>> + pwmleds {
>> + compatible = "pwm-leds";
>> +
>> + greenled {
>> + label = "green:mmc0";
>> + pwms = <&pwm 1 2000000 0>;
>> + pwm-names = "pwm1";
>> + /*
>> + * Green LED is much brighter than the others
>> + * so limit its max brightness
>> + */
>> + max_brightness = <127>;
>> + linux,default-trigger = "mmc0";
>> + };
>> +
>> + blueled {
>> + label = "blue:heartbeat";
>> + pwms = <&pwm 2 2000000 0>;
>> + pwm-names = "pwm2";
>> + max_brightness = <255>;
>> + linux,default-trigger = "heartbeat";
>> + };
>> + };
>> +
>> + gpioleds {
>> + compatible = "gpio-leds";
>> + redled {
>> + label = "red:microSD";
>> + gpios = <&gpx2 3 GPIO_ACTIVE_HIGH>;
>> + default-state = "off";
>> + linux,default-trigger = "mmc1";
>> + };
>> + };
>> };
>>
>> &i2c_0 {
>> @@ -49,3 +84,20 @@
>> shunt-resistor = <10000>;
>> };
>> };
>> +
>> +&pwm {
>> + /*
>> + * PWM 0 -- fan
>> + * PWM 1 -- Green LED
>> + * PWM 2 -- Blue LED
>> + * PWM 3 -- on MIPI connector for backlight
>> + */
>> + pinctrl-0 = <&pwm0_out &pwm1_out &pwm2_out &pwm3_out>;
>> + pinctrl-names = "default";
>> + samsung,pwm-outputs = <0>;
>> + status = "okay";
>> +};
>> +
>> +&usbdrd_dwc3_1 {
>> + dr_mode = "otg";
>> +};
>> diff --git a/arch/arm/boot/dts/exynos5422-odroidxu4.dts b/arch/arm/boot/dts/exynos5422-odroidxu4.dts
>> new file mode 100644
>> index 000000000000..087c485b6084
>> --- /dev/null
>> +++ b/arch/arm/boot/dts/exynos5422-odroidxu4.dts
>> @@ -0,0 +1,48 @@
>> +/*
>> + * Hardkernel Odroid XU4 board device tree source
>> + *
>> + * Copyright (c) 2015 Krzysztof Kozlowski
>> + * Copyright (c) 2014 Collabora Ltd.
>> + * Copyright (c) 2013 Samsung Electronics Co., Ltd.
>> + * http://www.samsung.com
>> + *
>> + * 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 "exynos5422-odroidxu3-common.dtsi"
>> +
>> +/ {
>> + model = "Hardkernel Odroid XU4";
>> + compatible = "hardkernel,odroid-xu4", "samsung,exynos5800", \
>> + "samsung,exynos5";
>> +
>> + pwmleds {
>> + compatible = "pwm-leds";
>> +
>> + blueled {
>> + label = "blue:heartbeat";
>> + pwms = <&pwm 2 2000000 0>;
>> + pwm-names = "pwm2";
>> + max_brightness = <255>;
>> + linux,default-trigger = "heartbeat";
>> + };
>> + };
>> +};
>> +
>> +&pwm {
>> + /*
>> + * PWM 0 -- fan
>> + * PWM 2 -- Blue LED
>> + */
>> + pinctrl-0 = <&pwm0_out &pwm2_out>;
>> + pinctrl-names = "default";
>> + samsung,pwm-outputs = <0>;
>> + status = "okay";
>> +};
>> +
>> +&usbdrd_dwc3_1 {
>> + dr_mode = "host";
>> +};
>>
>
> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx>
>
> Best regards,
>

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/