1f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-only 2f126890aSEmmanuel Vadot/* 3f126890aSEmmanuel Vadot * Device Tree Source for OMAP34xx/OMAP35xx SoC 4f126890aSEmmanuel Vadot * 5f126890aSEmmanuel Vadot * Copyright (C) 2013 Texas Instruments Incorporated - https://www.ti.com/ 6f126890aSEmmanuel Vadot */ 7f126890aSEmmanuel Vadot 8f126890aSEmmanuel Vadot#include <dt-bindings/bus/ti-sysc.h> 9f126890aSEmmanuel Vadot#include <dt-bindings/media/omap3-isp.h> 10f126890aSEmmanuel Vadot 11f126890aSEmmanuel Vadot#include "omap3.dtsi" 12f126890aSEmmanuel Vadot 13f126890aSEmmanuel Vadot/ { 14f126890aSEmmanuel Vadot cpus { 15f126890aSEmmanuel Vadot cpu: cpu@0 { 16f126890aSEmmanuel Vadot /* OMAP343x/OMAP35xx variants OPP1-6 */ 17f126890aSEmmanuel Vadot operating-points-v2 = <&cpu0_opp_table>; 18f126890aSEmmanuel Vadot 19f126890aSEmmanuel Vadot clock-latency = <300000>; /* From legacy driver */ 20f126890aSEmmanuel Vadot #cooling-cells = <2>; 21f126890aSEmmanuel Vadot }; 22f126890aSEmmanuel Vadot }; 23f126890aSEmmanuel Vadot 24f126890aSEmmanuel Vadot cpu0_opp_table: opp-table { 25f126890aSEmmanuel Vadot compatible = "operating-points-v2-ti-cpu"; 26f126890aSEmmanuel Vadot syscon = <&scm_conf>; 27f126890aSEmmanuel Vadot 28*aa1a8ff2SEmmanuel Vadot opp-125000000 { 29f126890aSEmmanuel Vadot opp-hz = /bits/ 64 <125000000>; 30f126890aSEmmanuel Vadot /* 31f126890aSEmmanuel Vadot * we currently only select the max voltage from table 32f126890aSEmmanuel Vadot * Table 3-3 of the omap3530 Data sheet (SPRS507F). 33f126890aSEmmanuel Vadot * Format is: <target min max> 34f126890aSEmmanuel Vadot */ 35f126890aSEmmanuel Vadot opp-microvolt = <975000 975000 975000>; 36f126890aSEmmanuel Vadot /* 37f126890aSEmmanuel Vadot * first value is silicon revision bit mask 38f126890aSEmmanuel Vadot * second one 720MHz Device Identification bit mask 39f126890aSEmmanuel Vadot */ 40f126890aSEmmanuel Vadot opp-supported-hw = <0xffffffff 3>; 41f126890aSEmmanuel Vadot }; 42f126890aSEmmanuel Vadot 43*aa1a8ff2SEmmanuel Vadot opp-250000000 { 44f126890aSEmmanuel Vadot opp-hz = /bits/ 64 <250000000>; 45f126890aSEmmanuel Vadot opp-microvolt = <1075000 1075000 1075000>; 46f126890aSEmmanuel Vadot opp-supported-hw = <0xffffffff 3>; 47f126890aSEmmanuel Vadot opp-suspend; 48f126890aSEmmanuel Vadot }; 49f126890aSEmmanuel Vadot 50*aa1a8ff2SEmmanuel Vadot opp-500000000 { 51f126890aSEmmanuel Vadot opp-hz = /bits/ 64 <500000000>; 52f126890aSEmmanuel Vadot opp-microvolt = <1200000 1200000 1200000>; 53f126890aSEmmanuel Vadot opp-supported-hw = <0xffffffff 3>; 54f126890aSEmmanuel Vadot }; 55f126890aSEmmanuel Vadot 56*aa1a8ff2SEmmanuel Vadot opp-550000000 { 57f126890aSEmmanuel Vadot opp-hz = /bits/ 64 <550000000>; 58f126890aSEmmanuel Vadot opp-microvolt = <1275000 1275000 1275000>; 59f126890aSEmmanuel Vadot opp-supported-hw = <0xffffffff 3>; 60f126890aSEmmanuel Vadot }; 61f126890aSEmmanuel Vadot 62*aa1a8ff2SEmmanuel Vadot opp-600000000 { 63f126890aSEmmanuel Vadot opp-hz = /bits/ 64 <600000000>; 64f126890aSEmmanuel Vadot opp-microvolt = <1350000 1350000 1350000>; 65f126890aSEmmanuel Vadot opp-supported-hw = <0xffffffff 3>; 66f126890aSEmmanuel Vadot }; 67f126890aSEmmanuel Vadot 68*aa1a8ff2SEmmanuel Vadot opp-720000000 { 69f126890aSEmmanuel Vadot opp-hz = /bits/ 64 <720000000>; 70f126890aSEmmanuel Vadot opp-microvolt = <1350000 1350000 1350000>; 71f126890aSEmmanuel Vadot /* only high-speed grade omap3530 devices */ 72f126890aSEmmanuel Vadot opp-supported-hw = <0xffffffff 2>; 73f126890aSEmmanuel Vadot turbo-mode; 74f126890aSEmmanuel Vadot }; 75f126890aSEmmanuel Vadot }; 76f126890aSEmmanuel Vadot 77f126890aSEmmanuel Vadot ocp@68000000 { 78f126890aSEmmanuel Vadot omap3_pmx_core2: pinmux@480025d8 { 79f126890aSEmmanuel Vadot compatible = "ti,omap3-padconf", "pinctrl-single"; 80f126890aSEmmanuel Vadot reg = <0x480025d8 0x24>; 81f126890aSEmmanuel Vadot #address-cells = <1>; 82f126890aSEmmanuel Vadot #size-cells = <0>; 83f126890aSEmmanuel Vadot #pinctrl-cells = <1>; 84f126890aSEmmanuel Vadot #interrupt-cells = <1>; 85f126890aSEmmanuel Vadot interrupt-controller; 86f126890aSEmmanuel Vadot pinctrl-single,register-width = <16>; 87f126890aSEmmanuel Vadot pinctrl-single,function-mask = <0xff1f>; 88f126890aSEmmanuel Vadot }; 89f126890aSEmmanuel Vadot 90f126890aSEmmanuel Vadot isp: isp@480bc000 { 91f126890aSEmmanuel Vadot compatible = "ti,omap3-isp"; 92f126890aSEmmanuel Vadot reg = <0x480bc000 0x12fc 93f126890aSEmmanuel Vadot 0x480bd800 0x017c>; 94f126890aSEmmanuel Vadot interrupts = <24>; 95f126890aSEmmanuel Vadot iommus = <&mmu_isp>; 96f126890aSEmmanuel Vadot syscon = <&scm_conf 0x6c>; 97f126890aSEmmanuel Vadot ti,phy-type = <OMAP3ISP_PHY_TYPE_COMPLEX_IO>; 98f126890aSEmmanuel Vadot #clock-cells = <1>; 99f126890aSEmmanuel Vadot ports { 100f126890aSEmmanuel Vadot #address-cells = <1>; 101f126890aSEmmanuel Vadot #size-cells = <0>; 102f126890aSEmmanuel Vadot }; 103f126890aSEmmanuel Vadot }; 104f126890aSEmmanuel Vadot 105f126890aSEmmanuel Vadot bandgap: bandgap@48002524 { 106f126890aSEmmanuel Vadot reg = <0x48002524 0x4>; 107f126890aSEmmanuel Vadot compatible = "ti,omap34xx-bandgap"; 108f126890aSEmmanuel Vadot #thermal-sensor-cells = <0>; 109f126890aSEmmanuel Vadot }; 110f126890aSEmmanuel Vadot 111f126890aSEmmanuel Vadot target-module@480cb000 { 112f126890aSEmmanuel Vadot compatible = "ti,sysc-omap3430-sr", "ti,sysc"; 113f126890aSEmmanuel Vadot ti,hwmods = "smartreflex_core"; 114f126890aSEmmanuel Vadot reg = <0x480cb024 0x4>; 115f126890aSEmmanuel Vadot reg-names = "sysc"; 116f126890aSEmmanuel Vadot ti,sysc-mask = <SYSC_OMAP2_CLOCKACTIVITY>; 117f126890aSEmmanuel Vadot clocks = <&sr2_fck>; 118f126890aSEmmanuel Vadot clock-names = "fck"; 119f126890aSEmmanuel Vadot #address-cells = <1>; 120f126890aSEmmanuel Vadot #size-cells = <1>; 121f126890aSEmmanuel Vadot ranges = <0 0x480cb000 0x001000>; 122f126890aSEmmanuel Vadot 123f126890aSEmmanuel Vadot smartreflex_core: smartreflex@0 { 124f126890aSEmmanuel Vadot compatible = "ti,omap3-smartreflex-core"; 125f126890aSEmmanuel Vadot reg = <0 0x400>; 126f126890aSEmmanuel Vadot interrupts = <19>; 127f126890aSEmmanuel Vadot }; 128f126890aSEmmanuel Vadot }; 129f126890aSEmmanuel Vadot 130f126890aSEmmanuel Vadot target-module@480c9000 { 131f126890aSEmmanuel Vadot compatible = "ti,sysc-omap3430-sr", "ti,sysc"; 132f126890aSEmmanuel Vadot ti,hwmods = "smartreflex_mpu_iva"; 133f126890aSEmmanuel Vadot reg = <0x480c9024 0x4>; 134f126890aSEmmanuel Vadot reg-names = "sysc"; 135f126890aSEmmanuel Vadot ti,sysc-mask = <SYSC_OMAP2_CLOCKACTIVITY>; 136f126890aSEmmanuel Vadot clocks = <&sr1_fck>; 137f126890aSEmmanuel Vadot clock-names = "fck"; 138f126890aSEmmanuel Vadot #address-cells = <1>; 139f126890aSEmmanuel Vadot #size-cells = <1>; 140f126890aSEmmanuel Vadot ranges = <0 0x480c9000 0x001000>; 141f126890aSEmmanuel Vadot 142f126890aSEmmanuel Vadot smartreflex_mpu_iva: smartreflex@480c9000 { 143f126890aSEmmanuel Vadot compatible = "ti,omap3-smartreflex-mpu-iva"; 144f126890aSEmmanuel Vadot reg = <0 0x400>; 145f126890aSEmmanuel Vadot interrupts = <18>; 146f126890aSEmmanuel Vadot }; 147f126890aSEmmanuel Vadot }; 148f126890aSEmmanuel Vadot 149f126890aSEmmanuel Vadot /* 150f126890aSEmmanuel Vadot * On omap34xx the OCP registers do not seem to be accessible 151f126890aSEmmanuel Vadot * at all unlike on 36xx. Maybe SGX is permanently set to 152f126890aSEmmanuel Vadot * "OCP bypass mode", or maybe there is OCP_SYSCONFIG that is 153f126890aSEmmanuel Vadot * write-only at 0x50000e10. We detect SGX based on the SGX 154f126890aSEmmanuel Vadot * revision register instead of the unreadable OCP revision 155f126890aSEmmanuel Vadot * register. Also note that on early 34xx es1 revision there 156f126890aSEmmanuel Vadot * are also different clocks, but we do not have any dts users 157f126890aSEmmanuel Vadot * for it. 158f126890aSEmmanuel Vadot */ 159f126890aSEmmanuel Vadot sgx_module: target-module@50000000 { 160f126890aSEmmanuel Vadot compatible = "ti,sysc-omap2", "ti,sysc"; 161f126890aSEmmanuel Vadot reg = <0x50000014 0x4>; 162f126890aSEmmanuel Vadot reg-names = "rev"; 163f126890aSEmmanuel Vadot clocks = <&sgx_fck>, <&sgx_ick>; 164f126890aSEmmanuel Vadot clock-names = "fck", "ick"; 165f126890aSEmmanuel Vadot #address-cells = <1>; 166f126890aSEmmanuel Vadot #size-cells = <1>; 167f126890aSEmmanuel Vadot ranges = <0 0x50000000 0x4000>; 168f126890aSEmmanuel Vadot 169f126890aSEmmanuel Vadot /* 170f126890aSEmmanuel Vadot * Closed source PowerVR driver, no child device 171f126890aSEmmanuel Vadot * binding or driver in mainline 172f126890aSEmmanuel Vadot */ 173f126890aSEmmanuel Vadot }; 174f126890aSEmmanuel Vadot }; 175f126890aSEmmanuel Vadot 176f126890aSEmmanuel Vadot thermal_zones: thermal-zones { 177f126890aSEmmanuel Vadot #include "omap3-cpu-thermal.dtsi" 178f126890aSEmmanuel Vadot }; 179f126890aSEmmanuel Vadot}; 180f126890aSEmmanuel Vadot 181f126890aSEmmanuel Vadot&ssi { 182f126890aSEmmanuel Vadot status = "okay"; 183f126890aSEmmanuel Vadot 184f126890aSEmmanuel Vadot clocks = <&ssi_ssr_fck>, 185f126890aSEmmanuel Vadot <&ssi_sst_fck>, 186f126890aSEmmanuel Vadot <&ssi_ick>; 187f126890aSEmmanuel Vadot clock-names = "ssi_ssr_fck", 188f126890aSEmmanuel Vadot "ssi_sst_fck", 189f126890aSEmmanuel Vadot "ssi_ick"; 190f126890aSEmmanuel Vadot}; 191f126890aSEmmanuel Vadot 192f126890aSEmmanuel Vadot&usb_otg_target { 193f126890aSEmmanuel Vadot clocks = <&hsotgusb_ick_3430es2>; 194f126890aSEmmanuel Vadot}; 195f126890aSEmmanuel Vadot 196f126890aSEmmanuel Vadot/include/ "omap34xx-omap36xx-clocks.dtsi" 197f126890aSEmmanuel Vadot/include/ "omap36xx-omap3430es2plus-clocks.dtsi" 198f126890aSEmmanuel Vadot/include/ "omap36xx-am35xx-omap3430es2plus-clocks.dtsi" 199