From 84c53d84a0977afe78d88eb7aebbc5776816811f Mon Sep 17 00:00:00 2001
From: Teknoman117 <linux.robotdude@gmail.com>
Date: Wed, 24 Jul 2013 03:02:20 -0700
Subject: [PATCH 4/4] Now this one is mine lol. Reading through the ti-abb
 documentation, I used their example and pulled the proper operating point
 settings for OPP1G, or the magic 1 GHz point on the Beagleboard xM. I've
 added the new operating points to the CPU entry and added the abb bindings
 for the beagleboard xm. Its nice that once again, we finally have a safe way
 of running the BBxM to its specifications after almost a year and a half of
 stagnating behind the kernel. Now 3.11-rc2 has 1 GHz support for the BBxM. So
 awesome ;)

---
 arch/arm/boot/dts/omap3-beagle-xm.dts | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/arch/arm/boot/dts/omap3-beagle-xm.dts b/arch/arm/boot/dts/omap3-beagle-xm.dts
index 0f7cfc5..5f8ab16 100644
--- a/arch/arm/boot/dts/omap3-beagle-xm.dts
+++ b/arch/arm/boot/dts/omap3-beagle-xm.dts
@@ -16,9 +16,36 @@
 	cpus {
 		cpu@0 {
 			cpu0-supply = <&vcc>;
+			operating-points = <
+				/* kHz    uV */
+				300000   1012500
+				600000   1200000
+				800000   1325000
+				1000000  1380000
+			>;
 		};
 	};
 
+	abb: regulator-abb {
+		compatible = "ti,abb-v1";
+		regulator-name = "abb";
+		#address-cell = <0>;
+		#size-cells = <0>;
+		reg = <0x483072f0 0x8>, <0x48306818 0x4>;
+		reg-names = "base-address", "int-address";
+		ti,tranxdone-status-mask = <0x4000000>;
+		clocks = <&sysclk>;
+		ti,settling-time = <30>;
+		ti,clock-cycles = <8>;
+		ti,abb_info = <
+			/* uV           ABB     efuse   rbb_m   fbb_m   vset_m */
+			1012500         0       0       0       0       0 /* Bypass */
+			1200000         3       0       0       0       0 /* RBB mandatory */
+			1320000         1       0       0       0       0 /* FBB mandatory */
+			1380000         1       0       0       0       0
+			>;
+	};
+
 	memory {
 		device_type = "memory";
 		reg = <0x80000000 0x20000000>; /* 512 MB */
-- 
1.8.4.rc3