// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
 * Device Tree Source for AM625 SoC Family Wakeup Domain peripherals
 *
 * Copyright (C) 2020-2024 Texas Instruments Incorporated - https://www.ti.com/
 */

#include <dt-bindings/bus/ti-sysc.h>

&cbass_wakeup {
	wkup_conf: syscon@43000000 {
		bootph-all;
		compatible = "syscon", "simple-mfd";
		reg = <0x00 0x43000000 0x00 0x20000>;
		#address-cells = <1>;
		#size-cells = <1>;
		ranges = <0x0 0x00 0x43000000 0x20000>;

		chipid: chipid@14 {
			bootph-all;
			compatible = "ti,am654-chipid";
			reg = <0x14 0x4>;
		};
	};

	target-module@2b300050 {
		compatible = "ti,sysc-omap2", "ti,sysc";
		reg = <0x00 0x2b300050 0x00 0x4>,
		      <0x00 0x2b300054 0x00 0x4>,
		      <0x00 0x2b300058 0x00 0x4>;
		reg-names = "rev", "sysc", "syss";
		ti,sysc-mask = <(SYSC_OMAP2_ENAWAKEUP |
				 SYSC_OMAP2_SOFTRESET |
				 SYSC_OMAP2_AUTOIDLE)>;
		ti,sysc-sidle = <SYSC_IDLE_FORCE>,
				<SYSC_IDLE_NO>,
				<SYSC_IDLE_SMART>,
				<SYSC_IDLE_SMART_WKUP>;
		ti,syss-mask = <1>;
		ti,no-reset-on-init;
		power-domains = <&k3_pds 114 TI_SCI_PD_EXCLUSIVE>;
		clocks = <&k3_clks 114 0>;
		clock-names = "fck";
		#address-cells = <1>;
		#size-cells = <1>;
		ranges = <0x0 0x00 0x2b300000 0x100000>;

		wkup_uart0: serial@0 {
			compatible = "ti,am64-uart", "ti,am654-uart";
			reg = <0x0 0x100>;
			interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>;
			status = "disabled";
		};
	};

	wkup_i2c0: i2c@2b200000 {
		compatible = "ti,am64-i2c", "ti,omap4-i2c";
		reg = <0x00 0x2b200000 0x00 0x100>;
		interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>;
		#address-cells = <1>;
		#size-cells = <0>;
		power-domains = <&k3_pds 107 TI_SCI_PD_EXCLUSIVE>;
		clocks = <&k3_clks 107 4>;
		clock-names = "fck";
		status = "disabled";
	};

	wkup_rtc0: rtc@2b1f0000 {
		compatible = "ti,am62-rtc";
		reg = <0x00 0x2b1f0000 0x00 0x100>;
		interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&k3_clks 117 6> , <&k3_clks 117 0>;
		clock-names = "vbus", "osc32k";
		power-domains = <&k3_pds 117 TI_SCI_PD_EXCLUSIVE>;
		wakeup-source;
	};

	wkup_rti0: watchdog@2b000000 {
		compatible = "ti,j7-rti-wdt";
		reg = <0x00 0x2b000000 0x00 0x100>;
		clocks = <&k3_clks 132 0>;
		power-domains = <&k3_pds 132 TI_SCI_PD_EXCLUSIVE>;
		assigned-clocks = <&k3_clks 132 0>;
		assigned-clock-parents = <&k3_clks 132 2>;
		/* Used by DM firmware */
		status = "reserved";
	};

	wkup_vtm0: temperature-sensor@b00000 {
		compatible = "ti,j7200-vtm";
		reg = <0x00 0xb00000 0x00 0x400>,
		      <0x00 0xb01000 0x00 0x400>;
		power-domains = <&k3_pds 95 TI_SCI_PD_EXCLUSIVE>;
		#thermal-sensor-cells = <1>;
	};
};
