162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Device Tree Source for OMAP3 SoC 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Copyright (C) 2012 Texas Instruments Incorporated - https://www.ti.com/ 662306a36Sopenharmony_ci */ 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci#include <dt-bindings/bus/ti-sysc.h> 962306a36Sopenharmony_ci#include <dt-bindings/media/omap3-isp.h> 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ci#include "omap3.dtsi" 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ci/ { 1462306a36Sopenharmony_ci aliases { 1562306a36Sopenharmony_ci serial3 = &uart4; 1662306a36Sopenharmony_ci }; 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ci cpus { 1962306a36Sopenharmony_ci /* OMAP3630/OMAP37xx variants OPP50 to OPP130 and OPP1G */ 2062306a36Sopenharmony_ci cpu: cpu@0 { 2162306a36Sopenharmony_ci operating-points-v2 = <&cpu0_opp_table>; 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_ci vbb-supply = <&abb_mpu_iva>; 2462306a36Sopenharmony_ci clock-latency = <300000>; /* From omap-cpufreq driver */ 2562306a36Sopenharmony_ci #cooling-cells = <2>; 2662306a36Sopenharmony_ci }; 2762306a36Sopenharmony_ci }; 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ci cpu0_opp_table: opp-table { 3062306a36Sopenharmony_ci compatible = "operating-points-v2-ti-cpu"; 3162306a36Sopenharmony_ci syscon = <&scm_conf>; 3262306a36Sopenharmony_ci 3362306a36Sopenharmony_ci opp-50-300000000 { 3462306a36Sopenharmony_ci /* OPP50 */ 3562306a36Sopenharmony_ci opp-hz = /bits/ 64 <300000000>; 3662306a36Sopenharmony_ci /* 3762306a36Sopenharmony_ci * we currently only select the max voltage from table 3862306a36Sopenharmony_ci * Table 4-19 of the DM3730 Data sheet (SPRS685B) 3962306a36Sopenharmony_ci * Format is: cpu0-supply: <target min max> 4062306a36Sopenharmony_ci * vbb-supply: <target min max> 4162306a36Sopenharmony_ci */ 4262306a36Sopenharmony_ci opp-microvolt = <1012500 1012500 1012500>, 4362306a36Sopenharmony_ci <1012500 1012500 1012500>; 4462306a36Sopenharmony_ci /* 4562306a36Sopenharmony_ci * first value is silicon revision bit mask 4662306a36Sopenharmony_ci * second one is "speed binned" bit mask 4762306a36Sopenharmony_ci */ 4862306a36Sopenharmony_ci opp-supported-hw = <0xffffffff 3>; 4962306a36Sopenharmony_ci opp-suspend; 5062306a36Sopenharmony_ci }; 5162306a36Sopenharmony_ci 5262306a36Sopenharmony_ci opp-100-600000000 { 5362306a36Sopenharmony_ci /* OPP100 */ 5462306a36Sopenharmony_ci opp-hz = /bits/ 64 <600000000>; 5562306a36Sopenharmony_ci opp-microvolt = <1200000 1200000 1200000>, 5662306a36Sopenharmony_ci <1200000 1200000 1200000>; 5762306a36Sopenharmony_ci opp-supported-hw = <0xffffffff 3>; 5862306a36Sopenharmony_ci }; 5962306a36Sopenharmony_ci 6062306a36Sopenharmony_ci opp-130-800000000 { 6162306a36Sopenharmony_ci /* OPP130 */ 6262306a36Sopenharmony_ci opp-hz = /bits/ 64 <800000000>; 6362306a36Sopenharmony_ci opp-microvolt = <1325000 1325000 1325000>, 6462306a36Sopenharmony_ci <1325000 1325000 1325000>; 6562306a36Sopenharmony_ci opp-supported-hw = <0xffffffff 3>; 6662306a36Sopenharmony_ci }; 6762306a36Sopenharmony_ci 6862306a36Sopenharmony_ci opp-1000000000 { 6962306a36Sopenharmony_ci /* OPP1G */ 7062306a36Sopenharmony_ci opp-hz = /bits/ 64 <1000000000>; 7162306a36Sopenharmony_ci opp-microvolt = <1375000 1375000 1375000>, 7262306a36Sopenharmony_ci <1375000 1375000 1375000>; 7362306a36Sopenharmony_ci /* only on am/dm37x with speed-binned bit set */ 7462306a36Sopenharmony_ci opp-supported-hw = <0xffffffff 2>; 7562306a36Sopenharmony_ci }; 7662306a36Sopenharmony_ci }; 7762306a36Sopenharmony_ci 7862306a36Sopenharmony_ci opp_supply_mpu_iva: opp-supply { 7962306a36Sopenharmony_ci compatible = "ti,omap-opp-supply"; 8062306a36Sopenharmony_ci ti,absolute-max-voltage-uv = <1375000>; 8162306a36Sopenharmony_ci }; 8262306a36Sopenharmony_ci 8362306a36Sopenharmony_ci ocp@68000000 { 8462306a36Sopenharmony_ci uart4: serial@49042000 { 8562306a36Sopenharmony_ci compatible = "ti,omap3-uart"; 8662306a36Sopenharmony_ci reg = <0x49042000 0x400>; 8762306a36Sopenharmony_ci interrupts = <80>; 8862306a36Sopenharmony_ci dmas = <&sdma 81 &sdma 82>; 8962306a36Sopenharmony_ci dma-names = "tx", "rx"; 9062306a36Sopenharmony_ci ti,hwmods = "uart4"; 9162306a36Sopenharmony_ci clock-frequency = <48000000>; 9262306a36Sopenharmony_ci }; 9362306a36Sopenharmony_ci 9462306a36Sopenharmony_ci abb_mpu_iva: regulator-abb-mpu { 9562306a36Sopenharmony_ci compatible = "ti,abb-v1"; 9662306a36Sopenharmony_ci regulator-name = "abb_mpu_iva"; 9762306a36Sopenharmony_ci #address-cells = <0>; 9862306a36Sopenharmony_ci #size-cells = <0>; 9962306a36Sopenharmony_ci reg = <0x483072f0 0x8>, <0x48306818 0x4>; 10062306a36Sopenharmony_ci reg-names = "base-address", "int-address"; 10162306a36Sopenharmony_ci ti,tranxdone-status-mask = <0x4000000>; 10262306a36Sopenharmony_ci clocks = <&sys_ck>; 10362306a36Sopenharmony_ci ti,settling-time = <30>; 10462306a36Sopenharmony_ci ti,clock-cycles = <8>; 10562306a36Sopenharmony_ci ti,abb_info = < 10662306a36Sopenharmony_ci /*uV ABB efuse rbb_m fbb_m vset_m*/ 10762306a36Sopenharmony_ci 1012500 0 0 0 0 0 10862306a36Sopenharmony_ci 1200000 0 0 0 0 0 10962306a36Sopenharmony_ci 1325000 0 0 0 0 0 11062306a36Sopenharmony_ci 1375000 1 0 0 0 0 11162306a36Sopenharmony_ci >; 11262306a36Sopenharmony_ci }; 11362306a36Sopenharmony_ci 11462306a36Sopenharmony_ci omap3_pmx_core2: pinmux@480025a0 { 11562306a36Sopenharmony_ci compatible = "ti,omap3-padconf", "pinctrl-single"; 11662306a36Sopenharmony_ci reg = <0x480025a0 0x5c>; 11762306a36Sopenharmony_ci #address-cells = <1>; 11862306a36Sopenharmony_ci #size-cells = <0>; 11962306a36Sopenharmony_ci #pinctrl-cells = <1>; 12062306a36Sopenharmony_ci #interrupt-cells = <1>; 12162306a36Sopenharmony_ci interrupt-controller; 12262306a36Sopenharmony_ci pinctrl-single,register-width = <16>; 12362306a36Sopenharmony_ci pinctrl-single,function-mask = <0xff1f>; 12462306a36Sopenharmony_ci }; 12562306a36Sopenharmony_ci 12662306a36Sopenharmony_ci isp: isp@480bc000 { 12762306a36Sopenharmony_ci compatible = "ti,omap3-isp"; 12862306a36Sopenharmony_ci reg = <0x480bc000 0x12fc 12962306a36Sopenharmony_ci 0x480bd800 0x0600>; 13062306a36Sopenharmony_ci interrupts = <24>; 13162306a36Sopenharmony_ci iommus = <&mmu_isp>; 13262306a36Sopenharmony_ci syscon = <&scm_conf 0x2f0>; 13362306a36Sopenharmony_ci ti,phy-type = <OMAP3ISP_PHY_TYPE_CSIPHY>; 13462306a36Sopenharmony_ci #clock-cells = <1>; 13562306a36Sopenharmony_ci ports { 13662306a36Sopenharmony_ci #address-cells = <1>; 13762306a36Sopenharmony_ci #size-cells = <0>; 13862306a36Sopenharmony_ci }; 13962306a36Sopenharmony_ci }; 14062306a36Sopenharmony_ci 14162306a36Sopenharmony_ci bandgap: bandgap@48002524 { 14262306a36Sopenharmony_ci reg = <0x48002524 0x4>; 14362306a36Sopenharmony_ci compatible = "ti,omap36xx-bandgap"; 14462306a36Sopenharmony_ci #thermal-sensor-cells = <0>; 14562306a36Sopenharmony_ci }; 14662306a36Sopenharmony_ci 14762306a36Sopenharmony_ci target-module@480cb000 { 14862306a36Sopenharmony_ci compatible = "ti,sysc-omap3630-sr", "ti,sysc"; 14962306a36Sopenharmony_ci ti,hwmods = "smartreflex_core"; 15062306a36Sopenharmony_ci reg = <0x480cb038 0x4>; 15162306a36Sopenharmony_ci reg-names = "sysc"; 15262306a36Sopenharmony_ci ti,sysc-mask = <SYSC_OMAP3_SR_ENAWAKEUP>; 15362306a36Sopenharmony_ci ti,sysc-sidle = <SYSC_IDLE_FORCE>, 15462306a36Sopenharmony_ci <SYSC_IDLE_NO>, 15562306a36Sopenharmony_ci <SYSC_IDLE_SMART>; 15662306a36Sopenharmony_ci clocks = <&sr2_fck>; 15762306a36Sopenharmony_ci clock-names = "fck"; 15862306a36Sopenharmony_ci #address-cells = <1>; 15962306a36Sopenharmony_ci #size-cells = <1>; 16062306a36Sopenharmony_ci ranges = <0 0x480cb000 0x001000>; 16162306a36Sopenharmony_ci 16262306a36Sopenharmony_ci smartreflex_core: smartreflex@0 { 16362306a36Sopenharmony_ci compatible = "ti,omap3-smartreflex-core"; 16462306a36Sopenharmony_ci reg = <0 0x400>; 16562306a36Sopenharmony_ci interrupts = <19>; 16662306a36Sopenharmony_ci }; 16762306a36Sopenharmony_ci }; 16862306a36Sopenharmony_ci 16962306a36Sopenharmony_ci target-module@480c9000 { 17062306a36Sopenharmony_ci compatible = "ti,sysc-omap3630-sr", "ti,sysc"; 17162306a36Sopenharmony_ci ti,hwmods = "smartreflex_mpu_iva"; 17262306a36Sopenharmony_ci reg = <0x480c9038 0x4>; 17362306a36Sopenharmony_ci reg-names = "sysc"; 17462306a36Sopenharmony_ci ti,sysc-mask = <SYSC_OMAP3_SR_ENAWAKEUP>; 17562306a36Sopenharmony_ci ti,sysc-sidle = <SYSC_IDLE_FORCE>, 17662306a36Sopenharmony_ci <SYSC_IDLE_NO>, 17762306a36Sopenharmony_ci <SYSC_IDLE_SMART>; 17862306a36Sopenharmony_ci clocks = <&sr1_fck>; 17962306a36Sopenharmony_ci clock-names = "fck"; 18062306a36Sopenharmony_ci #address-cells = <1>; 18162306a36Sopenharmony_ci #size-cells = <1>; 18262306a36Sopenharmony_ci ranges = <0 0x480c9000 0x001000>; 18362306a36Sopenharmony_ci 18462306a36Sopenharmony_ci 18562306a36Sopenharmony_ci smartreflex_mpu_iva: smartreflex@480c9000 { 18662306a36Sopenharmony_ci compatible = "ti,omap3-smartreflex-mpu-iva"; 18762306a36Sopenharmony_ci reg = <0 0x400>; 18862306a36Sopenharmony_ci interrupts = <18>; 18962306a36Sopenharmony_ci }; 19062306a36Sopenharmony_ci }; 19162306a36Sopenharmony_ci 19262306a36Sopenharmony_ci /* 19362306a36Sopenharmony_ci * Note that the sysconfig register layout is a subset of the 19462306a36Sopenharmony_ci * "ti,sysc-omap4" type register with just sidle and midle bits 19562306a36Sopenharmony_ci * available while omap34xx has "ti,sysc-omap2" type sysconfig. 19662306a36Sopenharmony_ci */ 19762306a36Sopenharmony_ci sgx_module: target-module@50000000 { 19862306a36Sopenharmony_ci compatible = "ti,sysc-omap4", "ti,sysc"; 19962306a36Sopenharmony_ci reg = <0x5000fe00 0x4>, 20062306a36Sopenharmony_ci <0x5000fe10 0x4>; 20162306a36Sopenharmony_ci reg-names = "rev", "sysc"; 20262306a36Sopenharmony_ci ti,sysc-midle = <SYSC_IDLE_FORCE>, 20362306a36Sopenharmony_ci <SYSC_IDLE_NO>, 20462306a36Sopenharmony_ci <SYSC_IDLE_SMART>; 20562306a36Sopenharmony_ci ti,sysc-sidle = <SYSC_IDLE_FORCE>, 20662306a36Sopenharmony_ci <SYSC_IDLE_NO>, 20762306a36Sopenharmony_ci <SYSC_IDLE_SMART>; 20862306a36Sopenharmony_ci clocks = <&sgx_fck>, <&sgx_ick>; 20962306a36Sopenharmony_ci clock-names = "fck", "ick"; 21062306a36Sopenharmony_ci #address-cells = <1>; 21162306a36Sopenharmony_ci #size-cells = <1>; 21262306a36Sopenharmony_ci ranges = <0 0x50000000 0x2000000>; 21362306a36Sopenharmony_ci 21462306a36Sopenharmony_ci /* 21562306a36Sopenharmony_ci * Closed source PowerVR driver, no child device 21662306a36Sopenharmony_ci * binding or driver in mainline 21762306a36Sopenharmony_ci */ 21862306a36Sopenharmony_ci }; 21962306a36Sopenharmony_ci }; 22062306a36Sopenharmony_ci 22162306a36Sopenharmony_ci thermal_zones: thermal-zones { 22262306a36Sopenharmony_ci #include "omap3-cpu-thermal.dtsi" 22362306a36Sopenharmony_ci }; 22462306a36Sopenharmony_ci}; 22562306a36Sopenharmony_ci 22662306a36Sopenharmony_ci&sdma { 22762306a36Sopenharmony_ci compatible = "ti,omap3630-sdma", "ti,omap-sdma"; 22862306a36Sopenharmony_ci}; 22962306a36Sopenharmony_ci 23062306a36Sopenharmony_ci/* OMAP3630 needs dss_96m_fck for VENC */ 23162306a36Sopenharmony_ci&venc { 23262306a36Sopenharmony_ci clocks = <&dss_tv_fck>, <&dss_96m_fck>; 23362306a36Sopenharmony_ci clock-names = "fck", "tv_dac_clk"; 23462306a36Sopenharmony_ci}; 23562306a36Sopenharmony_ci 23662306a36Sopenharmony_ci&ssi { 23762306a36Sopenharmony_ci status = "okay"; 23862306a36Sopenharmony_ci 23962306a36Sopenharmony_ci clocks = <&ssi_ssr_fck>, 24062306a36Sopenharmony_ci <&ssi_sst_fck>, 24162306a36Sopenharmony_ci <&ssi_ick>; 24262306a36Sopenharmony_ci clock-names = "ssi_ssr_fck", 24362306a36Sopenharmony_ci "ssi_sst_fck", 24462306a36Sopenharmony_ci "ssi_ick"; 24562306a36Sopenharmony_ci}; 24662306a36Sopenharmony_ci 24762306a36Sopenharmony_ci&usb_otg_target { 24862306a36Sopenharmony_ci clocks = <&hsotgusb_ick_3430es2>; 24962306a36Sopenharmony_ci}; 25062306a36Sopenharmony_ci 25162306a36Sopenharmony_ci/include/ "omap34xx-omap36xx-clocks.dtsi" 25262306a36Sopenharmony_ci/include/ "omap36xx-omap3430es2plus-clocks.dtsi" 25362306a36Sopenharmony_ci/include/ "omap36xx-am35xx-omap3430es2plus-clocks.dtsi" 25462306a36Sopenharmony_ci/include/ "omap36xx-clocks.dtsi" 255