Re: [PATCH 10/10] arm: add basic support for Rockchip RK3066a boards
From: Heiko Stübner <heiko@sntech.de>
Date: 2013-06-03 09:47:15
Also in:
linux-arm-kernel, linux-mmc, lkml
Am Montag, 3. Juni 2013, 11:22:35 schrieb Arnd Bergmann:
On Monday 03 June 2013 10:23:49 Heiko Stübner wrote:quoted
Am Montag, 3. Juni 2013, 04:15:46 schrieb Arnd Bergmann:quoted
Can't you use of_clk_init(NULL); clocksource_of_init(); here and change the two drivers to provide the respective macros?hmm, while this would make a lot of things easier I don't see right now how this would work. The dw_apb_timer clocksource does not have its own device node, but instead uses two timer devices as clocksource and clockevent. Hmm ... one idea would be to wrap them in the dt, like clocksource { compatible = "snps,dw-apb-clocksource" timer@2003a000 { compatible = "snps,dw-apb-timer-osc"; reg = <0x2003a000 0x100>; interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; clocks = <&clk_gates1 1>, <&clk_gates7 8>; clock-names = "timer", "pclk"; }; timer@2000e000 { compatible = "snps,dw-apb-timer-osc"; reg = <0x2000e000 0x100>; interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>; clocks = <&clk_gates1 2>, <&clk_gates7 9>; clock-names = "timer", "pclk"; }; };Can't you just have multiple CLOCKSOURCE_OF_DECLARE() lines, one for each of the nodes?
The timers are of the same type and the clocksource driver just grabs the first of them as clockevent and the second as clocksource, so I think two CLOCKSOURCE_OF_DECLARE lines won't do. But I just looked at clocksource_of_init a bit more closely, which does a for_each_matching_node_and_match over the nodes. So the init_func could grab the device for the clockevent on the first call and the clocksource when it gets called for the second matching node.
quoted
quoted
quoted
+DT_MACHINE_START(ROCKCHIP_DT, "Rockchip Cortex-A9 (Device Tree)") + .map_io = debug_ll_io_init, + .init_machine = rockchip_dt_init, + .init_time = rockchip_timer_init, + .dt_compat = rockchip_board_dt_compat, +MACHINE_ENDThe map_io line can already get removed.Yesterday I did grep thru the linux-next I was using as base looking for the debug_ll_io_init default I read about but was not able to find it ... most likely my linux-next is a tad to old.Yes, it only showed up in today's linux-next. I thought it was older.