Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge branch 'asm/dt' into next/dt

* asm/dt:
add Alphascale to vendor-prefixes.txt
ARM: add alphascale,acc.txt bindings documentation
ARM: dts: add DT for Alphascale ASM9260 SoC

+193 -1
+115
Documentation/devicetree/bindings/clock/alphascale,acc.txt
··· 1 + Alphascale Clock Controller 2 + 3 + The ACC (Alphascale Clock Controller) is responsible of choising proper 4 + clock source, setting deviders and clock gates. 5 + 6 + Required properties for the ACC node: 7 + - compatible: must be "alphascale,asm9260-clock-controller" 8 + - reg: must contain the ACC register base and size 9 + - #clock-cells : shall be set to 1. 10 + 11 + Simple one-cell clock specifier format is used, where the only cell is used 12 + as an index of the clock inside the provider. 13 + It is encouraged to use dt-binding for clock index definitions. SoC specific 14 + dt-binding should be included to the device tree descriptor. For example 15 + Alphascale ASM9260: 16 + #include <dt-bindings/clock/alphascale,asm9260.h> 17 + 18 + This binding contains two types of clock providers: 19 + _AHB_ - AHB gate; 20 + _SYS_ - adjustable clock source. Not all peripheral have _SYS_ clock provider. 21 + All clock specific details can be found in the SoC documentation. 22 + CLKID_AHB_ROM 0 23 + CLKID_AHB_RAM 1 24 + CLKID_AHB_GPIO 2 25 + CLKID_AHB_MAC 3 26 + CLKID_AHB_EMI 4 27 + CLKID_AHB_USB0 5 28 + CLKID_AHB_USB1 6 29 + CLKID_AHB_DMA0 7 30 + CLKID_AHB_DMA1 8 31 + CLKID_AHB_UART0 9 32 + CLKID_AHB_UART1 10 33 + CLKID_AHB_UART2 11 34 + CLKID_AHB_UART3 12 35 + CLKID_AHB_UART4 13 36 + CLKID_AHB_UART5 14 37 + CLKID_AHB_UART6 15 38 + CLKID_AHB_UART7 16 39 + CLKID_AHB_UART8 17 40 + CLKID_AHB_UART9 18 41 + CLKID_AHB_I2S0 19 42 + CLKID_AHB_I2C0 20 43 + CLKID_AHB_I2C1 21 44 + CLKID_AHB_SSP0 22 45 + CLKID_AHB_IOCONFIG 23 46 + CLKID_AHB_WDT 24 47 + CLKID_AHB_CAN0 25 48 + CLKID_AHB_CAN1 26 49 + CLKID_AHB_MPWM 27 50 + CLKID_AHB_SPI0 28 51 + CLKID_AHB_SPI1 29 52 + CLKID_AHB_QEI 30 53 + CLKID_AHB_QUADSPI0 31 54 + CLKID_AHB_CAMIF 32 55 + CLKID_AHB_LCDIF 33 56 + CLKID_AHB_TIMER0 34 57 + CLKID_AHB_TIMER1 35 58 + CLKID_AHB_TIMER2 36 59 + CLKID_AHB_TIMER3 37 60 + CLKID_AHB_IRQ 38 61 + CLKID_AHB_RTC 39 62 + CLKID_AHB_NAND 40 63 + CLKID_AHB_ADC0 41 64 + CLKID_AHB_LED 42 65 + CLKID_AHB_DAC0 43 66 + CLKID_AHB_LCD 44 67 + CLKID_AHB_I2S1 45 68 + CLKID_AHB_MAC1 46 69 + 70 + CLKID_SYS_CPU 47 71 + CLKID_SYS_AHB 48 72 + CLKID_SYS_I2S0M 49 73 + CLKID_SYS_I2S0S 50 74 + CLKID_SYS_I2S1M 51 75 + CLKID_SYS_I2S1S 52 76 + CLKID_SYS_UART0 53 77 + CLKID_SYS_UART1 54 78 + CLKID_SYS_UART2 55 79 + CLKID_SYS_UART3 56 80 + CLKID_SYS_UART4 56 81 + CLKID_SYS_UART5 57 82 + CLKID_SYS_UART6 58 83 + CLKID_SYS_UART7 59 84 + CLKID_SYS_UART8 60 85 + CLKID_SYS_UART9 61 86 + CLKID_SYS_SPI0 62 87 + CLKID_SYS_SPI1 63 88 + CLKID_SYS_QUADSPI 64 89 + CLKID_SYS_SSP0 65 90 + CLKID_SYS_NAND 66 91 + CLKID_SYS_TRACE 67 92 + CLKID_SYS_CAMM 68 93 + CLKID_SYS_WDT 69 94 + CLKID_SYS_CLKOUT 70 95 + CLKID_SYS_MAC 71 96 + CLKID_SYS_LCD 72 97 + CLKID_SYS_ADCANA 73 98 + 99 + Example of clock consumer with _SYS_ and _AHB_ sinks. 100 + uart4: serial@80010000 { 101 + compatible = "alphascale,asm9260-uart"; 102 + reg = <0x80010000 0x4000>; 103 + clocks = <&acc CLKID_SYS_UART4>, <&acc CLKID_AHB_UART4>; 104 + interrupts = <19>; 105 + status = "disabled"; 106 + }; 107 + 108 + Clock consumer with only one, _AHB_ sink. 109 + timer0: timer@80088000 { 110 + compatible = "alphascale,asm9260-timer"; 111 + reg = <0x80088000 0x4000>; 112 + clocks = <&acc CLKID_AHB_TIMER0>; 113 + interrupts = <29>; 114 + }; 115 +
+1
Documentation/devicetree/bindings/vendor-prefixes.txt
··· 11 11 aeroflexgaisler Aeroflex Gaisler AB 12 12 ak Asahi Kasei Corp. 13 13 allwinner Allwinner Technology Co., Ltd. 14 + alphascale AlphaScale Integrated Circuits Systems, Inc. 14 15 altr Altera Corp. 15 16 amcc Applied Micro Circuits Corporation (APM, formally AMCC) 16 17 amd Advanced Micro Devices (AMD), Inc.
+1 -1
arch/arm/boot/dts/Makefile
··· 628 628 mt6592-evb.dtb \ 629 629 mt8127-moose.dtb \ 630 630 mt8135-evbp1.dtb 631 - 631 + dtb-$(CONFIG_MACH_ASM9260) += alphascale-asm9260-devkit.dtb 632 632 endif 633 633 634 634 always := $(dtb-y)
+13
arch/arm/boot/dts/alphascale-asm9260-devkit.dts
··· 1 + /* 2 + * Copyright 2014 Oleksij Rempel <linux@rempel-privat.de> 3 + * 4 + * Licensed under the X11 license or the GPL v2 (or later) 5 + */ 6 + 7 + /dts-v1/; 8 + #include "alphascale-asm9260.dtsi" 9 + 10 + / { 11 + model = "Alphascale asm9260 Development Kit"; 12 + compatible = "alphascale,asm9260devkit", "alphascale,asm9260"; 13 + };
+63
arch/arm/boot/dts/alphascale-asm9260.dtsi
··· 1 + /* 2 + * Copyright 2014 Oleksij Rempel <linux@rempel-privat.de> 3 + * 4 + * Licensed under the X11 license or the GPL v2 (or later) 5 + */ 6 + 7 + #include "skeleton.dtsi" 8 + #include <dt-bindings/clock/alphascale,asm9260.h> 9 + 10 + / { 11 + interrupt-parent = <&icoll>; 12 + 13 + memory { 14 + device_type = "memory"; 15 + reg = <0x20000000 0x2000000>; 16 + }; 17 + 18 + cpus { 19 + #address-cells = <0>; 20 + #size-cells = <0>; 21 + 22 + cpu { 23 + compatible = "arm,arm926ej-s"; 24 + device_type = "cpu"; 25 + clocks = <&acc CLKID_SYS_CPU>; 26 + }; 27 + }; 28 + 29 + osc24m: oscillator { 30 + compatible = "fixed-clock"; 31 + #clock-cells = <0>; 32 + clock-frequency = <24000000>; 33 + clock-accuracy = <30000>; 34 + }; 35 + 36 + soc { 37 + #address-cells = <1>; 38 + #size-cells = <1>; 39 + compatible = "simple-bus"; 40 + ranges; 41 + 42 + acc: clock-controller@80040000 { 43 + compatible = "alphascale,asm9260-clock-controller"; 44 + #clock-cells = <1>; 45 + clocks = <&osc24m>; 46 + reg = <0x80040000 0x204>; 47 + }; 48 + 49 + icoll: interrupt-controller@80054000 { 50 + compatible = "alphascale,asm9260-icoll"; 51 + interrupt-controller; 52 + #interrupt-cells = <1>; 53 + reg = <0x80054000 0x200>; 54 + }; 55 + 56 + timer0: timer@80088000 { 57 + compatible = "alphascale,asm9260-timer"; 58 + reg = <0x80088000 0x4000>; 59 + clocks = <&acc CLKID_AHB_TIMER0>; 60 + interrupts = <29>; 61 + }; 62 + }; 63 + };