These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / arch / arm / boot / dts / tegra124.dtsi
index 13cc7ca..68669f7 100644 (file)
@@ -4,6 +4,7 @@
 #include <dt-bindings/pinctrl/pinctrl-tegra.h>
 #include <dt-bindings/pinctrl/pinctrl-tegra-xusb.h>
 #include <dt-bindings/interrupt-controller/arm-gic.h>
+#include <dt-bindings/reset/tegra124-car.h>
 #include <dt-bindings/thermal/tegra124-soctherm.h>
 
 #include "skeleton.dtsi"
                clock-names = "gpu", "pwr";
                resets = <&tegra_car 184>;
                reset-names = "gpu";
+
+               iommus = <&mc TEGRA_SWGROUP_GPU>;
+
                status = "disabled";
        };
 
                gpio-controller;
                #interrupt-cells = <2>;
                interrupt-controller;
+               /*
+               gpio-ranges = <&pinmux 0 0 251>;
+               */
        };
 
        apbdma: dma@0,60020000 {
        apbmisc@0,70000800 {
                compatible = "nvidia,tegra124-apbmisc", "nvidia,tegra20-apbmisc";
                reg = <0x0 0x70000800 0x0 0x64>,   /* Chip revision */
-                     <0x0 0x7000E864 0x0 0x04>;   /* Strapping options */
+                     <0x0 0x7000e864 0x0 0x04>;   /* Strapping options */
        };
 
        pinmux: pinmux@0,70000868 {
 
        sata@0,70020000 {
                compatible = "nvidia,tegra124-ahci";
-
                reg = <0x0 0x70027000 0x0 0x2000>, /* AHCI */
-                       <0x0 0x70020000 0x0 0x7000>; /* SATA */
-
+                     <0x0 0x70020000 0x0 0x7000>; /* SATA */
                interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
-
                clocks = <&tegra_car TEGRA124_CLK_SATA>,
-                       <&tegra_car TEGRA124_CLK_SATA_OOB>,
-                       <&tegra_car TEGRA124_CLK_CML1>,
-                       <&tegra_car TEGRA124_CLK_PLL_E>;
+                        <&tegra_car TEGRA124_CLK_SATA_OOB>,
+                        <&tegra_car TEGRA124_CLK_CML1>,
+                        <&tegra_car TEGRA124_CLK_PLL_E>;
                clock-names = "sata", "sata-oob", "cml1", "pll_e";
-
                resets = <&tegra_car 124>,
-                       <&tegra_car 123>,
-                       <&tegra_car 129>;
+                        <&tegra_car 123>,
+                        <&tegra_car 129>;
                reset-names = "sata", "sata-oob", "sata-cold";
-
                phys = <&padctl TEGRA_XUSB_PADCTL_SATA>;
                phy-names = "sata-phy";
-
                status = "disabled";
        };
 
                reg = <0x0 0x70030000 0x0 0x10000>;
                interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&tegra_car TEGRA124_CLK_HDA>,
-                        <&tegra_car TEGRA124_CLK_HDA2HDMI>,
+                        <&tegra_car TEGRA124_CLK_HDA2HDMI>,
                         <&tegra_car TEGRA124_CLK_HDA2CODEC_2X>;
-               clock-names = "hda", "hda2hdmi", "hdacodec_2x";
+               clock-names = "hda", "hda2hdmi", "hda2codec_2x";
                resets = <&tegra_car 125>, /* hda */
                         <&tegra_car 128>, /* hda2hdmi */
                         <&tegra_car 111>; /* hda2codec_2x */
-               reset-names = "hda", "hda2hdmi", "hdacodec_2x";
+               reset-names = "hda", "hda2hdmi", "hda2codec_2x";
                status = "disabled";
        };
 
                #thermal-sensor-cells = <1>;
        };
 
+       dfll: clock@0,70110000 {
+               compatible = "nvidia,tegra124-dfll";
+               reg = <0 0x70110000 0 0x100>, /* DFLL control */
+                     <0 0x70110000 0 0x100>, /* I2C output control */
+                     <0 0x70110100 0 0x100>, /* Integrated I2C controller */
+                     <0 0x70110200 0 0x100>; /* Look-up table RAM */
+               interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
+               clocks = <&tegra_car TEGRA124_CLK_DFLL_SOC>,
+                        <&tegra_car TEGRA124_CLK_DFLL_REF>,
+                        <&tegra_car TEGRA124_CLK_I2C5>;
+               clock-names = "soc", "ref", "i2c";
+               resets = <&tegra_car TEGRA124_RST_DFLL_DVCO>;
+               reset-names = "dvco";
+               #clock-cells = <0>;
+               clock-output-names = "dfllCPU_out";
+               nvidia,sample-rate = <12500>;
+               nvidia,droop-ctrl = <0x00000f00>;
+               nvidia,force-mode = <1>;
+               nvidia,cf = <10>;
+               nvidia,ci = <0>;
+               nvidia,cg = <2>;
+               status = "disabled";
+       };
+
        ahub@0,70300000 {
                compatible = "nvidia,tegra124-ahub";
                reg = <0x0 0x70300000 0x0 0x200>,
                        device_type = "cpu";
                        compatible = "arm,cortex-a15";
                        reg = <0>;
+
+                       clocks = <&tegra_car TEGRA124_CLK_CCLK_G>,
+                                <&tegra_car TEGRA124_CLK_CCLK_LP>,
+                                <&tegra_car TEGRA124_CLK_PLL_X>,
+                                <&tegra_car TEGRA124_CLK_PLL_P>,
+                                <&dfll>;
+                       clock-names = "cpu_g", "cpu_lp", "pll_x", "pll_p", "dfll";
+                       /* FIXME: what's the actual transition time? */
+                       clock-latency = <300000>;
                };
 
                cpu@1 {
                };
        };
 
+       pmu {
+               compatible = "arm,cortex-a15-pmu";
+               interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>;
+               interrupt-affinity = <&{/cpus/cpu@0}>,
+                                    <&{/cpus/cpu@1}>,
+                                    <&{/cpus/cpu@2}>,
+                                    <&{/cpus/cpu@3}>;
+       };
+
        thermal-zones {
                cpu {
                        polling-delay-passive = <1000>;