Lines Matching refs:stw481x
45 static int stw481x_get_pctl_reg(struct stw481x *stw481x, u8 reg) in stw481x_get_pctl_reg() argument
53 ret = regmap_write(stw481x->map, STW_PCTL_REG_HI, msb); in stw481x_get_pctl_reg()
56 ret = regmap_write(stw481x->map, STW_PCTL_REG_LO, lsb); in stw481x_get_pctl_reg()
59 ret = regmap_read(stw481x->map, STW_PCTL_REG_HI, &val); in stw481x_get_pctl_reg()
63 ret = regmap_read(stw481x->map, STW_PCTL_REG_LO, &val); in stw481x_get_pctl_reg()
72 static int stw481x_startup(struct stw481x *stw481x) in stw481x_startup() argument
88 ret = regmap_read(stw481x->map, STW_CONF1, &val); in stw481x_startup()
94 dev_info(&stw481x->client->dev, "voltages %s\n", in stw481x_startup()
96 dev_info(&stw481x->client->dev, "MMC level shifter %s\n", in stw481x_startup()
98 dev_info(&stw481x->client->dev, "VMMC: %s\n", in stw481x_startup()
101 dev_info(&stw481x->client->dev, "STw481x power control registers:\n"); in stw481x_startup()
103 ret = stw481x_get_pctl_reg(stw481x, STW_PC_VCORE_SEL); in stw481x_startup()
108 ret = stw481x_get_pctl_reg(stw481x, STW_PC_VAUX_SEL); in stw481x_startup()
114 ret = stw481x_get_pctl_reg(stw481x, STW_PC_VPLL_SEL); in stw481x_startup()
119 dev_info(&stw481x->client->dev, "VCORE: %u.%uV %s\n", in stw481x_startup()
123 dev_info(&stw481x->client->dev, "VPLL: %u.%uV %s\n", in stw481x_startup()
127 dev_info(&stw481x->client->dev, "VAUX: %u.%uV %s\n", in stw481x_startup()
131 ret = regmap_read(stw481x->map, STW_CONF2, &val); in stw481x_startup()
135 dev_info(&stw481x->client->dev, "TWARN: %s threshold, %s\n", in stw481x_startup()
139 dev_info(&stw481x->client->dev, "VMMC: %s\n", in stw481x_startup()
141 dev_info(&stw481x->client->dev, "IT WAKE UP: %s\n", in stw481x_startup()
143 dev_info(&stw481x->client->dev, "GPO1: %s\n", in stw481x_startup()
145 dev_info(&stw481x->client->dev, "GPO2: %s\n", in stw481x_startup()
148 ret = regmap_read(stw481x->map, STW_VCORE_SLEEP, &val); in stw481x_startup()
152 dev_info(&stw481x->client->dev, "VCORE SLEEP: %u.%uV\n", in stw481x_startup()
178 struct stw481x *stw481x; in stw481x_probe() local
182 stw481x = devm_kzalloc(&client->dev, sizeof(*stw481x), GFP_KERNEL); in stw481x_probe()
183 if (!stw481x) in stw481x_probe()
186 i2c_set_clientdata(client, stw481x); in stw481x_probe()
187 stw481x->client = client; in stw481x_probe()
188 stw481x->map = devm_regmap_init_i2c(client, &stw481x_regmap_config); in stw481x_probe()
189 if (IS_ERR(stw481x->map)) { in stw481x_probe()
190 ret = PTR_ERR(stw481x->map); in stw481x_probe()
196 ret = stw481x_startup(stw481x); in stw481x_probe()
205 stw481x_cells[i].platform_data = stw481x; in stw481x_probe()
206 stw481x_cells[i].pdata_size = sizeof(*stw481x); in stw481x_probe()