Re: [PATCH v8 14/16] ARM: dts: Introduce STM32F429 MCU

From: Daniel Thompson
Date: Fri May 22 2015 - 08:43:55 EST


On 22/05/15 13:32, Maxime Coquelin wrote:
2015-05-22 12:07 GMT+02:00 Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>:
And that's how I'd expect it to be described by the device tree:

rcc: rcc@40023800 {
compatible = "st,stm32-rcc";
reg = <0x40023800 0xc0>;
};


Doing that, since this register bank contains both reset and clock
registers, the reset device cannot get the IO resource at probe time
because the clock driver has already reserved it.
Daniel, who has started to work on the clock driver is facing this issue.
This is why I proposed this binding for "reg" property.

Temporarily I've kept things working for me by avoiding of_io_request_and_map() in the clock driver (I am using raw of_iomap() instead).

I view this as a hack rather than a solution!

Note that, with or without the hack, I do hope to be able to post the clock driver this weekend. I am acutely aware that at the moment we are discussing code I haven't posted yet.


We could think of creating a MFD driver, but the problem is that clock
need to be intialized before a MFD device can be probed.

Maybe there is a way to have you binding working properly, but I
haven't found one for now.

I guess a driver doesn't *have* to reserve all the register space described in DT. The driver could replace of_io_request_and_map() with lower level calls.

Thus if we wanted to keep this detail out of DT then I guess the two drivers could simply make an agreement not to request registers they do not use.


--
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/