1d6e6d4b3SHans de Goede/* 2d6e6d4b3SHans de Goede * Copyright (C) 2015 Jens Kuske <jenskuske@gmail.com> 3d6e6d4b3SHans de Goede * 4d6e6d4b3SHans de Goede * This file is dual-licensed: you can use it either under the terms 5d6e6d4b3SHans de Goede * of the GPL or the X11 license, at your option. Note that this dual 6d6e6d4b3SHans de Goede * licensing only applies to this file, and not this project as a 7d6e6d4b3SHans de Goede * whole. 8d6e6d4b3SHans de Goede * 9d6e6d4b3SHans de Goede * a) This file is free software; you can redistribute it and/or 10d6e6d4b3SHans de Goede * modify it under the terms of the GNU General Public License as 11d6e6d4b3SHans de Goede * published by the Free Software Foundation; either version 2 of the 12d6e6d4b3SHans de Goede * License, or (at your option) any later version. 13d6e6d4b3SHans de Goede * 14d6e6d4b3SHans de Goede * This file is distributed in the hope that it will be useful, 15d6e6d4b3SHans de Goede * but WITHOUT ANY WARRANTY; without even the implied warranty of 16d6e6d4b3SHans de Goede * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17d6e6d4b3SHans de Goede * GNU General Public License for more details. 18d6e6d4b3SHans de Goede * 19d6e6d4b3SHans de Goede * Or, alternatively, 20d6e6d4b3SHans de Goede * 21d6e6d4b3SHans de Goede * b) Permission is hereby granted, free of charge, to any person 22d6e6d4b3SHans de Goede * obtaining a copy of this software and associated documentation 23d6e6d4b3SHans de Goede * files (the "Software"), to deal in the Software without 24d6e6d4b3SHans de Goede * restriction, including without limitation the rights to use, 25d6e6d4b3SHans de Goede * copy, modify, merge, publish, distribute, sublicense, and/or 26d6e6d4b3SHans de Goede * sell copies of the Software, and to permit persons to whom the 27d6e6d4b3SHans de Goede * Software is furnished to do so, subject to the following 28d6e6d4b3SHans de Goede * conditions: 29d6e6d4b3SHans de Goede * 30d6e6d4b3SHans de Goede * The above copyright notice and this permission notice shall be 31d6e6d4b3SHans de Goede * included in all copies or substantial portions of the Software. 32d6e6d4b3SHans de Goede * 33d6e6d4b3SHans de Goede * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 34d6e6d4b3SHans de Goede * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 35d6e6d4b3SHans de Goede * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 36d6e6d4b3SHans de Goede * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 37d6e6d4b3SHans de Goede * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 38d6e6d4b3SHans de Goede * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 39d6e6d4b3SHans de Goede * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 40d6e6d4b3SHans de Goede * OTHER DEALINGS IN THE SOFTWARE. 41d6e6d4b3SHans de Goede */ 42d6e6d4b3SHans de Goede 437514ed33SAndre Przywara#include "sunxi-h3-h5.dtsi" 44d6e6d4b3SHans de Goede 45d6e6d4b3SHans de Goede/ { 467514ed33SAndre Przywara cpu0_opp_table: opp_table0 { 477514ed33SAndre Przywara compatible = "operating-points-v2"; 487514ed33SAndre Przywara opp-shared; 49d6e6d4b3SHans de Goede 507514ed33SAndre Przywara opp@648000000 { 517514ed33SAndre Przywara opp-hz = /bits/ 64 <648000000>; 527514ed33SAndre Przywara opp-microvolt = <1040000 1040000 1300000>; 537514ed33SAndre Przywara clock-latency-ns = <244144>; /* 8 32k periods */ 547514ed33SAndre Przywara }; 557514ed33SAndre Przywara 567514ed33SAndre Przywara opp@816000000 { 577514ed33SAndre Przywara opp-hz = /bits/ 64 <816000000>; 587514ed33SAndre Przywara opp-microvolt = <1100000 1100000 1300000>; 597514ed33SAndre Przywara clock-latency-ns = <244144>; /* 8 32k periods */ 607514ed33SAndre Przywara }; 617514ed33SAndre Przywara 627514ed33SAndre Przywara opp@1008000000 { 637514ed33SAndre Przywara opp-hz = /bits/ 64 <1008000000>; 647514ed33SAndre Przywara opp-microvolt = <1200000 1200000 1300000>; 657514ed33SAndre Przywara clock-latency-ns = <244144>; /* 8 32k periods */ 667514ed33SAndre Przywara }; 676d7b22a5SChen-Yu Tsai }; 686d7b22a5SChen-Yu Tsai 69d6e6d4b3SHans de Goede cpus { 70d6e6d4b3SHans de Goede #address-cells = <1>; 71d6e6d4b3SHans de Goede #size-cells = <0>; 72d6e6d4b3SHans de Goede 737514ed33SAndre Przywara cpu0: cpu@0 { 74d6e6d4b3SHans de Goede compatible = "arm,cortex-a7"; 75d6e6d4b3SHans de Goede device_type = "cpu"; 76d6e6d4b3SHans de Goede reg = <0>; 777514ed33SAndre Przywara clocks = <&ccu CLK_CPUX>; 787514ed33SAndre Przywara clock-names = "cpu"; 797514ed33SAndre Przywara operating-points-v2 = <&cpu0_opp_table>; 807514ed33SAndre Przywara #cooling-cells = <2>; 81d6e6d4b3SHans de Goede }; 82d6e6d4b3SHans de Goede 83d6e6d4b3SHans de Goede cpu@1 { 84d6e6d4b3SHans de Goede compatible = "arm,cortex-a7"; 85d6e6d4b3SHans de Goede device_type = "cpu"; 86d6e6d4b3SHans de Goede reg = <1>; 87*4c974eefSAndre Przywara clocks = <&ccu CLK_CPUX>; 88*4c974eefSAndre Przywara clock-names = "cpu"; 897514ed33SAndre Przywara operating-points-v2 = <&cpu0_opp_table>; 90*4c974eefSAndre Przywara #cooling-cells = <2>; 91d6e6d4b3SHans de Goede }; 92d6e6d4b3SHans de Goede 93d6e6d4b3SHans de Goede cpu@2 { 94d6e6d4b3SHans de Goede compatible = "arm,cortex-a7"; 95d6e6d4b3SHans de Goede device_type = "cpu"; 96d6e6d4b3SHans de Goede reg = <2>; 97*4c974eefSAndre Przywara clocks = <&ccu CLK_CPUX>; 98*4c974eefSAndre Przywara clock-names = "cpu"; 997514ed33SAndre Przywara operating-points-v2 = <&cpu0_opp_table>; 100*4c974eefSAndre Przywara #cooling-cells = <2>; 101d6e6d4b3SHans de Goede }; 102d6e6d4b3SHans de Goede 103d6e6d4b3SHans de Goede cpu@3 { 104d6e6d4b3SHans de Goede compatible = "arm,cortex-a7"; 105d6e6d4b3SHans de Goede device_type = "cpu"; 106d6e6d4b3SHans de Goede reg = <3>; 107*4c974eefSAndre Przywara clocks = <&ccu CLK_CPUX>; 108*4c974eefSAndre Przywara clock-names = "cpu"; 1097514ed33SAndre Przywara operating-points-v2 = <&cpu0_opp_table>; 110*4c974eefSAndre Przywara #cooling-cells = <2>; 111d6e6d4b3SHans de Goede }; 112d6e6d4b3SHans de Goede }; 113d6e6d4b3SHans de Goede 114d6e6d4b3SHans de Goede timer { 115d6e6d4b3SHans de Goede compatible = "arm,armv7-timer"; 116d6e6d4b3SHans de Goede interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 117d6e6d4b3SHans de Goede <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 118d6e6d4b3SHans de Goede <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 119d6e6d4b3SHans de Goede <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 120d6e6d4b3SHans de Goede }; 121d6e6d4b3SHans de Goede 122d6e6d4b3SHans de Goede soc { 123*4c974eefSAndre Przywara system-control@1c00000 { 124*4c974eefSAndre Przywara compatible = "allwinner,sun8i-h3-system-control"; 125*4c974eefSAndre Przywara reg = <0x01c00000 0x30>; 126*4c974eefSAndre Przywara #address-cells = <1>; 127*4c974eefSAndre Przywara #size-cells = <1>; 128*4c974eefSAndre Przywara ranges; 129*4c974eefSAndre Przywara 130*4c974eefSAndre Przywara sram_c: sram@1d00000 { 131*4c974eefSAndre Przywara compatible = "mmio-sram"; 132*4c974eefSAndre Przywara reg = <0x01d00000 0x80000>; 133*4c974eefSAndre Przywara #address-cells = <1>; 134*4c974eefSAndre Przywara #size-cells = <1>; 135*4c974eefSAndre Przywara ranges = <0 0x01d00000 0x80000>; 136*4c974eefSAndre Przywara 137*4c974eefSAndre Przywara ve_sram: sram-section@0 { 138*4c974eefSAndre Przywara compatible = "allwinner,sun8i-h3-sram-c1", 139*4c974eefSAndre Przywara "allwinner,sun4i-a10-sram-c1"; 140*4c974eefSAndre Przywara reg = <0x000000 0x80000>; 141*4c974eefSAndre Przywara }; 142*4c974eefSAndre Przywara }; 143*4c974eefSAndre Przywara }; 144*4c974eefSAndre Przywara 1457514ed33SAndre Przywara mali: gpu@1c40000 { 1467514ed33SAndre Przywara compatible = "allwinner,sun8i-h3-mali", "arm,mali-400"; 1477514ed33SAndre Przywara reg = <0x01c40000 0x10000>; 1487514ed33SAndre Przywara interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>, 1497514ed33SAndre Przywara <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>, 1507514ed33SAndre Przywara <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>, 1517514ed33SAndre Przywara <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>, 1527514ed33SAndre Przywara <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>, 1537514ed33SAndre Przywara <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>, 1547514ed33SAndre Przywara <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; 1557514ed33SAndre Przywara interrupt-names = "gp", 1567514ed33SAndre Przywara "gpmmu", 1577514ed33SAndre Przywara "pp0", 1587514ed33SAndre Przywara "ppmmu0", 1597514ed33SAndre Przywara "pp1", 1607514ed33SAndre Przywara "ppmmu1", 1617514ed33SAndre Przywara "pmu"; 1627514ed33SAndre Przywara clocks = <&ccu CLK_BUS_GPU>, <&ccu CLK_GPU>; 1637514ed33SAndre Przywara clock-names = "bus", "core"; 1647514ed33SAndre Przywara resets = <&ccu RST_BUS_GPU>; 165d6e6d4b3SHans de Goede 1667514ed33SAndre Przywara assigned-clocks = <&ccu CLK_GPU>; 1677514ed33SAndre Przywara assigned-clock-rates = <384000000>; 1687514ed33SAndre Przywara }; 1697514ed33SAndre Przywara }; 170860fbdd4SHans de Goede}; 171860fbdd4SHans de Goede 1727514ed33SAndre Przywara&ccu { 1737514ed33SAndre Przywara compatible = "allwinner,sun8i-h3-ccu"; 174d6e6d4b3SHans de Goede}; 175d6e6d4b3SHans de Goede 1767514ed33SAndre Przywara&display_clocks { 1777514ed33SAndre Przywara compatible = "allwinner,sun8i-h3-de2-clk"; 1787514ed33SAndre Przywara}; 1797514ed33SAndre Przywara 1807514ed33SAndre Przywara&mmc0 { 1817514ed33SAndre Przywara compatible = "allwinner,sun7i-a20-mmc"; 182860fbdd4SHans de Goede clocks = <&ccu CLK_BUS_MMC0>, 183860fbdd4SHans de Goede <&ccu CLK_MMC0>, 184860fbdd4SHans de Goede <&ccu CLK_MMC0_OUTPUT>, 185860fbdd4SHans de Goede <&ccu CLK_MMC0_SAMPLE>; 186d6e6d4b3SHans de Goede clock-names = "ahb", 187d6e6d4b3SHans de Goede "mmc", 188d6e6d4b3SHans de Goede "output", 189d6e6d4b3SHans de Goede "sample"; 190d6e6d4b3SHans de Goede}; 191d6e6d4b3SHans de Goede 1927514ed33SAndre Przywara&mmc1 { 1937514ed33SAndre Przywara compatible = "allwinner,sun7i-a20-mmc"; 194860fbdd4SHans de Goede clocks = <&ccu CLK_BUS_MMC1>, 195860fbdd4SHans de Goede <&ccu CLK_MMC1>, 196860fbdd4SHans de Goede <&ccu CLK_MMC1_OUTPUT>, 197860fbdd4SHans de Goede <&ccu CLK_MMC1_SAMPLE>; 198d6e6d4b3SHans de Goede clock-names = "ahb", 199d6e6d4b3SHans de Goede "mmc", 200d6e6d4b3SHans de Goede "output", 201d6e6d4b3SHans de Goede "sample"; 202d6e6d4b3SHans de Goede}; 203d6e6d4b3SHans de Goede 2047514ed33SAndre Przywara&mmc2 { 2057514ed33SAndre Przywara compatible = "allwinner,sun7i-a20-mmc"; 206860fbdd4SHans de Goede clocks = <&ccu CLK_BUS_MMC2>, 207860fbdd4SHans de Goede <&ccu CLK_MMC2>, 208860fbdd4SHans de Goede <&ccu CLK_MMC2_OUTPUT>, 209860fbdd4SHans de Goede <&ccu CLK_MMC2_SAMPLE>; 210d6e6d4b3SHans de Goede clock-names = "ahb", 211d6e6d4b3SHans de Goede "mmc", 212d6e6d4b3SHans de Goede "output", 213d6e6d4b3SHans de Goede "sample"; 214d6e6d4b3SHans de Goede}; 215d6e6d4b3SHans de Goede 2167514ed33SAndre Przywara&pio { 217d6e6d4b3SHans de Goede compatible = "allwinner,sun8i-h3-pinctrl"; 218d6e6d4b3SHans de Goede}; 219