Re: 회신: 회신: [PATCH] ODROID-X: hkdk4412: Add new hardware based on Exynos4412

From: Thomas Abraham
Date: Tue Aug 07 2012 - 00:14:19 EST


On 7 August 2012 07:58, Olof Johansson <olof@xxxxxxxxx> wrote:
> Hi,
>
> On Mon, Aug 6, 2012 at 7:05 PM, Dongjin Kim
> <Dongjin.Kim@xxxxxxxxxxxxxxxxxxx> wrote:
>> Hello,
>>
>> I am trying to understand what I have to do for device tree.
>>
>> In order to create dts file for ODROID-X hardware, it seems I may need dts file of EXYNOS4412 SoC.
>> But maybe exynos4412.dtsi is not merged yet or not exist, like exynos4210.dtsi or exynos5250.dtsi.
>> Obviously it seems not easy to create such a file without SoC datasheet, and I do not have it.
>>
>> So do I wait for the file to be merged by Samsung or better to create initial dts file cloned from exynos4210.dtsi and modify to have verified nodes with the source/header files?
>
> Ideally they already have one waiting to be submitted, but that might
> not be the case. Given that the origenboard design with 4412 is not
> yet shipping, I'm guessing the Linaro Samsung engineers might not have
> done much work on 4412 yet. Kukjin? Thomas?
>
>> What's your suggestion?
>
> The alternative is to use the data you have available -- i.e. sources
> and patches, and craft the device tree from there. The design of 4412
> is a derivative from 4210, so that's a good start. Next step would be
> to describe the board on top of the SoC, peripherals, etc. Take a look
> at how the origen board support was added, and so on.
>
> I ordered an odroid-x several weeks ago but I haven't have a confirmed
> shipping date yet. :( I'm not sure how long it'll be before I can help
> out, unfortunately.
>
>
> -Olof

Most of the Exynos4210 device tree support can be reused for
Exynos4412 as well. Looking at the hardware differences between the
two, it might be better to create a new exynos4.dtsi file (kind of
creating it out of the existing exynos4210.dtsi) which will have all
the common bits across all SoC's in the Exynos4 family.

Further, there can be exynos4210.dtsi and exynos4412.dtsi which would
specify SoC specific differences such as the GIC cpu-offset property
and the additional groups available in the interrupt combiner.

There are differences in the gpio/pinmux controllers as well which
have to be described using device tree. The current gpio/pinmux device
tree support depends entirely on the gpio-samsung driver which handles
both gpio and pinmux but requires listing all the banks available in
Exynos4412. I would prefer not to do that since we are switching over
to using a pin controller driver and I am currently working on this
driver.

The pin controller driver is important without which the
gpio/pinmux/pinconf setting for devices such as i2c and sdhci
controller cannot be setup. The basic pinctrl driver for Exynos4 has
already been posted and now I am working on adding gpio and wakeup
interrupt support into that driver (hoping to complete it this week).

So the probable steps in getting started with using device tree for
Exynos4412 would be

1. Create a new exynos4.dtsi file with all the Exynos4 common
properties for all dt supported controllers.
2. Update the exynos4210.dtsi file accordingly and add the new
exynos4412.dtsi file.
3. With this, it will be possible to boot the kernel and test
peripherals that do not depend on gpio/pinmux (rtc, wdt, etc).
4. When the Exynos4 pinctrl driver is available, start adding device
nodes for i2c and sdhci controllers.
5. Incrementally add device tree coverage for the board and other
peripherals on Exynos4412.

Thanks,
Thomas.
--
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/