diff mbox

[v5,3/3] ARM: dts: add dts files for xyref5260 board

Message ID 1394637394-3960-4-git-send-email-rahul.sharma@samsung.com (mailing list archive)
State New, archived
Headers show

Commit Message

Rahul Sharma March 12, 2014, 3:16 p.m. UTC
The patch adds the dts files for xyref5260 board which
is based on Exynos5260 Evt0 sample.

Signed-off-by: Rahul Sharma <rahul.sharma@samsung.com>
---
 arch/arm/boot/dts/Makefile                      |    1 +
 arch/arm/boot/dts/exynos5260-xyref5260-evt0.dts |  110 +++++++++++++++++++++++
 2 files changed, 111 insertions(+)
 create mode 100644 arch/arm/boot/dts/exynos5260-xyref5260-evt0.dts

Comments

Pankaj Dubey March 13, 2014, 12:49 a.m. UTC | #1
Hi Rahul,

On 03/13/2014 12:16 AM, Rahul Sharma wrote:
> The patch adds the dts files for xyref5260 board which
> is based on Exynos5260 Evt0 sample.
>
> Signed-off-by: Rahul Sharma <rahul.sharma@samsung.com>
> ---
>   arch/arm/boot/dts/Makefile                      |    1 +
>   arch/arm/boot/dts/exynos5260-xyref5260-evt0.dts |  110 +++++++++++++++++++++++
>   2 files changed, 111 insertions(+)
>   create mode 100644 arch/arm/boot/dts/exynos5260-xyref5260-evt0.dts
>
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index b9d6a8b..5a391bf 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -72,6 +72,7 @@ dtb-$(CONFIG_ARCH_EXYNOS) += exynos4210-origen.dtb \
>   	exynos5250-arndale.dtb \
>   	exynos5250-smdk5250.dtb \
>   	exynos5250-snow.dtb \
> +	exynos5260-xyref5260-evt0.dtb \
>   	exynos5420-arndale-octa.dtb \
>   	exynos5420-smdk5420.dtb \
>   	exynos5440-sd5v1.dtb \
> diff --git a/arch/arm/boot/dts/exynos5260-xyref5260-evt0.dts b/arch/arm/boot/dts/exynos5260-xyref5260-evt0.dts
> new file mode 100644
> index 0000000..d7d0aeb
> --- /dev/null
> +++ b/arch/arm/boot/dts/exynos5260-xyref5260-evt0.dts
> @@ -0,0 +1,110 @@
> +/*
> + * SAMSUNG XYREF5260 EVT0 board device tree source
> + *
> + * 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 "exynos5260.dtsi"
> +
> +/ {
> +	model = "SAMSUNG XYREF5260 EVT0 board based on EXYNOS5260";
> +	compatible = "samsung,xyref5260", "samsung,exynos5260";
> +
> +	memory {
> +		reg = <0x20000000 0x80000000>;
> +	};
> +
> +	chosen {
> +		bootargs = "console=ttySAC2,115200";
> +	};
> +
> +	clocks {
> +		fin_pll: xxti {
> +			compatible = "fixed-clock";
> +			clock-frequency = <24000000>;
> +			clock-output-names = "fin_pll";
> +			#clock-cells = <0>;
> +		};
> +
> +		xrtcxti: xrtcxti {
> +			compatible = "fixed-clock";
> +			clock-frequency = <32768>;
> +			clock-output-names = "xrtcxti";
> +		};

clock-cells property is missing here.

> +
> +		spdif_extclk: ioclk_spdif_extclk {
> +			compatible = "fixed-clock";
> +			clock-frequency = <49152000>;
> +			clock-output-names = "ioclk_spdif_extclk";
> +		};

ditto.

> +	};
> +};

May I know why other phyclocks and ioclks have not been added?

> +
> +&pinctrl_0 {
> +	hdmi_hpd_irq: hdmi-hpd-irq {
> +		samsung,pins = "gpx3-7";
> +		samsung,pin-function = <0>;
> +		samsung,pin-pud = <1>;
> +		samsung,pin-drv = <0>;
> +	};
> +};
> +
> +&uart0 {
> +	status = "okay";
> +};
> +
> +&uart1 {
> +	status = "okay";
> +};
> +
> +&uart2 {
> +	status = "okay";
> +};
> +
> +&uart3 {
> +	status = "okay";
> +};
> +
> +&mmc_0 {
> +	status = "okay";
> +	num-slots = <1>;
> +	broken-cd;
> +	bypass-smu;
> +	supports-highspeed;
> +	supports-hs200-mode; /* 200 Mhz */
> +	card-detect-delay = <200>;
> +	samsung,dw-mshc-ciu-div = <3>;
> +	samsung,dw-mshc-sdr-timing = <0 4>;
> +	samsung,dw-mshc-ddr-timing = <0 2>;
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&sd0_rdqs &sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8>;
> +
> +	slot@0 {
> +		reg = <0>;
> +		bus-width = <8>;
> +	};
> +};
> +
> +&mmc_2 {
> +	status = "okay";
> +	num-slots = <1>;
> +	supports-highspeed;
> +	card-detect-delay = <200>;
> +	samsung,dw-mshc-ciu-div = <3>;
> +	samsung,dw-mshc-sdr-timing = <2 3>;
> +	samsung,dw-mshc-ddr-timing = <1 2>;
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus1 &sd2_bus4>;
> +
> +	slot@0 {
> +		reg = <0>;
> +		bus-width = <4>;
> +		disable-wp;
> +	};
> +};
Rahul Sharma March 13, 2014, 5:01 a.m. UTC | #2
Thanks Pankaj,

On 13 March 2014 06:19, Pankaj Dubey <pankaj.dubey@samsung.com> wrote:
> Hi Rahul,
>
>
> On 03/13/2014 12:16 AM, Rahul Sharma wrote:
>>
>> The patch adds the dts files for xyref5260 board which
>> is based on Exynos5260 Evt0 sample.
>>
>> Signed-off-by: Rahul Sharma <rahul.sharma@samsung.com>
>> ---
>>   arch/arm/boot/dts/Makefile                      |    1 +
>>   arch/arm/boot/dts/exynos5260-xyref5260-evt0.dts |  110
>> +++++++++++++++++++++++
>>   2 files changed, 111 insertions(+)
>>   create mode 100644 arch/arm/boot/dts/exynos5260-xyref5260-evt0.dts
>>
>> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
>> index b9d6a8b..5a391bf 100644
>> --- a/arch/arm/boot/dts/Makefile
>> +++ b/arch/arm/boot/dts/Makefile
>> @@ -72,6 +72,7 @@ dtb-$(CONFIG_ARCH_EXYNOS) += exynos4210-origen.dtb \
>>         exynos5250-arndale.dtb \
>>         exynos5250-smdk5250.dtb \
>>         exynos5250-snow.dtb \
>> +       exynos5260-xyref5260-evt0.dtb \
>>         exynos5420-arndale-octa.dtb \
>>         exynos5420-smdk5420.dtb \
>>         exynos5440-sd5v1.dtb \
>> diff --git a/arch/arm/boot/dts/exynos5260-xyref5260-evt0.dts
>> b/arch/arm/boot/dts/exynos5260-xyref5260-evt0.dts
>> new file mode 100644
>> index 0000000..d7d0aeb
>> --- /dev/null
>> +++ b/arch/arm/boot/dts/exynos5260-xyref5260-evt0.dts
>> @@ -0,0 +1,110 @@
>> +/*
>> + * SAMSUNG XYREF5260 EVT0 board device tree source
>> + *
>> + * 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 "exynos5260.dtsi"
>> +
>> +/ {
>> +       model = "SAMSUNG XYREF5260 EVT0 board based on EXYNOS5260";
>> +       compatible = "samsung,xyref5260", "samsung,exynos5260";
>> +
>> +       memory {
>> +               reg = <0x20000000 0x80000000>;
>> +       };
>> +
>> +       chosen {
>> +               bootargs = "console=ttySAC2,115200";
>> +       };
>> +
>> +       clocks {
>> +               fin_pll: xxti {
>> +                       compatible = "fixed-clock";
>> +                       clock-frequency = <24000000>;
>> +                       clock-output-names = "fin_pll";
>> +                       #clock-cells = <0>;
>> +               };
>> +
>> +               xrtcxti: xrtcxti {
>> +                       compatible = "fixed-clock";
>> +                       clock-frequency = <32768>;
>> +                       clock-output-names = "xrtcxti";
>> +               };
>
>
> clock-cells property is missing here.
>

I have added #clock-cells only for clocks which
are supposed to be referred. IMO we need it otherwise.

>
>> +
>> +               spdif_extclk: ioclk_spdif_extclk {
>> +                       compatible = "fixed-clock";
>> +                       clock-frequency = <49152000>;
>> +                       clock-output-names = "ioclk_spdif_extclk";
>> +               };
>
>
> ditto.
>
>> +       };
>> +};
>
>
> May I know why other phyclocks and ioclks have not been added?
>

Phyclocks should be added in SoC file. Please refer the other patch.

Ioclocks have 2 dimensions. 1) A board may or may not have these.
But if board doesn't have them, we may end up with orphans in clock
tree. 2) Adding them in SoC is not meaningful because rate is board
dependent and cannot be mentioned in SoC file. Without rate, probe
will not be successful.

What I followed here is adding IO clocks which are resulting into
orphan clocks.

What we can do is to allow the registration of fixed-io-clocks in clock
driver which are provided without RATE? If this looks good, I can post
the respective patch for clock driver and dt correction.

I want to request experts to comment on this.

Regards,
Rahul Sharma

>
>> +
>> +&pinctrl_0 {
>> +       hdmi_hpd_irq: hdmi-hpd-irq {
>> +               samsung,pins = "gpx3-7";
>> +               samsung,pin-function = <0>;
>> +               samsung,pin-pud = <1>;
>> +               samsung,pin-drv = <0>;
>> +       };
>> +};
>> +
>> +&uart0 {
>> +       status = "okay";
>> +};
>> +
>> +&uart1 {
>> +       status = "okay";
>> +};
>> +
>> +&uart2 {
>> +       status = "okay";
>> +};
>> +
>> +&uart3 {
>> +       status = "okay";
>> +};
>> +
>> +&mmc_0 {
>> +       status = "okay";
>> +       num-slots = <1>;
>> +       broken-cd;
>> +       bypass-smu;
>> +       supports-highspeed;
>> +       supports-hs200-mode; /* 200 Mhz */
>> +       card-detect-delay = <200>;
>> +       samsung,dw-mshc-ciu-div = <3>;
>> +       samsung,dw-mshc-sdr-timing = <0 4>;
>> +       samsung,dw-mshc-ddr-timing = <0 2>;
>> +       pinctrl-names = "default";
>> +       pinctrl-0 = <&sd0_rdqs &sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4
>> &sd0_bus8>;
>> +
>> +       slot@0 {
>> +               reg = <0>;
>> +               bus-width = <8>;
>> +       };
>> +};
>> +
>> +&mmc_2 {
>> +       status = "okay";
>> +       num-slots = <1>;
>> +       supports-highspeed;
>> +       card-detect-delay = <200>;
>> +       samsung,dw-mshc-ciu-div = <3>;
>> +       samsung,dw-mshc-sdr-timing = <2 3>;
>> +       samsung,dw-mshc-ddr-timing = <1 2>;
>> +       pinctrl-names = "default";
>> +       pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus1 &sd2_bus4>;
>> +
>> +       slot@0 {
>> +               reg = <0>;
>> +               bus-width = <4>;
>> +               disable-wp;
>> +       };
>> +};
>
>
>
> --
> Best Regards,
> Pankaj Dubey
>
Rahul Sharma March 13, 2014, 6:12 a.m. UTC | #3
On 13 March 2014 10:31, Rahul Sharma <r.sh.open@gmail.com> wrote:
> Thanks Pankaj,
>
> On 13 March 2014 06:19, Pankaj Dubey <pankaj.dubey@samsung.com> wrote:
>> Hi Rahul,
>>
>>
>> On 03/13/2014 12:16 AM, Rahul Sharma wrote:
>>>
>>> The patch adds the dts files for xyref5260 board which
>>> is based on Exynos5260 Evt0 sample.
>>>
>>> Signed-off-by: Rahul Sharma <rahul.sharma@samsung.com>
>>> ---
>>>   arch/arm/boot/dts/Makefile                      |    1 +
>>>   arch/arm/boot/dts/exynos5260-xyref5260-evt0.dts |  110
>>> +++++++++++++++++++++++
>>>   2 files changed, 111 insertions(+)
>>>   create mode 100644 arch/arm/boot/dts/exynos5260-xyref5260-evt0.dts
>>>
>>> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
>>> index b9d6a8b..5a391bf 100644
>>> --- a/arch/arm/boot/dts/Makefile
>>> +++ b/arch/arm/boot/dts/Makefile
>>> @@ -72,6 +72,7 @@ dtb-$(CONFIG_ARCH_EXYNOS) += exynos4210-origen.dtb \
>>>         exynos5250-arndale.dtb \
>>>         exynos5250-smdk5250.dtb \
>>>         exynos5250-snow.dtb \
>>> +       exynos5260-xyref5260-evt0.dtb \
>>>         exynos5420-arndale-octa.dtb \
>>>         exynos5420-smdk5420.dtb \
>>>         exynos5440-sd5v1.dtb \
>>> diff --git a/arch/arm/boot/dts/exynos5260-xyref5260-evt0.dts
>>> b/arch/arm/boot/dts/exynos5260-xyref5260-evt0.dts
>>> new file mode 100644
>>> index 0000000..d7d0aeb
>>> --- /dev/null
>>> +++ b/arch/arm/boot/dts/exynos5260-xyref5260-evt0.dts
>>> @@ -0,0 +1,110 @@
>>> +/*
>>> + * SAMSUNG XYREF5260 EVT0 board device tree source
>>> + *
>>> + * 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 "exynos5260.dtsi"
>>> +
>>> +/ {
>>> +       model = "SAMSUNG XYREF5260 EVT0 board based on EXYNOS5260";
>>> +       compatible = "samsung,xyref5260", "samsung,exynos5260";
>>> +
>>> +       memory {
>>> +               reg = <0x20000000 0x80000000>;
>>> +       };
>>> +
>>> +       chosen {
>>> +               bootargs = "console=ttySAC2,115200";
>>> +       };
>>> +
>>> +       clocks {
>>> +               fin_pll: xxti {
>>> +                       compatible = "fixed-clock";
>>> +                       clock-frequency = <24000000>;
>>> +                       clock-output-names = "fin_pll";
>>> +                       #clock-cells = <0>;
>>> +               };
>>> +
>>> +               xrtcxti: xrtcxti {
>>> +                       compatible = "fixed-clock";
>>> +                       clock-frequency = <32768>;
>>> +                       clock-output-names = "xrtcxti";
>>> +               };
>>
>>
>> clock-cells property is missing here.
>>
>
I have added #clock-cells only for clocks which
are supposed to be referred. IMO we don't need it otherwise.
>
>>
>>> +
>>> +               spdif_extclk: ioclk_spdif_extclk {
>>> +                       compatible = "fixed-clock";
>>> +                       clock-frequency = <49152000>;
>>> +                       clock-output-names = "ioclk_spdif_extclk";
>>> +               };
>>
>>
>> ditto.
>>
>>> +       };
>>> +};
>>
>>
>> May I know why other phyclocks and ioclks have not been added?
>>
>
> Phyclocks should be added in SoC file. Please refer the other patch.
>
> Ioclocks have 2 dimensions. 1) A board may or may not have these.
> But if board doesn't have them, we may end up with orphans in clock
> tree. 2) Adding them in SoC is not meaningful because rate is board
> dependent and cannot be mentioned in SoC file. Without rate, probe
> will not be successful.
>
> What I followed here is adding IO clocks which are resulting into
> orphan clocks.
>
> What we can do is to allow the registration of fixed-io-clocks in clock
> driver which are provided without RATE? If this looks good, I can post
> the respective patch for clock driver and dt correction.
>
> I want to request experts to comment on this.
>
> Regards,
> Rahul Sharma
>
>>
>>> +
>>> +&pinctrl_0 {
>>> +       hdmi_hpd_irq: hdmi-hpd-irq {
>>> +               samsung,pins = "gpx3-7";
>>> +               samsung,pin-function = <0>;
>>> +               samsung,pin-pud = <1>;
>>> +               samsung,pin-drv = <0>;
>>> +       };
>>> +};
>>> +
>>> +&uart0 {
>>> +       status = "okay";
>>> +};
>>> +
>>> +&uart1 {
>>> +       status = "okay";
>>> +};
>>> +
>>> +&uart2 {
>>> +       status = "okay";
>>> +};
>>> +
>>> +&uart3 {
>>> +       status = "okay";
>>> +};
>>> +
>>> +&mmc_0 {
>>> +       status = "okay";
>>> +       num-slots = <1>;
>>> +       broken-cd;
>>> +       bypass-smu;
>>> +       supports-highspeed;
>>> +       supports-hs200-mode; /* 200 Mhz */
>>> +       card-detect-delay = <200>;
>>> +       samsung,dw-mshc-ciu-div = <3>;
>>> +       samsung,dw-mshc-sdr-timing = <0 4>;
>>> +       samsung,dw-mshc-ddr-timing = <0 2>;
>>> +       pinctrl-names = "default";
>>> +       pinctrl-0 = <&sd0_rdqs &sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4
>>> &sd0_bus8>;
>>> +
>>> +       slot@0 {
>>> +               reg = <0>;
>>> +               bus-width = <8>;
>>> +       };
>>> +};
>>> +
>>> +&mmc_2 {
>>> +       status = "okay";
>>> +       num-slots = <1>;
>>> +       supports-highspeed;
>>> +       card-detect-delay = <200>;
>>> +       samsung,dw-mshc-ciu-div = <3>;
>>> +       samsung,dw-mshc-sdr-timing = <2 3>;
>>> +       samsung,dw-mshc-ddr-timing = <1 2>;
>>> +       pinctrl-names = "default";
>>> +       pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus1 &sd2_bus4>;
>>> +
>>> +       slot@0 {
>>> +               reg = <0>;
>>> +               bus-width = <4>;
>>> +               disable-wp;
>>> +       };
>>> +};
>>
>>
>>
>> --
>> Best Regards,
>> Pankaj Dubey
>>
Tomasz Figa March 13, 2014, 6:38 p.m. UTC | #4
On 13.03.2014 06:01, Rahul Sharma wrote:
> Thanks Pankaj,
>
> On 13 March 2014 06:19, Pankaj Dubey <pankaj.dubey@samsung.com> wrote:
>> Hi Rahul,
>>
>>
>> On 03/13/2014 12:16 AM, Rahul Sharma wrote:
>>>
>>> The patch adds the dts files for xyref5260 board which
>>> is based on Exynos5260 Evt0 sample.
>>>
>>> Signed-off-by: Rahul Sharma <rahul.sharma@samsung.com>
>>> ---
>>>    arch/arm/boot/dts/Makefile                      |    1 +
>>>    arch/arm/boot/dts/exynos5260-xyref5260-evt0.dts |  110
>>> +++++++++++++++++++++++
>>>    2 files changed, 111 insertions(+)
>>>    create mode 100644 arch/arm/boot/dts/exynos5260-xyref5260-evt0.dts
>>>
>>> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
>>> index b9d6a8b..5a391bf 100644
>>> --- a/arch/arm/boot/dts/Makefile
>>> +++ b/arch/arm/boot/dts/Makefile
>>> @@ -72,6 +72,7 @@ dtb-$(CONFIG_ARCH_EXYNOS) += exynos4210-origen.dtb \
>>>          exynos5250-arndale.dtb \
>>>          exynos5250-smdk5250.dtb \
>>>          exynos5250-snow.dtb \
>>> +       exynos5260-xyref5260-evt0.dtb \
>>>          exynos5420-arndale-octa.dtb \
>>>          exynos5420-smdk5420.dtb \
>>>          exynos5440-sd5v1.dtb \
>>> diff --git a/arch/arm/boot/dts/exynos5260-xyref5260-evt0.dts
>>> b/arch/arm/boot/dts/exynos5260-xyref5260-evt0.dts
>>> new file mode 100644
>>> index 0000000..d7d0aeb
>>> --- /dev/null
>>> +++ b/arch/arm/boot/dts/exynos5260-xyref5260-evt0.dts
>>> @@ -0,0 +1,110 @@
>>> +/*
>>> + * SAMSUNG XYREF5260 EVT0 board device tree source
>>> + *
>>> + * 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 "exynos5260.dtsi"
>>> +
>>> +/ {
>>> +       model = "SAMSUNG XYREF5260 EVT0 board based on EXYNOS5260";
>>> +       compatible = "samsung,xyref5260", "samsung,exynos5260";
>>> +
>>> +       memory {
>>> +               reg = <0x20000000 0x80000000>;
>>> +       };
>>> +
>>> +       chosen {
>>> +               bootargs = "console=ttySAC2,115200";
>>> +       };
>>> +
>>> +       clocks {
>>> +               fin_pll: xxti {
>>> +                       compatible = "fixed-clock";
>>> +                       clock-frequency = <24000000>;
>>> +                       clock-output-names = "fin_pll";
>>> +                       #clock-cells = <0>;
>>> +               };
>>> +
>>> +               xrtcxti: xrtcxti {
>>> +                       compatible = "fixed-clock";
>>> +                       clock-frequency = <32768>;
>>> +                       clock-output-names = "xrtcxti";
>>> +               };
>>
>>
>> clock-cells property is missing here.
>>
>
> I have added #clock-cells only for clocks which
> are supposed to be referred. IMO we need it otherwise.

The fixed-clock binding requires the #clock-cells property to be present 
with value of <0>. It is not a valid fixed-clock otherwise.

>>
>>> +
>>> +               spdif_extclk: ioclk_spdif_extclk {
>>> +                       compatible = "fixed-clock";
>>> +                       clock-frequency = <49152000>;
>>> +                       clock-output-names = "ioclk_spdif_extclk";
>>> +               };
>>
>>
>> ditto.
>>
>>> +       };
>>> +};
>>
>>
>> May I know why other phyclocks and ioclks have not been added?
>>
>
> Phyclocks should be added in SoC file. Please refer the other patch.
>
> Ioclocks have 2 dimensions. 1) A board may or may not have these.
> But if board doesn't have them, we may end up with orphans in clock
> tree. 2) Adding them in SoC is not meaningful because rate is board
> dependent and cannot be mentioned in SoC file. Without rate, probe
> will not be successful.
>
> What I followed here is adding IO clocks which are resulting into
> orphan clocks.

Only clocks with active parents set to missing ioclocks will be 
orphaned. If a mux has an ioclock as its default parent, it can be still 
reconfigured to another input normally.

>
> What we can do is to allow the registration of fixed-io-clocks in clock
> driver which are provided without RATE? If this looks good, I can post
> the respective patch for clock driver and dt correction.

I believe ioclocks should be registered properly using DT, only if 
present. It is important, because such ioclock might not be an always-on 
fixed rate clock, but instead a configurable external clock generator.

Best regards,
Tomasz
diff mbox

Patch

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index b9d6a8b..5a391bf 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -72,6 +72,7 @@  dtb-$(CONFIG_ARCH_EXYNOS) += exynos4210-origen.dtb \
 	exynos5250-arndale.dtb \
 	exynos5250-smdk5250.dtb \
 	exynos5250-snow.dtb \
+	exynos5260-xyref5260-evt0.dtb \
 	exynos5420-arndale-octa.dtb \
 	exynos5420-smdk5420.dtb \
 	exynos5440-sd5v1.dtb \
diff --git a/arch/arm/boot/dts/exynos5260-xyref5260-evt0.dts b/arch/arm/boot/dts/exynos5260-xyref5260-evt0.dts
new file mode 100644
index 0000000..d7d0aeb
--- /dev/null
+++ b/arch/arm/boot/dts/exynos5260-xyref5260-evt0.dts
@@ -0,0 +1,110 @@ 
+/*
+ * SAMSUNG XYREF5260 EVT0 board device tree source
+ *
+ * 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 "exynos5260.dtsi"
+
+/ {
+	model = "SAMSUNG XYREF5260 EVT0 board based on EXYNOS5260";
+	compatible = "samsung,xyref5260", "samsung,exynos5260";
+
+	memory {
+		reg = <0x20000000 0x80000000>;
+	};
+
+	chosen {
+		bootargs = "console=ttySAC2,115200";
+	};
+
+	clocks {
+		fin_pll: xxti {
+			compatible = "fixed-clock";
+			clock-frequency = <24000000>;
+			clock-output-names = "fin_pll";
+			#clock-cells = <0>;
+		};
+
+		xrtcxti: xrtcxti {
+			compatible = "fixed-clock";
+			clock-frequency = <32768>;
+			clock-output-names = "xrtcxti";
+		};
+
+		spdif_extclk: ioclk_spdif_extclk {
+			compatible = "fixed-clock";
+			clock-frequency = <49152000>;
+			clock-output-names = "ioclk_spdif_extclk";
+		};
+	};
+};
+
+&pinctrl_0 {
+	hdmi_hpd_irq: hdmi-hpd-irq {
+		samsung,pins = "gpx3-7";
+		samsung,pin-function = <0>;
+		samsung,pin-pud = <1>;
+		samsung,pin-drv = <0>;
+	};
+};
+
+&uart0 {
+	status = "okay";
+};
+
+&uart1 {
+	status = "okay";
+};
+
+&uart2 {
+	status = "okay";
+};
+
+&uart3 {
+	status = "okay";
+};
+
+&mmc_0 {
+	status = "okay";
+	num-slots = <1>;
+	broken-cd;
+	bypass-smu;
+	supports-highspeed;
+	supports-hs200-mode; /* 200 Mhz */
+	card-detect-delay = <200>;
+	samsung,dw-mshc-ciu-div = <3>;
+	samsung,dw-mshc-sdr-timing = <0 4>;
+	samsung,dw-mshc-ddr-timing = <0 2>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&sd0_rdqs &sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8>;
+
+	slot@0 {
+		reg = <0>;
+		bus-width = <8>;
+	};
+};
+
+&mmc_2 {
+	status = "okay";
+	num-slots = <1>;
+	supports-highspeed;
+	card-detect-delay = <200>;
+	samsung,dw-mshc-ciu-div = <3>;
+	samsung,dw-mshc-sdr-timing = <2 3>;
+	samsung,dw-mshc-ddr-timing = <1 2>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus1 &sd2_bus4>;
+
+	slot@0 {
+		reg = <0>;
+		bus-width = <4>;
+		disable-wp;
+	};
+};