diff options
author | Ulrich Hecht <ulrich.hecht+renesas@gmail.com> | 2015-02-16 11:58:47 -0500 |
---|---|---|
committer | Simon Horman <horms+renesas@verge.net.au> | 2015-02-23 16:40:45 -0500 |
commit | 93aa970d2b0ce41efb7e5e6b94aaa66e8349a510 (patch) | |
tree | 6b81929413886ed055b4f4e3146555b9bf3962b9 /arch/arm/boot/dts | |
parent | 83054671d28db9f1dbac1d3d1bf3b50b128e06ba (diff) |
ARM: shmobile: r8a7778: Common clock framework DT description
Declares all r8a7778 clocks supported by the legacy clock framework,
plus tmu2.
Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@gmail.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
[horms: only included dtsi changes]
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Diffstat (limited to 'arch/arm/boot/dts')
-rw-r--r-- | arch/arm/boot/dts/r8a7778.dtsi | 191 |
1 files changed, 191 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/r8a7778.dtsi b/arch/arm/boot/dts/r8a7778.dtsi index ef8533910029..822ba9003138 100644 --- a/arch/arm/boot/dts/r8a7778.dtsi +++ b/arch/arm/boot/dts/r8a7778.dtsi | |||
@@ -16,6 +16,7 @@ | |||
16 | 16 | ||
17 | /include/ "skeleton.dtsi" | 17 | /include/ "skeleton.dtsi" |
18 | 18 | ||
19 | #include <dt-bindings/clock/r8a7778-clock.h> | ||
19 | #include <dt-bindings/interrupt-controller/irq.h> | 20 | #include <dt-bindings/interrupt-controller/irq.h> |
20 | 21 | ||
21 | / { | 22 | / { |
@@ -294,4 +295,194 @@ | |||
294 | #size-cells = <0>; | 295 | #size-cells = <0>; |
295 | status = "disabled"; | 296 | status = "disabled"; |
296 | }; | 297 | }; |
298 | |||
299 | clocks { | ||
300 | #address-cells = <1>; | ||
301 | #size-cells = <1>; | ||
302 | ranges; | ||
303 | |||
304 | /* External input clock */ | ||
305 | extal_clk: extal_clk { | ||
306 | compatible = "fixed-clock"; | ||
307 | #clock-cells = <0>; | ||
308 | clock-frequency = <0>; | ||
309 | clock-output-names = "extal"; | ||
310 | }; | ||
311 | |||
312 | /* Special CPG clocks */ | ||
313 | cpg_clocks: cpg_clocks@ffc80000 { | ||
314 | compatible = "renesas,r8a7778-cpg-clocks"; | ||
315 | reg = <0xffc80000 0x80>; | ||
316 | #clock-cells = <1>; | ||
317 | clocks = <&extal_clk>; | ||
318 | clock-output-names = "plla", "pllb", "b", | ||
319 | "out", "p", "s", "s1"; | ||
320 | }; | ||
321 | |||
322 | /* Audio clocks; frequencies are set by boards if applicable. */ | ||
323 | audio_clk_a: audio_clk_a { | ||
324 | compatible = "fixed-clock"; | ||
325 | #clock-cells = <0>; | ||
326 | clock-output-names = "audio_clk_a"; | ||
327 | }; | ||
328 | audio_clk_b: audio_clk_b { | ||
329 | compatible = "fixed-clock"; | ||
330 | #clock-cells = <0>; | ||
331 | clock-output-names = "audio_clk_b"; | ||
332 | }; | ||
333 | audio_clk_c: audio_clk_c { | ||
334 | compatible = "fixed-clock"; | ||
335 | #clock-cells = <0>; | ||
336 | clock-output-names = "audio_clk_c"; | ||
337 | }; | ||
338 | |||
339 | /* Fixed ratio clocks */ | ||
340 | g_clk: g_clk { | ||
341 | compatible = "fixed-factor-clock"; | ||
342 | clocks = <&cpg_clocks R8A7778_CLK_PLLA>; | ||
343 | #clock-cells = <0>; | ||
344 | clock-div = <12>; | ||
345 | clock-mult = <1>; | ||
346 | clock-output-names = "g"; | ||
347 | }; | ||
348 | i_clk: i_clk { | ||
349 | compatible = "fixed-factor-clock"; | ||
350 | clocks = <&cpg_clocks R8A7778_CLK_PLLA>; | ||
351 | #clock-cells = <0>; | ||
352 | clock-div = <1>; | ||
353 | clock-mult = <1>; | ||
354 | clock-output-names = "i"; | ||
355 | }; | ||
356 | s3_clk: s3_clk { | ||
357 | compatible = "fixed-factor-clock"; | ||
358 | clocks = <&cpg_clocks R8A7778_CLK_PLLA>; | ||
359 | #clock-cells = <0>; | ||
360 | clock-div = <4>; | ||
361 | clock-mult = <1>; | ||
362 | clock-output-names = "s3"; | ||
363 | }; | ||
364 | s4_clk: s4_clk { | ||
365 | compatible = "fixed-factor-clock"; | ||
366 | clocks = <&cpg_clocks R8A7778_CLK_PLLA>; | ||
367 | #clock-cells = <0>; | ||
368 | clock-div = <8>; | ||
369 | clock-mult = <1>; | ||
370 | clock-output-names = "s4"; | ||
371 | }; | ||
372 | z_clk: z_clk { | ||
373 | compatible = "fixed-factor-clock"; | ||
374 | clocks = <&cpg_clocks R8A7778_CLK_PLLB>; | ||
375 | #clock-cells = <0>; | ||
376 | clock-div = <1>; | ||
377 | clock-mult = <1>; | ||
378 | clock-output-names = "z"; | ||
379 | }; | ||
380 | |||
381 | /* Gate clocks */ | ||
382 | mstp0_clks: mstp0_clks@ffc80030 { | ||
383 | compatible = "renesas,r8a7778-mstp-clocks", "renesas,cpg-mstp-clocks"; | ||
384 | reg = <0xffc80030 4>; | ||
385 | clocks = <&cpg_clocks R8A7778_CLK_P>, | ||
386 | <&cpg_clocks R8A7778_CLK_P>, | ||
387 | <&cpg_clocks R8A7778_CLK_P>, | ||
388 | <&cpg_clocks R8A7778_CLK_P>, | ||
389 | <&cpg_clocks R8A7778_CLK_P>, | ||
390 | <&cpg_clocks R8A7778_CLK_P>, | ||
391 | <&cpg_clocks R8A7778_CLK_P>, | ||
392 | <&cpg_clocks R8A7778_CLK_P>, | ||
393 | <&cpg_clocks R8A7778_CLK_P>, | ||
394 | <&cpg_clocks R8A7778_CLK_P>, | ||
395 | <&cpg_clocks R8A7778_CLK_P>, | ||
396 | <&cpg_clocks R8A7778_CLK_P>, | ||
397 | <&cpg_clocks R8A7778_CLK_P>, | ||
398 | <&cpg_clocks R8A7778_CLK_P>, | ||
399 | <&cpg_clocks R8A7778_CLK_P>, | ||
400 | <&cpg_clocks R8A7778_CLK_P>, | ||
401 | <&cpg_clocks R8A7778_CLK_P>, | ||
402 | <&cpg_clocks R8A7778_CLK_P>, | ||
403 | <&cpg_clocks R8A7778_CLK_S>; | ||
404 | #clock-cells = <1>; | ||
405 | clock-indices = < | ||
406 | R8A7778_CLK_I2C0 R8A7778_CLK_I2C1 | ||
407 | R8A7778_CLK_I2C2 R8A7778_CLK_I2C3 | ||
408 | R8A7778_CLK_SCIF0 R8A7778_CLK_SCIF1 | ||
409 | R8A7778_CLK_SCIF2 R8A7778_CLK_SCIF3 | ||
410 | R8A7778_CLK_SCIF4 R8A7778_CLK_SCIF5 | ||
411 | R8A7778_CLK_TMU0 R8A7778_CLK_TMU1 | ||
412 | R8A7778_CLK_TMU2 R8A7778_CLK_SSI0 | ||
413 | R8A7778_CLK_SSI1 R8A7778_CLK_SSI2 | ||
414 | R8A7778_CLK_SSI3 R8A7778_CLK_SRU | ||
415 | R8A7778_CLK_HSPI | ||
416 | >; | ||
417 | clock-output-names = | ||
418 | "i2c0", "i2c1", "i2c2", "i2c3", "scif0", | ||
419 | "scif1", "scif2", "scif3", "scif4", "scif5", | ||
420 | "tmu0", "tmu1", "tmu2", "ssi0", "ssi1", | ||
421 | "ssi2", "ssi3", "sru", "hspi"; | ||
422 | }; | ||
423 | mstp1_clks: mstp1_clks@ffc80034 { | ||
424 | compatible = "renesas,r8a7778-mstp-clocks", "renesas,cpg-mstp-clocks"; | ||
425 | reg = <0xffc80034 4>, <0xffc80044 4>; | ||
426 | clocks = <&cpg_clocks R8A7778_CLK_P>, | ||
427 | <&cpg_clocks R8A7778_CLK_S>, | ||
428 | <&cpg_clocks R8A7778_CLK_S>, | ||
429 | <&cpg_clocks R8A7778_CLK_P>; | ||
430 | #clock-cells = <1>; | ||
431 | clock-indices = < | ||
432 | R8A7778_CLK_ETHER R8A7778_CLK_VIN0 | ||
433 | R8A7778_CLK_VIN1 R8A7778_CLK_USB | ||
434 | >; | ||
435 | clock-output-names = | ||
436 | "ether", "vin0", "vin1", "usb"; | ||
437 | }; | ||
438 | mstp3_clks: mstp3_clks@ffc8003c { | ||
439 | compatible = "renesas,r8a7778-mstp-clocks", "renesas,cpg-mstp-clocks"; | ||
440 | reg = <0xffc8003c 4>; | ||
441 | clocks = <&s4_clk>, | ||
442 | <&cpg_clocks R8A7778_CLK_P>, | ||
443 | <&cpg_clocks R8A7778_CLK_P>, | ||
444 | <&cpg_clocks R8A7778_CLK_P>, | ||
445 | <&cpg_clocks R8A7778_CLK_P>, | ||
446 | <&cpg_clocks R8A7778_CLK_P>, | ||
447 | <&cpg_clocks R8A7778_CLK_P>, | ||
448 | <&cpg_clocks R8A7778_CLK_P>, | ||
449 | <&cpg_clocks R8A7778_CLK_P>; | ||
450 | #clock-cells = <1>; | ||
451 | clock-indices = < | ||
452 | R8A7778_CLK_MMC R8A7778_CLK_SDHI0 | ||
453 | R8A7778_CLK_SDHI1 R8A7778_CLK_SDHI2 | ||
454 | R8A7778_CLK_SSI4 R8A7778_CLK_SSI5 | ||
455 | R8A7778_CLK_SSI6 R8A7778_CLK_SSI7 | ||
456 | R8A7778_CLK_SSI8 | ||
457 | >; | ||
458 | clock-output-names = | ||
459 | "mmc", "sdhi0", "sdhi1", "sdhi2", "ssi4", | ||
460 | "ssi5", "ssi6", "ssi7", "ssi8"; | ||
461 | }; | ||
462 | mstp5_clks: mstp5_clks@ffc80054 { | ||
463 | compatible = "renesas,r8a7778-mstp-clocks", "renesas,cpg-mstp-clocks"; | ||
464 | reg = <0xffc80054 4>; | ||
465 | clocks = <&cpg_clocks R8A7778_CLK_P>, | ||
466 | <&cpg_clocks R8A7778_CLK_P>, | ||
467 | <&cpg_clocks R8A7778_CLK_P>, | ||
468 | <&cpg_clocks R8A7778_CLK_P>, | ||
469 | <&cpg_clocks R8A7778_CLK_P>, | ||
470 | <&cpg_clocks R8A7778_CLK_P>, | ||
471 | <&cpg_clocks R8A7778_CLK_P>, | ||
472 | <&cpg_clocks R8A7778_CLK_P>, | ||
473 | <&cpg_clocks R8A7778_CLK_P>; | ||
474 | #clock-cells = <1>; | ||
475 | clock-indices = < | ||
476 | R8A7778_CLK_SRU_SRC0 R8A7778_CLK_SRU_SRC1 | ||
477 | R8A7778_CLK_SRU_SRC2 R8A7778_CLK_SRU_SRC3 | ||
478 | R8A7778_CLK_SRU_SRC4 R8A7778_CLK_SRU_SRC5 | ||
479 | R8A7778_CLK_SRU_SRC6 R8A7778_CLK_SRU_SRC7 | ||
480 | R8A7778_CLK_SRU_SRC8 | ||
481 | >; | ||
482 | clock-output-names = | ||
483 | "sru-src0", "sru-src1", "sru-src2", | ||
484 | "sru-src3", "sru-src4", "sru-src5", | ||
485 | "sru-src6", "sru-src7", "sru-src8"; | ||
486 | }; | ||
487 | }; | ||
297 | }; | 488 | }; |