[PATCH v2 1/2] powerpc/mpic: Add Open-PIC global timer document
Gala Kumar-B11780
B11780 at freescale.com
Fri Aug 10 23:35:35 EST 2012
On Aug 10, 2012, at 12:53 AM, <Dongsheng.wang at freescale.com> <Dongsheng.wang at freescale.com> wrote:
> From: Wang Dongsheng <Dongsheng.Wang at freescale.com>
>
> Add a description of the OPEN-PIC global timer in the OPEN-PIC document.
>
> Moidfy mpic-timer document. 1.Add a TFRR register region. This register
> is written by software to report the clocking frequency of the PIC timers.
> 2.Add a device_type. The global timer in line with the OPEN-PIC specification.
>
> Signed-off-by: Wang Dongsheng <Dongsheng.Wang at freescale.com>
> Signed-off-by: Li Yang <leoli at freescale.com>
> ---
> Documentation/devicetree/bindings/open-pic.txt | 46 ++++++++++++++++++++
Let's separate out the open-pic.txt timer binding change into its own patch from the FSL timer binding & dtsi updates.
> .../devicetree/bindings/powerpc/fsl/mpic-timer.txt | 21 +++++----
> arch/powerpc/boot/dts/fsl/pq3-mpic-timer-B.dtsi | 7 ++-
> arch/powerpc/boot/dts/fsl/pq3-mpic.dtsi | 7 ++-
> 4 files changed, 66 insertions(+), 15 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/open-pic.txt b/Documentation/devicetree/bindings/open-pic.txt
> index 909a902..045c2e9 100644
> --- a/Documentation/devicetree/bindings/open-pic.txt
> +++ b/Documentation/devicetree/bindings/open-pic.txt
> @@ -92,6 +92,52 @@ Example 2:
>
> * References
>
> +* Open PIC global timers
> +
> +Required properties:
> +- compatible: "open-pic,global-timer"
> +
> +- reg : Contains two regions. The first is the timer frequency reporting
> + register for the group. The second is the main timer register bank
> + (GTCCR, GTBCR, GTVPR, GTDR).
> +
> +- available-ranges: use <start count> style section to define which
> + timer interrupts can be used. This property is optional; without this,
> + all timers within the group can be used.
> +
> +- interrupts: one interrupt per timer in the group, in order, starting
> + with timer zero. If available-ranges is present, only the interrupts
> + that correspond to available timers shall be present.
> +
If we are going to require device_type property it should be in the binding.
Based on the comments in ePAPR, I recommend dropping device_type from the timer binding.
> +* Examples
> +
> +Example 1:
> +
> + /* Note that this requires #interrupt-cells to be 4 */
> + timer: timer at 010f0 {
> + compatible = "open-pic,global-timer";
> + device_type = "open-pic";
> + reg = <0x010f0 4 0x01100 0x100>;
> +
> + /* Another AMP partition is using timer */
> + available-ranges = <2 2>;
> +
> + interrupts = <2 0 3 0
> + 3 0 3 0>;
> + };
> +
> +Example 2:
> +
> + timer: timer at 010f0 {
> + compatible = "open-pic,global-timer";
> + device_type = "open-pic";
> + reg = <0x010f0 4 0x01100 0x100>;
> + interrupts = <0 0 3 0
> + 1 0 3 0
> + 2 0 3 0
> + 3 0 3 0>;
> + };
> +
> [1] Power.org (TM) Standard for Embedded Power Architecture (TM) Platform
> Requirements (ePAPR), Version 1.0, July 2008.
> (http://www.power.org/resources/downloads/Power_ePAPR_APPROVED_v1.0.pdf)
> diff --git a/Documentation/devicetree/bindings/powerpc/fsl/mpic-timer.txt b/Documentation/devicetree/bindings/powerpc/fsl/mpic-timer.txt
> index df41958..5aafca0 100644
> --- a/Documentation/devicetree/bindings/powerpc/fsl/mpic-timer.txt
> +++ b/Documentation/devicetree/bindings/powerpc/fsl/mpic-timer.txt
> @@ -1,13 +1,14 @@
> * Freescale MPIC timers
>
> Required properties:
> -- compatible: "fsl,mpic-global-timer"
> +- compatible: "fsl,global-timer"
Why are renaming?.. also use of fsl,global-timer is to generic of a name for the this.
>
> -- reg : Contains two regions. The first is the main timer register bank
> - (GTCCRxx, GTBCRxx, GTVPRxx, GTDRxx). The second is the timer control
> +- reg : Contains three regions. The first is the timer frequency reporting
> + register (TFRRx) for the group. The second is the main timer register
> + bank (GTCCRxx, GTBCRxx, GTVPRxx, GTDRxx). The third is the timer control
> register (TCRx) for the group.
>
> -- fsl,available-ranges: use <start count> style section to define which
> +- available-ranges: use <start count> style section to define which
> timer interrupts can be used. This property is optional; without this,
> all timers within the group can be used.
>
> @@ -18,19 +19,21 @@ Required properties:
> Example:
> /* Note that this requires #interrupt-cells to be 4 */
> timer0: timer at 41100 {
> - compatible = "fsl,mpic-global-timer";
> - reg = <0x41100 0x100 0x41300 4>;
> + compatible = "fsl,global-timer";
> + device_type = "open-pic";
> + reg = <0x410f0 4 0x41100 0x100 0x41300 4>;
>
> /* Another AMP partition is using timers 0 and 1 */
> - fsl,available-ranges = <2 2>;
> + available-ranges = <2 2>;
>
> interrupts = <2 0 3 0
> 3 0 3 0>;
> };
>
> timer1: timer at 42100 {
> - compatible = "fsl,mpic-global-timer";
> - reg = <0x42100 0x100 0x42300 4>;
> + compatible = "fsl,global-timer";
> + device_type = "open-pic";
> + reg = <0x420f0 4 0x42100 0x100 0x42300 4>;
> interrupts = <4 0 3 0
> 5 0 3 0
> 6 0 3 0
> diff --git a/arch/powerpc/boot/dts/fsl/pq3-mpic-timer-B.dtsi b/arch/powerpc/boot/dts/fsl/pq3-mpic-timer-B.dtsi
> index 8734cff..01cd33c 100644
> --- a/arch/powerpc/boot/dts/fsl/pq3-mpic-timer-B.dtsi
> +++ b/arch/powerpc/boot/dts/fsl/pq3-mpic-timer-B.dtsi
> @@ -32,9 +32,10 @@
> * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
> */
>
> -timer at 42100 {
> - compatible = "fsl,mpic-global-timer";
> - reg = <0x42100 0x100 0x42300 4>;
> +timer at 420f0 {
> + compatible = "fsl,global-timer";
Shouldn't this be:
compatible = "fsl,mpic-global-timer", "open-pic,global-timer";
> + device_type = "open-pic";
> + reg = <0x420f0 4 0x42100 0x100 0x42300 4>;
> interrupts = <4 0 3 0
> 5 0 3 0
> 6 0 3 0
> diff --git a/arch/powerpc/boot/dts/fsl/pq3-mpic.dtsi b/arch/powerpc/boot/dts/fsl/pq3-mpic.dtsi
> index 71c30eb..c71d8e0 100644
> --- a/arch/powerpc/boot/dts/fsl/pq3-mpic.dtsi
> +++ b/arch/powerpc/boot/dts/fsl/pq3-mpic.dtsi
> @@ -44,9 +44,10 @@ mpic: pic at 40000 {
> last-interrupt-source = <255>;
> };
>
> -timer at 41100 {
> - compatible = "fsl,mpic-global-timer";
> - reg = <0x41100 0x100 0x41300 4>;
> +timer at 410f0 {
> + compatible = "fsl,global-timer";
same as above.
> + device_type = "open-pic";
> + reg = <0x410f0 4 0x41100 0x100 0x41300 4>;
> interrupts = <0 0 3 0
> 1 0 3 0
> 2 0 3 0
> --
> 1.7.5.1
>
>
> _______________________________________________
> devicetree-discuss mailing list
> devicetree-discuss at lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/devicetree-discuss
More information about the Linuxppc-dev
mailing list