| 
					
				 | 
			
			
				@@ -50,3 +50,92 @@ struct regulator_init_data tps61052_regulator = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	.num_consumer_supplies = ARRAY_SIZE(tps61052_vaudio_consumers), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	.consumer_supplies = tps61052_vaudio_consumers, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct regulator_consumer_supply ab8500_vaux1_consumers[] = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	/* External displays, connector on board 2v5 power supply */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	REGULATOR_SUPPLY("vaux12v5", "mcde.0"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	/* SFH7741 proximity sensor */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	REGULATOR_SUPPLY("vcc", "gpio-keys.0"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	/* BH1780GLS ambient light sensor */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	REGULATOR_SUPPLY("vcc", "2-0029"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	/* lsm303dlh accelerometer */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	REGULATOR_SUPPLY("vdd", "3-0018"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	/* lsm303dlh magnetometer */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	REGULATOR_SUPPLY("vdd", "3-001e"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	/* Rohm BU21013 Touchscreen devices */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	REGULATOR_SUPPLY("avdd", "3-005c"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	REGULATOR_SUPPLY("avdd", "3-005d"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	/* Synaptics RMI4 Touchscreen device */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	REGULATOR_SUPPLY("vdd", "3-004b"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct regulator_consumer_supply ab8500_vaux2_consumers[] = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	/* On-board eMMC power */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	REGULATOR_SUPPLY("vmmc", "sdi4"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	/* AB8500 audio codec */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	REGULATOR_SUPPLY("vcc-N2158", "ab8500-codec.0"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct regulator_consumer_supply ab8500_vaux3_consumers[] = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	/* External MMC slot power */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	REGULATOR_SUPPLY("vmmc", "sdi0"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct regulator_consumer_supply ab8500_vtvout_consumers[] = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	/* TV-out DENC supply */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	REGULATOR_SUPPLY("vtvout", "ab8500-denc.0"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	/* Internal general-purpose ADC */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	REGULATOR_SUPPLY("vddadc", "ab8500-gpadc.0"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct regulator_consumer_supply ab8500_vaud_consumers[] = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	/* AB8500 audio-codec main supply */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	REGULATOR_SUPPLY("vaud", "ab8500-codec.0"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct regulator_consumer_supply ab8500_vamic1_consumers[] = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	/* AB8500 audio-codec Mic1 supply */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	REGULATOR_SUPPLY("vamic1", "ab8500-codec.0"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct regulator_consumer_supply ab8500_vamic2_consumers[] = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	/* AB8500 audio-codec Mic2 supply */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	REGULATOR_SUPPLY("vamic2", "ab8500-codec.0"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct regulator_consumer_supply ab8500_vdmic_consumers[] = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	/* AB8500 audio-codec DMic supply */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	REGULATOR_SUPPLY("vdmic", "ab8500-codec.0"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct regulator_consumer_supply ab8500_vintcore_consumers[] = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	/* SoC core supply, no device */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	REGULATOR_SUPPLY("v-intcore", NULL), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	/* USB Transceiver */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	REGULATOR_SUPPLY("vddulpivio18", "ab8500-usb.0"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct regulator_consumer_supply ab8500_vana_consumers[] = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	/* External displays, connector on board, 1v8 power supply */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	REGULATOR_SUPPLY("vsmps2", "mcde.0"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/* ab8500 regulator register initialization */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+struct ab8500_regulator_reg_init 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ab8500_regulator_reg_init[AB8500_NUM_REGULATOR_REGISTERS] = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	/* 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 * VanaRequestCtrl          = HP/LP depending on VxRequest 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 * VextSupply1RequestCtrl   = HP/LP depending on VxRequest 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	INIT_REGULATOR_REGISTER(AB8500_REGUREQUESTCTRL2, 0x00), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	/* 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 * VextSupply2RequestCtrl   = HP/LP depending on VxRequest 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 * VextSupply3RequestCtrl   = HP/LP depending on VxRequest 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 * Vaux1RequestCtrl         = HP/LP depending on VxRequest 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 * Vaux2RequestCtrl         = HP/LP depending on VxRequest 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	INIT_REGULATOR_REGISTER(AB8500_REGUREQUESTCTRL3, 0x00), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	/* 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 * Vaux3RequestCtrl         = HP/LP depending on VxRequest 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 * SwHPReq                  = Control through SWValid disabled 
			 |