18e8e69d6SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */ 233036f48SWenyou Yang /* 350a03e35SBeniamino Galvani * act8865.h -- Voltage regulation for active-semi act88xx PMUs 433036f48SWenyou Yang * 533036f48SWenyou Yang * Copyright (C) 2013 Atmel Corporation. 633036f48SWenyou Yang */ 733036f48SWenyou Yang 833036f48SWenyou Yang #ifndef __LINUX_REGULATOR_ACT8865_H 933036f48SWenyou Yang #define __LINUX_REGULATOR_ACT8865_H 1033036f48SWenyou Yang 1133036f48SWenyou Yang #include <linux/regulator/machine.h> 1233036f48SWenyou Yang 1333036f48SWenyou Yang enum { 14df3a950eSZubair Lutfullah Kakakhel ACT8600_ID_DCDC1, 15df3a950eSZubair Lutfullah Kakakhel ACT8600_ID_DCDC2, 16df3a950eSZubair Lutfullah Kakakhel ACT8600_ID_DCDC3, 17df3a950eSZubair Lutfullah Kakakhel ACT8600_ID_SUDCDC4, 18df3a950eSZubair Lutfullah Kakakhel ACT8600_ID_LDO5, 19df3a950eSZubair Lutfullah Kakakhel ACT8600_ID_LDO6, 20df3a950eSZubair Lutfullah Kakakhel ACT8600_ID_LDO7, 21df3a950eSZubair Lutfullah Kakakhel ACT8600_ID_LDO8, 22df3a950eSZubair Lutfullah Kakakhel ACT8600_ID_LDO9, 23df3a950eSZubair Lutfullah Kakakhel ACT8600_ID_LDO10, 24df3a950eSZubair Lutfullah Kakakhel }; 25df3a950eSZubair Lutfullah Kakakhel 26df3a950eSZubair Lutfullah Kakakhel enum { 2733036f48SWenyou Yang ACT8865_ID_DCDC1, 2833036f48SWenyou Yang ACT8865_ID_DCDC2, 2933036f48SWenyou Yang ACT8865_ID_DCDC3, 3033036f48SWenyou Yang ACT8865_ID_LDO1, 3133036f48SWenyou Yang ACT8865_ID_LDO2, 3233036f48SWenyou Yang ACT8865_ID_LDO3, 3333036f48SWenyou Yang ACT8865_ID_LDO4, 3433036f48SWenyou Yang ACT8865_REG_NUM, 3533036f48SWenyou Yang }; 3633036f48SWenyou Yang 3750a03e35SBeniamino Galvani enum { 38ac0c0ea8SBeniamino Galvani ACT8846_ID_REG1, 39ac0c0ea8SBeniamino Galvani ACT8846_ID_REG2, 40ac0c0ea8SBeniamino Galvani ACT8846_ID_REG3, 41ac0c0ea8SBeniamino Galvani ACT8846_ID_REG4, 42ac0c0ea8SBeniamino Galvani ACT8846_ID_REG5, 43ac0c0ea8SBeniamino Galvani ACT8846_ID_REG6, 44ac0c0ea8SBeniamino Galvani ACT8846_ID_REG7, 45ac0c0ea8SBeniamino Galvani ACT8846_ID_REG8, 46ac0c0ea8SBeniamino Galvani ACT8846_ID_REG9, 47ac0c0ea8SBeniamino Galvani ACT8846_ID_REG10, 48ac0c0ea8SBeniamino Galvani ACT8846_ID_REG11, 49ac0c0ea8SBeniamino Galvani ACT8846_ID_REG12, 50ac0c0ea8SBeniamino Galvani ACT8846_REG_NUM, 51ac0c0ea8SBeniamino Galvani }; 52ac0c0ea8SBeniamino Galvani 53ac0c0ea8SBeniamino Galvani enum { 54df3a950eSZubair Lutfullah Kakakhel ACT8600, 5550a03e35SBeniamino Galvani ACT8865, 56ac0c0ea8SBeniamino Galvani ACT8846, 5750a03e35SBeniamino Galvani }; 5850a03e35SBeniamino Galvani 5933036f48SWenyou Yang /** 6033036f48SWenyou Yang * act8865_regulator_data - regulator data 6133036f48SWenyou Yang * @id: regulator id 6233036f48SWenyou Yang * @name: regulator name 6330f065bfSMaarten ter Huurne * @init_data: regulator init data 64005e4685SMaarten ter Huurne * @of_node: device tree node (optional) 6533036f48SWenyou Yang */ 6633036f48SWenyou Yang struct act8865_regulator_data { 6733036f48SWenyou Yang int id; 6833036f48SWenyou Yang const char *name; 6930f065bfSMaarten ter Huurne struct regulator_init_data *init_data; 70005e4685SMaarten ter Huurne struct device_node *of_node; 7133036f48SWenyou Yang }; 7233036f48SWenyou Yang 7333036f48SWenyou Yang /** 7433036f48SWenyou Yang * act8865_platform_data - platform data for act8865 7533036f48SWenyou Yang * @num_regulators: number of regulators used 7633036f48SWenyou Yang * @regulators: pointer to regulators used 7733036f48SWenyou Yang */ 7833036f48SWenyou Yang struct act8865_platform_data { 7933036f48SWenyou Yang int num_regulators; 8033036f48SWenyou Yang struct act8865_regulator_data *regulators; 8133036f48SWenyou Yang }; 8233036f48SWenyou Yang #endif 83