diff options
Diffstat (limited to 'arch/arm64/boot/dts/fvp-base-gicv2-psci.dts')
-rw-r--r-- | arch/arm64/boot/dts/fvp-base-gicv2-psci.dts | 181 |
1 files changed, 104 insertions, 77 deletions
diff --git a/arch/arm64/boot/dts/fvp-base-gicv2-psci.dts b/arch/arm64/boot/dts/fvp-base-gicv2-psci.dts index ed55571e06dd..bb4b775b7c45 100644 --- a/arch/arm64/boot/dts/fvp-base-gicv2-psci.dts +++ b/arch/arm64/boot/dts/fvp-base-gicv2-psci.dts @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, ARM Limited. All rights reserved. + * Copyright (c) 2013-2014, ARM Limited and Contributors. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: @@ -30,6 +30,8 @@ /dts-v1/; +#include <dt-bindings/interrupt-controller/arm-gic.h> + /memreserve/ 0x80000000 0x00010000; / { @@ -37,7 +39,7 @@ / { model = "FVP Base"; - compatible = "arm,vfp-base", "arm,vexpress"; + compatible = "arm,fvp-base", "arm,vexpress"; interrupt-parent = <&gic>; #address-cells = <2>; #size-cells = <2>; @@ -52,23 +54,58 @@ }; psci { - compatible = "arm,psci"; + compatible = "arm,psci-1.0", "arm,psci-0.2", "arm,psci"; method = "smc"; - cpu_suspend = <0x84000001>; + cpu_suspend = <0xc4000001>; cpu_off = <0x84000002>; cpu_on = <0xc4000003>; + sys_poweroff = <0x84000008>; + sys_reset = <0x84000009>; }; cpus { #address-cells = <2>; #size-cells = <0>; + cpu-map { + cluster0 { + core0 { + cpu = <&CPU0>; + }; + core1 { + cpu = <&CPU1>; + }; + core2 { + cpu = <&CPU2>; + }; + core3 { + cpu = <&CPU3>; + }; + }; + + cluster1 { + core0 { + cpu = <&CPU4>; + }; + core1 { + cpu = <&CPU5>; + }; + core2 { + cpu = <&CPU6>; + }; + core3 { + cpu = <&CPU7>; + }; + }; + }; + idle-states { entry-method = "arm,psci"; CPU_SLEEP_0: cpu-sleep-0 { compatible = "arm,idle-state"; - entry-method-param = <0x0010000>; + local-timer-stop; + arm,psci-suspend-param = <0x0010000>; entry-latency-us = <40>; exit-latency-us = <100>; min-residency-us = <150>; @@ -76,113 +113,82 @@ CLUSTER_SLEEP_0: cluster-sleep-0 { compatible = "arm,idle-state"; - entry-method-param = <0x1010000>; + local-timer-stop; + arm,psci-suspend-param = <0x1010000>; entry-latency-us = <500>; exit-latency-us = <1000>; min-residency-us = <2500>; }; }; - big0: cpu@0 { + CPU0:cpu@0 { device_type = "cpu"; - compatible = "arm,cortex-a57", "arm,armv8"; + compatible = "arm,armv8"; reg = <0x0 0x0>; enable-method = "psci"; - clock-frequency = <1000000>; cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; }; - big1: cpu@1 { + + CPU1:cpu@1 { device_type = "cpu"; - compatible = "arm,cortex-a57", "arm,armv8"; + compatible = "arm,armv8"; reg = <0x0 0x1>; enable-method = "psci"; - clock-frequency = <1000000>; cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; }; - big2: cpu@2 { + + CPU2:cpu@2 { device_type = "cpu"; - compatible = "arm,cortex-a57", "arm,armv8"; + compatible = "arm,armv8"; reg = <0x0 0x2>; enable-method = "psci"; - clock-frequency = <1000000>; cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; }; - big3: cpu@3 { + + CPU3:cpu@3 { device_type = "cpu"; - compatible = "arm,cortex-a57", "arm,armv8"; + compatible = "arm,armv8"; reg = <0x0 0x3>; enable-method = "psci"; - clock-frequency = <1000000>; cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; }; - little0: cpu@100 { + + CPU4:cpu@100 { device_type = "cpu"; - compatible = "arm,cortex-a53", "arm,armv8"; + compatible = "arm,armv8"; reg = <0x0 0x100>; enable-method = "psci"; - clock-frequency = <1000000>; cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; }; - little1: cpu@101 { + + CPU5:cpu@101 { device_type = "cpu"; - compatible = "arm,cortex-a53", "arm,armv8"; + compatible = "arm,armv8"; reg = <0x0 0x101>; enable-method = "psci"; - clock-frequency = <1000000>; cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; }; - little2: cpu@102 { + + CPU6:cpu@102 { device_type = "cpu"; - compatible = "arm,cortex-a53", "arm,armv8"; + compatible = "arm,armv8"; reg = <0x0 0x102>; enable-method = "psci"; - clock-frequency = <1000000>; cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; }; - little3: cpu@103 { + + CPU7:cpu@103 { device_type = "cpu"; - compatible = "arm,cortex-a53", "arm,armv8"; + compatible = "arm,armv8"; reg = <0x0 0x103>; enable-method = "psci"; - clock-frequency = <1000000>; cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; }; - - cpu-map { - cluster0 { - core0 { - cpu = <&big0>; - }; - core1 { - cpu = <&big1>; - }; - core2 { - cpu = <&big2>; - }; - core3 { - cpu = <&big3>; - }; - }; - cluster1 { - core0 { - cpu = <&little0>; - }; - core1 { - cpu = <&little1>; - }; - core2 { - cpu = <&little2>; - }; - core3 { - cpu = <&little3>; - }; - }; - }; }; memory@80000000 { device_type = "memory"; - reg = <0x00000000 0x80000000 0 0x80000000>, + reg = <0x00000000 0x80000000 0 0x7F000000>, <0x00000008 0x80000000 0 0x80000000>; }; @@ -195,15 +201,15 @@ <0x0 0x2c000000 0 0x2000>, <0x0 0x2c010000 0 0x2000>, <0x0 0x2c02F000 0 0x2000>; - interrupts = <1 9 0xf04>; + interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>; }; timer { compatible = "arm,armv8-timer"; - interrupts = <1 13 0xff01>, - <1 14 0xff01>, - <1 11 0xff01>, - <1 10 0xff01>; + interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, + <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, + <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, + <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>; clock-frequency = <100000000>; }; @@ -214,19 +220,19 @@ #address-cells = <2>; #size-cells = <2>; ranges; - frame@2a820000 { - frame-number = <0>; - interrupts = <0 25 4>; - reg = <0x0 0x2a820000 0x0 0x10000>; + frame@2a830000 { + frame-number = <1>; + interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; + reg = <0x0 0x2a830000 0x0 0x10000>; }; }; pmu { compatible = "arm,armv8-pmuv3"; - interrupts = <0 60 4>, - <0 61 4>, - <0 62 4>, - <0 63 4>; + interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>; }; smb { @@ -289,6 +295,27 @@ /include/ "rtsm_ve-motherboard.dtsi" }; -}; -/include/ "clcd-panels.dtsi" + panels { + panel@0 { + compatible = "panel"; + mode = "XVGA"; + refresh = <60>; + xres = <1024>; + yres = <768>; + pixclock = <15748>; + left_margin = <152>; + right_margin = <48>; + upper_margin = <23>; + lower_margin = <3>; + hsync_len = <104>; + vsync_len = <4>; + sync = <0>; + vmode = "FB_VMODE_NONINTERLACED"; + tim2 = "TIM2_BCD", "TIM2_IPC"; + cntl = "CNTL_LCDTFT", "CNTL_BGR", "CNTL_LCDVCOMP(1)"; + caps = "CLCD_CAP_5551", "CLCD_CAP_565", "CLCD_CAP_888"; + bpp = <16>; + }; + }; +}; |