Home | History | Annotate | Download | only in power
      1 // SPDX-License-Identifier: GPL-2.0+
      2 /*
      3  * (C) Copyright 2016
      4  * Jelle van der Waa <jelle (at) vdwaa.nl>
      5  */
      6 #include <common.h>
      7 #include <i2c.h>
      8 #include <sy8106a.h>
      9 
     10 #define SY8106A_I2C_ADDR 0x65
     11 #define SY8106A_VOUT1_SEL 1
     12 #define SY8106A_VOUT1_SEL_ENABLE (1 << 7)
     13 
     14 #ifdef CONFIG_SPL_BUILD
     15 static u8 sy8106a_mvolt_to_cfg(int mvolt, int min, int max, int div)
     16 {
     17 	if (mvolt < min)
     18 		mvolt = min;
     19 	else if (mvolt > max)
     20 		mvolt = max;
     21 
     22 	return (mvolt - min) / div;
     23 }
     24 
     25 int sy8106a_set_vout1(unsigned int mvolt)
     26 {
     27 	u8 data = sy8106a_mvolt_to_cfg(mvolt, 680, 1950, 10) | SY8106A_VOUT1_SEL_ENABLE;
     28 	return i2c_write(SY8106A_I2C_ADDR, SY8106A_VOUT1_SEL, 1, &data, 1);
     29 }
     30 #endif
     31