* [PATCH v2 0/2] Add support for MediaTek PMIC MT6366
@ 2022-03-17 3:04 ` Johnson Wang
0 siblings, 0 replies; 24+ messages in thread
From: Johnson Wang @ 2022-03-17 3:04 UTC (permalink / raw)
To: broonie, robh+dt
Cc: linux-kernel, devicetree, linux-arm-kernel, linux-mediatek,
Project_Global_Chrome_Upstream_Group, Johnson Wang
This patchset adds support for MediaTek PMIC MT6366.
MT6366 is the primary PMIC for MT8186 and probably other SOCs.
Changes in v2:
- rebase on Linux 5.17-rc8
- change subject line
Johnson Wang (2):
regulator: mt6366: Add support for MT6366 regulator
dt-bindings: regulator: Add BUCK and LDO document for MT6358 and
MT6366
.../bindings/regulator/mt6358-regulator.txt | 22 +-
drivers/regulator/mt6358-regulator.c | 213 +++++++++++++++++-
include/linux/regulator/mt6358-regulator.h | 45 ++++
3 files changed, 270 insertions(+), 10 deletions(-)
--
2.18.0
^ permalink raw reply [flat|nested] 24+ messages in thread
* [PATCH v2 0/2] Add support for MediaTek PMIC MT6366
@ 2022-03-17 3:04 ` Johnson Wang
0 siblings, 0 replies; 24+ messages in thread
From: Johnson Wang @ 2022-03-17 3:04 UTC (permalink / raw)
To: broonie, robh+dt
Cc: linux-kernel, devicetree, linux-arm-kernel, linux-mediatek,
Project_Global_Chrome_Upstream_Group, Johnson Wang
This patchset adds support for MediaTek PMIC MT6366.
MT6366 is the primary PMIC for MT8186 and probably other SOCs.
Changes in v2:
- rebase on Linux 5.17-rc8
- change subject line
Johnson Wang (2):
regulator: mt6366: Add support for MT6366 regulator
dt-bindings: regulator: Add BUCK and LDO document for MT6358 and
MT6366
.../bindings/regulator/mt6358-regulator.txt | 22 +-
drivers/regulator/mt6358-regulator.c | 213 +++++++++++++++++-
include/linux/regulator/mt6358-regulator.h | 45 ++++
3 files changed, 270 insertions(+), 10 deletions(-)
--
2.18.0
_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek
^ permalink raw reply [flat|nested] 24+ messages in thread
* [PATCH v2 0/2] Add support for MediaTek PMIC MT6366
@ 2022-03-17 3:04 ` Johnson Wang
0 siblings, 0 replies; 24+ messages in thread
From: Johnson Wang @ 2022-03-17 3:04 UTC (permalink / raw)
To: broonie, robh+dt
Cc: linux-kernel, devicetree, linux-arm-kernel, linux-mediatek,
Project_Global_Chrome_Upstream_Group, Johnson Wang
This patchset adds support for MediaTek PMIC MT6366.
MT6366 is the primary PMIC for MT8186 and probably other SOCs.
Changes in v2:
- rebase on Linux 5.17-rc8
- change subject line
Johnson Wang (2):
regulator: mt6366: Add support for MT6366 regulator
dt-bindings: regulator: Add BUCK and LDO document for MT6358 and
MT6366
.../bindings/regulator/mt6358-regulator.txt | 22 +-
drivers/regulator/mt6358-regulator.c | 213 +++++++++++++++++-
include/linux/regulator/mt6358-regulator.h | 45 ++++
3 files changed, 270 insertions(+), 10 deletions(-)
--
2.18.0
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 24+ messages in thread
* [PATCH v2 1/2] regulator: mt6366: Add support for MT6366 regulator
2022-03-17 3:04 ` Johnson Wang
(?)
@ 2022-03-17 3:04 ` Johnson Wang
-1 siblings, 0 replies; 24+ messages in thread
From: Johnson Wang @ 2022-03-17 3:04 UTC (permalink / raw)
To: broonie, robh+dt
Cc: linux-kernel, devicetree, linux-arm-kernel, linux-mediatek,
Project_Global_Chrome_Upstream_Group, Johnson Wang
The MT6366 is a regulator found on boards based on MediaTek MT8186 and
probably other SoCs. It is a so called pmic and connects as a slave to
SoC using SPI, wrapped inside the pmic-wrapper.
Reviewed-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Johnson Wang <johnson.wang@mediatek.com>
---
drivers/regulator/mt6358-regulator.c | 213 ++++++++++++++++++++-
include/linux/regulator/mt6358-regulator.h | 45 +++++
2 files changed, 253 insertions(+), 5 deletions(-)
diff --git a/drivers/regulator/mt6358-regulator.c b/drivers/regulator/mt6358-regulator.c
index eb8027813b99..8a5ce990f1bf 100644
--- a/drivers/regulator/mt6358-regulator.c
+++ b/drivers/regulator/mt6358-regulator.c
@@ -130,6 +130,102 @@ struct mt6358_regulator_info {
.qi = BIT(15), \
}
+#define MT6366_BUCK(match, vreg, min, max, step, \
+ volt_ranges, vosel_mask, _da_vsel_reg, _da_vsel_mask, \
+ _modeset_reg, _modeset_shift) \
+[MT6366_ID_##vreg] = { \
+ .desc = { \
+ .name = #vreg, \
+ .of_match = of_match_ptr(match), \
+ .ops = &mt6358_volt_range_ops, \
+ .type = REGULATOR_VOLTAGE, \
+ .id = MT6366_ID_##vreg, \
+ .owner = THIS_MODULE, \
+ .n_voltages = ((max) - (min)) / (step) + 1, \
+ .linear_ranges = volt_ranges, \
+ .n_linear_ranges = ARRAY_SIZE(volt_ranges), \
+ .vsel_reg = MT6358_BUCK_##vreg##_ELR0, \
+ .vsel_mask = vosel_mask, \
+ .enable_reg = MT6358_BUCK_##vreg##_CON0, \
+ .enable_mask = BIT(0), \
+ .of_map_mode = mt6358_map_mode, \
+ }, \
+ .status_reg = MT6358_BUCK_##vreg##_DBG1, \
+ .qi = BIT(0), \
+ .da_vsel_reg = _da_vsel_reg, \
+ .da_vsel_mask = _da_vsel_mask, \
+ .modeset_reg = _modeset_reg, \
+ .modeset_mask = BIT(_modeset_shift), \
+}
+
+#define MT6366_LDO(match, vreg, ldo_volt_table, \
+ ldo_index_table, enreg, enbit, vosel, \
+ vosel_mask) \
+[MT6366_ID_##vreg] = { \
+ .desc = { \
+ .name = #vreg, \
+ .of_match = of_match_ptr(match), \
+ .ops = &mt6358_volt_table_ops, \
+ .type = REGULATOR_VOLTAGE, \
+ .id = MT6366_ID_##vreg, \
+ .owner = THIS_MODULE, \
+ .n_voltages = ARRAY_SIZE(ldo_volt_table), \
+ .volt_table = ldo_volt_table, \
+ .vsel_reg = vosel, \
+ .vsel_mask = vosel_mask, \
+ .enable_reg = enreg, \
+ .enable_mask = BIT(enbit), \
+ }, \
+ .status_reg = MT6358_LDO_##vreg##_CON1, \
+ .qi = BIT(15), \
+ .index_table = ldo_index_table, \
+ .n_table = ARRAY_SIZE(ldo_index_table), \
+}
+
+#define MT6366_LDO1(match, vreg, min, max, step, \
+ volt_ranges, _da_vsel_reg, _da_vsel_mask, \
+ vosel, vosel_mask) \
+[MT6366_ID_##vreg] = { \
+ .desc = { \
+ .name = #vreg, \
+ .of_match = of_match_ptr(match), \
+ .ops = &mt6358_volt_range_ops, \
+ .type = REGULATOR_VOLTAGE, \
+ .id = MT6366_ID_##vreg, \
+ .owner = THIS_MODULE, \
+ .n_voltages = ((max) - (min)) / (step) + 1, \
+ .linear_ranges = volt_ranges, \
+ .n_linear_ranges = ARRAY_SIZE(volt_ranges), \
+ .vsel_reg = vosel, \
+ .vsel_mask = vosel_mask, \
+ .enable_reg = MT6358_LDO_##vreg##_CON0, \
+ .enable_mask = BIT(0), \
+ }, \
+ .da_vsel_reg = _da_vsel_reg, \
+ .da_vsel_mask = _da_vsel_mask, \
+ .status_reg = MT6358_LDO_##vreg##_DBG1, \
+ .qi = BIT(0), \
+}
+
+#define MT6366_REG_FIXED(match, vreg, \
+ enreg, enbit, volt) \
+[MT6366_ID_##vreg] = { \
+ .desc = { \
+ .name = #vreg, \
+ .of_match = of_match_ptr(match), \
+ .ops = &mt6358_volt_fixed_ops, \
+ .type = REGULATOR_VOLTAGE, \
+ .id = MT6366_ID_##vreg, \
+ .owner = THIS_MODULE, \
+ .n_voltages = 1, \
+ .enable_reg = enreg, \
+ .enable_mask = BIT(enbit), \
+ .min_uV = volt, \
+ }, \
+ .status_reg = MT6358_LDO_##vreg##_CON1, \
+ .qi = BIT(15), \
+}
+
static const struct linear_range buck_volt_range1[] = {
REGULATOR_LINEAR_RANGE(500000, 0, 0x7f, 6250),
};
@@ -409,6 +505,9 @@ static struct mt6358_regulator_info mt6358_regulators[] = {
MT6358_BUCK("buck_vcore", VCORE, 500000, 1293750, 6250,
buck_volt_range1, 0x7f, MT6358_BUCK_VCORE_DBG0, 0x7f,
MT6358_VCORE_VGPU_ANA_CON0, 1),
+ MT6358_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
+ buck_volt_range1, 0x7f, MT6358_BUCK_VCORE_SSHUB_ELR0, 0x7f,
+ MT6358_VCORE_VGPU_ANA_CON0, 1),
MT6358_BUCK("buck_vpa", VPA, 500000, 3650000, 50000,
buck_volt_range3, 0x3f, MT6358_BUCK_VPA_DBG0, 0x3f,
MT6358_VPA_ANA_CON0, 3),
@@ -488,6 +587,10 @@ static struct mt6358_regulator_info mt6358_regulators[] = {
MT6358_LDO1("ldo_vsram_others", VSRAM_OTHERS, 500000, 1293750, 6250,
buck_volt_range1, MT6358_LDO_VSRAM_OTHERS_DBG0, 0x7f00,
MT6358_LDO_VSRAM_CON2, 0x7f),
+ MT6358_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB, 500000,
+ 1293750, 6250, buck_volt_range1,
+ MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f,
+ MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f),
MT6358_LDO1("ldo_vsram_gpu", VSRAM_GPU, 500000, 1293750, 6250,
buck_volt_range1, MT6358_LDO_VSRAM_GPU_DBG0, 0x7f00,
MT6358_LDO_VSRAM_CON3, 0x7f),
@@ -496,24 +599,124 @@ static struct mt6358_regulator_info mt6358_regulators[] = {
MT6358_LDO_VSRAM_CON1, 0x7f),
};
+/* The array is indexed by id(MT6366_ID_XXX) */
+static struct mt6358_regulator_info mt6366_regulators[] = {
+ MT6366_BUCK("buck_vdram1", VDRAM1, 500000, 2087500, 12500,
+ buck_volt_range2, 0x7f, MT6358_BUCK_VDRAM1_DBG0, 0x7f,
+ MT6358_VDRAM1_ANA_CON0, 8),
+ MT6366_BUCK("buck_vcore", VCORE, 500000, 1293750, 6250,
+ buck_volt_range1, 0x7f, MT6358_BUCK_VCORE_DBG0, 0x7f,
+ MT6358_VCORE_VGPU_ANA_CON0, 1),
+ MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
+ buck_volt_range1, 0x7f, MT6358_BUCK_VCORE_SSHUB_ELR0, 0x7f,
+ MT6358_VCORE_VGPU_ANA_CON0, 1),
+ MT6366_BUCK("buck_vpa", VPA, 500000, 3650000, 50000,
+ buck_volt_range3, 0x3f, MT6358_BUCK_VPA_DBG0, 0x3f,
+ MT6358_VPA_ANA_CON0, 3),
+ MT6366_BUCK("buck_vproc11", VPROC11, 500000, 1293750, 6250,
+ buck_volt_range1, 0x7f, MT6358_BUCK_VPROC11_DBG0, 0x7f,
+ MT6358_VPROC_ANA_CON0, 1),
+ MT6366_BUCK("buck_vproc12", VPROC12, 500000, 1293750, 6250,
+ buck_volt_range1, 0x7f, MT6358_BUCK_VPROC12_DBG0, 0x7f,
+ MT6358_VPROC_ANA_CON0, 2),
+ MT6366_BUCK("buck_vgpu", VGPU, 500000, 1293750, 6250,
+ buck_volt_range1, 0x7f, MT6358_BUCK_VGPU_ELR0, 0x7f,
+ MT6358_VCORE_VGPU_ANA_CON0, 2),
+ MT6366_BUCK("buck_vs2", VS2, 500000, 2087500, 12500,
+ buck_volt_range2, 0x7f, MT6358_BUCK_VS2_DBG0, 0x7f,
+ MT6358_VS2_ANA_CON0, 8),
+ MT6366_BUCK("buck_vmodem", VMODEM, 500000, 1293750, 6250,
+ buck_volt_range1, 0x7f, MT6358_BUCK_VMODEM_DBG0, 0x7f,
+ MT6358_VMODEM_ANA_CON0, 8),
+ MT6366_BUCK("buck_vs1", VS1, 1000000, 2587500, 12500,
+ buck_volt_range4, 0x7f, MT6358_BUCK_VS1_DBG0, 0x7f,
+ MT6358_VS1_ANA_CON0, 8),
+ MT6366_REG_FIXED("ldo_vrf12", VRF12,
+ MT6358_LDO_VRF12_CON0, 0, 1200000),
+ MT6366_REG_FIXED("ldo_vio18", VIO18,
+ MT6358_LDO_VIO18_CON0, 0, 1800000),
+ MT6366_REG_FIXED("ldo_vcn18", VCN18, MT6358_LDO_VCN18_CON0, 0, 1800000),
+ MT6366_REG_FIXED("ldo_vfe28", VFE28, MT6358_LDO_VFE28_CON0, 0, 2800000),
+ MT6366_REG_FIXED("ldo_vcn28", VCN28, MT6358_LDO_VCN28_CON0, 0, 2800000),
+ MT6366_REG_FIXED("ldo_vxo22", VXO22, MT6358_LDO_VXO22_CON0, 0, 2200000),
+ MT6366_REG_FIXED("ldo_vaux18", VAUX18,
+ MT6358_LDO_VAUX18_CON0, 0, 1800000),
+ MT6366_REG_FIXED("ldo_vbif28", VBIF28,
+ MT6358_LDO_VBIF28_CON0, 0, 2800000),
+ MT6366_REG_FIXED("ldo_vio28", VIO28, MT6358_LDO_VIO28_CON0, 0, 2800000),
+ MT6366_REG_FIXED("ldo_va12", VA12, MT6358_LDO_VA12_CON0, 0, 1200000),
+ MT6366_REG_FIXED("ldo_vrf18", VRF18, MT6358_LDO_VRF18_CON0, 0, 1800000),
+ MT6366_REG_FIXED("ldo_vaud28", VAUD28,
+ MT6358_LDO_VAUD28_CON0, 0, 2800000),
+ MT6366_LDO("ldo_vdram2", VDRAM2, vdram2_voltages, vdram2_idx,
+ MT6358_LDO_VDRAM2_CON0, 0, MT6358_LDO_VDRAM2_ELR0, 0x10),
+ MT6366_LDO("ldo_vsim1", VSIM1, vsim_voltages, vsim_idx,
+ MT6358_LDO_VSIM1_CON0, 0, MT6358_VSIM1_ANA_CON0, 0xf00),
+ MT6366_LDO("ldo_vibr", VIBR, vibr_voltages, vibr_idx,
+ MT6358_LDO_VIBR_CON0, 0, MT6358_VIBR_ANA_CON0, 0xf00),
+ MT6366_LDO("ldo_vusb", VUSB, vusb_voltages, vusb_idx,
+ MT6358_LDO_VUSB_CON0_0, 0, MT6358_VUSB_ANA_CON0, 0x700),
+ MT6366_LDO("ldo_vefuse", VEFUSE, vefuse_voltages, vefuse_idx,
+ MT6358_LDO_VEFUSE_CON0, 0, MT6358_VEFUSE_ANA_CON0, 0xf00),
+ MT6366_LDO("ldo_vmch", VMCH, vmch_vemc_voltages, vmch_vemc_idx,
+ MT6358_LDO_VMCH_CON0, 0, MT6358_VMCH_ANA_CON0, 0x700),
+ MT6366_LDO("ldo_vemc", VEMC, vmch_vemc_voltages, vmch_vemc_idx,
+ MT6358_LDO_VEMC_CON0, 0, MT6358_VEMC_ANA_CON0, 0x700),
+ MT6366_LDO("ldo_vcn33_bt", VCN33_BT, vcn33_bt_wifi_voltages,
+ vcn33_bt_wifi_idx, MT6358_LDO_VCN33_CON0_0,
+ 0, MT6358_VCN33_ANA_CON0, 0x300),
+ MT6366_LDO("ldo_vcn33_wifi", VCN33_WIFI, vcn33_bt_wifi_voltages,
+ vcn33_bt_wifi_idx, MT6358_LDO_VCN33_CON0_1,
+ 0, MT6358_VCN33_ANA_CON0, 0x300),
+ MT6366_LDO("ldo_vmc", VMC, vmc_voltages, vmc_idx,
+ MT6358_LDO_VMC_CON0, 0, MT6358_VMC_ANA_CON0, 0xf00),
+ MT6366_LDO("ldo_vsim2", VSIM2, vsim_voltages, vsim_idx,
+ MT6358_LDO_VSIM2_CON0, 0, MT6358_VSIM2_ANA_CON0, 0xf00),
+ MT6366_LDO1("ldo_vsram_proc11", VSRAM_PROC11, 500000, 1293750, 6250,
+ buck_volt_range1, MT6358_LDO_VSRAM_PROC11_DBG0, 0x7f00,
+ MT6358_LDO_VSRAM_CON0, 0x7f),
+ MT6366_LDO1("ldo_vsram_others", VSRAM_OTHERS, 500000, 1293750, 6250,
+ buck_volt_range1, MT6358_LDO_VSRAM_OTHERS_DBG0, 0x7f00,
+ MT6358_LDO_VSRAM_CON2, 0x7f),
+ MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB, 500000,
+ 1293750, 6250, buck_volt_range1,
+ MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f,
+ MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f),
+ MT6366_LDO1("ldo_vsram_gpu", VSRAM_GPU, 500000, 1293750, 6250,
+ buck_volt_range1, MT6358_LDO_VSRAM_GPU_DBG0, 0x7f00,
+ MT6358_LDO_VSRAM_CON3, 0x7f),
+ MT6366_LDO1("ldo_vsram_proc12", VSRAM_PROC12, 500000, 1293750, 6250,
+ buck_volt_range1, MT6358_LDO_VSRAM_PROC12_DBG0, 0x7f00,
+ MT6358_LDO_VSRAM_CON1, 0x7f),
+};
+
static int mt6358_regulator_probe(struct platform_device *pdev)
{
struct mt6397_chip *mt6397 = dev_get_drvdata(pdev->dev.parent);
struct regulator_config config = {};
struct regulator_dev *rdev;
- int i;
+ struct mt6358_regulator_info *mt6358_info;
+ int i, max_regulator;
+
+ if (mt6397->chip_id == MT6366_CHIP_ID) {
+ max_regulator = MT6366_MAX_REGULATOR;
+ mt6358_info = mt6366_regulators;
+ } else {
+ max_regulator = MT6358_MAX_REGULATOR;
+ mt6358_info = mt6358_regulators;
+ }
- for (i = 0; i < MT6358_MAX_REGULATOR; i++) {
+ for (i = 0; i < max_regulator; i++) {
config.dev = &pdev->dev;
- config.driver_data = &mt6358_regulators[i];
+ config.driver_data = &mt6358_info[i];
config.regmap = mt6397->regmap;
rdev = devm_regulator_register(&pdev->dev,
- &mt6358_regulators[i].desc,
+ &mt6358_info[i].desc,
&config);
if (IS_ERR(rdev)) {
dev_err(&pdev->dev, "failed to register %s\n",
- mt6358_regulators[i].desc.name);
+ mt6358_info[i].desc.name);
return PTR_ERR(rdev);
}
}
diff --git a/include/linux/regulator/mt6358-regulator.h b/include/linux/regulator/mt6358-regulator.h
index 1cc304946d09..bdcf83cd719e 100644
--- a/include/linux/regulator/mt6358-regulator.h
+++ b/include/linux/regulator/mt6358-regulator.h
@@ -48,9 +48,54 @@ enum {
MT6358_ID_VLDO28,
MT6358_ID_VAUD28,
MT6358_ID_VSIM2,
+ MT6358_ID_VCORE_SSHUB,
+ MT6358_ID_VSRAM_OTHERS_SSHUB,
MT6358_ID_RG_MAX,
};
+enum {
+ MT6366_ID_VDRAM1 = 0,
+ MT6366_ID_VCORE,
+ MT6366_ID_VPA,
+ MT6366_ID_VPROC11,
+ MT6366_ID_VPROC12,
+ MT6366_ID_VGPU,
+ MT6366_ID_VS2,
+ MT6366_ID_VMODEM,
+ MT6366_ID_VS1,
+ MT6366_ID_VDRAM2,
+ MT6366_ID_VSIM1,
+ MT6366_ID_VIBR,
+ MT6366_ID_VRF12,
+ MT6366_ID_VIO18,
+ MT6366_ID_VUSB,
+ MT6366_ID_VCN18,
+ MT6366_ID_VFE28,
+ MT6366_ID_VSRAM_PROC11,
+ MT6366_ID_VCN28,
+ MT6366_ID_VSRAM_OTHERS,
+ MT6366_ID_VSRAM_GPU,
+ MT6366_ID_VXO22,
+ MT6366_ID_VEFUSE,
+ MT6366_ID_VAUX18,
+ MT6366_ID_VMCH,
+ MT6366_ID_VBIF28,
+ MT6366_ID_VSRAM_PROC12,
+ MT6366_ID_VEMC,
+ MT6366_ID_VIO28,
+ MT6366_ID_VA12,
+ MT6366_ID_VRF18,
+ MT6366_ID_VCN33_BT,
+ MT6366_ID_VCN33_WIFI,
+ MT6366_ID_VMC,
+ MT6366_ID_VAUD28,
+ MT6366_ID_VSIM2,
+ MT6366_ID_VCORE_SSHUB,
+ MT6366_ID_VSRAM_OTHERS_SSHUB,
+ MT6366_ID_RG_MAX,
+};
+
#define MT6358_MAX_REGULATOR MT6358_ID_RG_MAX
+#define MT6366_MAX_REGULATOR MT6366_ID_RG_MAX
#endif /* __LINUX_REGULATOR_MT6358_H */
--
2.18.0
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [PATCH v2 1/2] regulator: mt6366: Add support for MT6366 regulator
@ 2022-03-17 3:04 ` Johnson Wang
0 siblings, 0 replies; 24+ messages in thread
From: Johnson Wang @ 2022-03-17 3:04 UTC (permalink / raw)
To: broonie, robh+dt
Cc: linux-kernel, devicetree, linux-arm-kernel, linux-mediatek,
Project_Global_Chrome_Upstream_Group, Johnson Wang
The MT6366 is a regulator found on boards based on MediaTek MT8186 and
probably other SoCs. It is a so called pmic and connects as a slave to
SoC using SPI, wrapped inside the pmic-wrapper.
Reviewed-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Johnson Wang <johnson.wang@mediatek.com>
---
drivers/regulator/mt6358-regulator.c | 213 ++++++++++++++++++++-
include/linux/regulator/mt6358-regulator.h | 45 +++++
2 files changed, 253 insertions(+), 5 deletions(-)
diff --git a/drivers/regulator/mt6358-regulator.c b/drivers/regulator/mt6358-regulator.c
index eb8027813b99..8a5ce990f1bf 100644
--- a/drivers/regulator/mt6358-regulator.c
+++ b/drivers/regulator/mt6358-regulator.c
@@ -130,6 +130,102 @@ struct mt6358_regulator_info {
.qi = BIT(15), \
}
+#define MT6366_BUCK(match, vreg, min, max, step, \
+ volt_ranges, vosel_mask, _da_vsel_reg, _da_vsel_mask, \
+ _modeset_reg, _modeset_shift) \
+[MT6366_ID_##vreg] = { \
+ .desc = { \
+ .name = #vreg, \
+ .of_match = of_match_ptr(match), \
+ .ops = &mt6358_volt_range_ops, \
+ .type = REGULATOR_VOLTAGE, \
+ .id = MT6366_ID_##vreg, \
+ .owner = THIS_MODULE, \
+ .n_voltages = ((max) - (min)) / (step) + 1, \
+ .linear_ranges = volt_ranges, \
+ .n_linear_ranges = ARRAY_SIZE(volt_ranges), \
+ .vsel_reg = MT6358_BUCK_##vreg##_ELR0, \
+ .vsel_mask = vosel_mask, \
+ .enable_reg = MT6358_BUCK_##vreg##_CON0, \
+ .enable_mask = BIT(0), \
+ .of_map_mode = mt6358_map_mode, \
+ }, \
+ .status_reg = MT6358_BUCK_##vreg##_DBG1, \
+ .qi = BIT(0), \
+ .da_vsel_reg = _da_vsel_reg, \
+ .da_vsel_mask = _da_vsel_mask, \
+ .modeset_reg = _modeset_reg, \
+ .modeset_mask = BIT(_modeset_shift), \
+}
+
+#define MT6366_LDO(match, vreg, ldo_volt_table, \
+ ldo_index_table, enreg, enbit, vosel, \
+ vosel_mask) \
+[MT6366_ID_##vreg] = { \
+ .desc = { \
+ .name = #vreg, \
+ .of_match = of_match_ptr(match), \
+ .ops = &mt6358_volt_table_ops, \
+ .type = REGULATOR_VOLTAGE, \
+ .id = MT6366_ID_##vreg, \
+ .owner = THIS_MODULE, \
+ .n_voltages = ARRAY_SIZE(ldo_volt_table), \
+ .volt_table = ldo_volt_table, \
+ .vsel_reg = vosel, \
+ .vsel_mask = vosel_mask, \
+ .enable_reg = enreg, \
+ .enable_mask = BIT(enbit), \
+ }, \
+ .status_reg = MT6358_LDO_##vreg##_CON1, \
+ .qi = BIT(15), \
+ .index_table = ldo_index_table, \
+ .n_table = ARRAY_SIZE(ldo_index_table), \
+}
+
+#define MT6366_LDO1(match, vreg, min, max, step, \
+ volt_ranges, _da_vsel_reg, _da_vsel_mask, \
+ vosel, vosel_mask) \
+[MT6366_ID_##vreg] = { \
+ .desc = { \
+ .name = #vreg, \
+ .of_match = of_match_ptr(match), \
+ .ops = &mt6358_volt_range_ops, \
+ .type = REGULATOR_VOLTAGE, \
+ .id = MT6366_ID_##vreg, \
+ .owner = THIS_MODULE, \
+ .n_voltages = ((max) - (min)) / (step) + 1, \
+ .linear_ranges = volt_ranges, \
+ .n_linear_ranges = ARRAY_SIZE(volt_ranges), \
+ .vsel_reg = vosel, \
+ .vsel_mask = vosel_mask, \
+ .enable_reg = MT6358_LDO_##vreg##_CON0, \
+ .enable_mask = BIT(0), \
+ }, \
+ .da_vsel_reg = _da_vsel_reg, \
+ .da_vsel_mask = _da_vsel_mask, \
+ .status_reg = MT6358_LDO_##vreg##_DBG1, \
+ .qi = BIT(0), \
+}
+
+#define MT6366_REG_FIXED(match, vreg, \
+ enreg, enbit, volt) \
+[MT6366_ID_##vreg] = { \
+ .desc = { \
+ .name = #vreg, \
+ .of_match = of_match_ptr(match), \
+ .ops = &mt6358_volt_fixed_ops, \
+ .type = REGULATOR_VOLTAGE, \
+ .id = MT6366_ID_##vreg, \
+ .owner = THIS_MODULE, \
+ .n_voltages = 1, \
+ .enable_reg = enreg, \
+ .enable_mask = BIT(enbit), \
+ .min_uV = volt, \
+ }, \
+ .status_reg = MT6358_LDO_##vreg##_CON1, \
+ .qi = BIT(15), \
+}
+
static const struct linear_range buck_volt_range1[] = {
REGULATOR_LINEAR_RANGE(500000, 0, 0x7f, 6250),
};
@@ -409,6 +505,9 @@ static struct mt6358_regulator_info mt6358_regulators[] = {
MT6358_BUCK("buck_vcore", VCORE, 500000, 1293750, 6250,
buck_volt_range1, 0x7f, MT6358_BUCK_VCORE_DBG0, 0x7f,
MT6358_VCORE_VGPU_ANA_CON0, 1),
+ MT6358_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
+ buck_volt_range1, 0x7f, MT6358_BUCK_VCORE_SSHUB_ELR0, 0x7f,
+ MT6358_VCORE_VGPU_ANA_CON0, 1),
MT6358_BUCK("buck_vpa", VPA, 500000, 3650000, 50000,
buck_volt_range3, 0x3f, MT6358_BUCK_VPA_DBG0, 0x3f,
MT6358_VPA_ANA_CON0, 3),
@@ -488,6 +587,10 @@ static struct mt6358_regulator_info mt6358_regulators[] = {
MT6358_LDO1("ldo_vsram_others", VSRAM_OTHERS, 500000, 1293750, 6250,
buck_volt_range1, MT6358_LDO_VSRAM_OTHERS_DBG0, 0x7f00,
MT6358_LDO_VSRAM_CON2, 0x7f),
+ MT6358_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB, 500000,
+ 1293750, 6250, buck_volt_range1,
+ MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f,
+ MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f),
MT6358_LDO1("ldo_vsram_gpu", VSRAM_GPU, 500000, 1293750, 6250,
buck_volt_range1, MT6358_LDO_VSRAM_GPU_DBG0, 0x7f00,
MT6358_LDO_VSRAM_CON3, 0x7f),
@@ -496,24 +599,124 @@ static struct mt6358_regulator_info mt6358_regulators[] = {
MT6358_LDO_VSRAM_CON1, 0x7f),
};
+/* The array is indexed by id(MT6366_ID_XXX) */
+static struct mt6358_regulator_info mt6366_regulators[] = {
+ MT6366_BUCK("buck_vdram1", VDRAM1, 500000, 2087500, 12500,
+ buck_volt_range2, 0x7f, MT6358_BUCK_VDRAM1_DBG0, 0x7f,
+ MT6358_VDRAM1_ANA_CON0, 8),
+ MT6366_BUCK("buck_vcore", VCORE, 500000, 1293750, 6250,
+ buck_volt_range1, 0x7f, MT6358_BUCK_VCORE_DBG0, 0x7f,
+ MT6358_VCORE_VGPU_ANA_CON0, 1),
+ MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
+ buck_volt_range1, 0x7f, MT6358_BUCK_VCORE_SSHUB_ELR0, 0x7f,
+ MT6358_VCORE_VGPU_ANA_CON0, 1),
+ MT6366_BUCK("buck_vpa", VPA, 500000, 3650000, 50000,
+ buck_volt_range3, 0x3f, MT6358_BUCK_VPA_DBG0, 0x3f,
+ MT6358_VPA_ANA_CON0, 3),
+ MT6366_BUCK("buck_vproc11", VPROC11, 500000, 1293750, 6250,
+ buck_volt_range1, 0x7f, MT6358_BUCK_VPROC11_DBG0, 0x7f,
+ MT6358_VPROC_ANA_CON0, 1),
+ MT6366_BUCK("buck_vproc12", VPROC12, 500000, 1293750, 6250,
+ buck_volt_range1, 0x7f, MT6358_BUCK_VPROC12_DBG0, 0x7f,
+ MT6358_VPROC_ANA_CON0, 2),
+ MT6366_BUCK("buck_vgpu", VGPU, 500000, 1293750, 6250,
+ buck_volt_range1, 0x7f, MT6358_BUCK_VGPU_ELR0, 0x7f,
+ MT6358_VCORE_VGPU_ANA_CON0, 2),
+ MT6366_BUCK("buck_vs2", VS2, 500000, 2087500, 12500,
+ buck_volt_range2, 0x7f, MT6358_BUCK_VS2_DBG0, 0x7f,
+ MT6358_VS2_ANA_CON0, 8),
+ MT6366_BUCK("buck_vmodem", VMODEM, 500000, 1293750, 6250,
+ buck_volt_range1, 0x7f, MT6358_BUCK_VMODEM_DBG0, 0x7f,
+ MT6358_VMODEM_ANA_CON0, 8),
+ MT6366_BUCK("buck_vs1", VS1, 1000000, 2587500, 12500,
+ buck_volt_range4, 0x7f, MT6358_BUCK_VS1_DBG0, 0x7f,
+ MT6358_VS1_ANA_CON0, 8),
+ MT6366_REG_FIXED("ldo_vrf12", VRF12,
+ MT6358_LDO_VRF12_CON0, 0, 1200000),
+ MT6366_REG_FIXED("ldo_vio18", VIO18,
+ MT6358_LDO_VIO18_CON0, 0, 1800000),
+ MT6366_REG_FIXED("ldo_vcn18", VCN18, MT6358_LDO_VCN18_CON0, 0, 1800000),
+ MT6366_REG_FIXED("ldo_vfe28", VFE28, MT6358_LDO_VFE28_CON0, 0, 2800000),
+ MT6366_REG_FIXED("ldo_vcn28", VCN28, MT6358_LDO_VCN28_CON0, 0, 2800000),
+ MT6366_REG_FIXED("ldo_vxo22", VXO22, MT6358_LDO_VXO22_CON0, 0, 2200000),
+ MT6366_REG_FIXED("ldo_vaux18", VAUX18,
+ MT6358_LDO_VAUX18_CON0, 0, 1800000),
+ MT6366_REG_FIXED("ldo_vbif28", VBIF28,
+ MT6358_LDO_VBIF28_CON0, 0, 2800000),
+ MT6366_REG_FIXED("ldo_vio28", VIO28, MT6358_LDO_VIO28_CON0, 0, 2800000),
+ MT6366_REG_FIXED("ldo_va12", VA12, MT6358_LDO_VA12_CON0, 0, 1200000),
+ MT6366_REG_FIXED("ldo_vrf18", VRF18, MT6358_LDO_VRF18_CON0, 0, 1800000),
+ MT6366_REG_FIXED("ldo_vaud28", VAUD28,
+ MT6358_LDO_VAUD28_CON0, 0, 2800000),
+ MT6366_LDO("ldo_vdram2", VDRAM2, vdram2_voltages, vdram2_idx,
+ MT6358_LDO_VDRAM2_CON0, 0, MT6358_LDO_VDRAM2_ELR0, 0x10),
+ MT6366_LDO("ldo_vsim1", VSIM1, vsim_voltages, vsim_idx,
+ MT6358_LDO_VSIM1_CON0, 0, MT6358_VSIM1_ANA_CON0, 0xf00),
+ MT6366_LDO("ldo_vibr", VIBR, vibr_voltages, vibr_idx,
+ MT6358_LDO_VIBR_CON0, 0, MT6358_VIBR_ANA_CON0, 0xf00),
+ MT6366_LDO("ldo_vusb", VUSB, vusb_voltages, vusb_idx,
+ MT6358_LDO_VUSB_CON0_0, 0, MT6358_VUSB_ANA_CON0, 0x700),
+ MT6366_LDO("ldo_vefuse", VEFUSE, vefuse_voltages, vefuse_idx,
+ MT6358_LDO_VEFUSE_CON0, 0, MT6358_VEFUSE_ANA_CON0, 0xf00),
+ MT6366_LDO("ldo_vmch", VMCH, vmch_vemc_voltages, vmch_vemc_idx,
+ MT6358_LDO_VMCH_CON0, 0, MT6358_VMCH_ANA_CON0, 0x700),
+ MT6366_LDO("ldo_vemc", VEMC, vmch_vemc_voltages, vmch_vemc_idx,
+ MT6358_LDO_VEMC_CON0, 0, MT6358_VEMC_ANA_CON0, 0x700),
+ MT6366_LDO("ldo_vcn33_bt", VCN33_BT, vcn33_bt_wifi_voltages,
+ vcn33_bt_wifi_idx, MT6358_LDO_VCN33_CON0_0,
+ 0, MT6358_VCN33_ANA_CON0, 0x300),
+ MT6366_LDO("ldo_vcn33_wifi", VCN33_WIFI, vcn33_bt_wifi_voltages,
+ vcn33_bt_wifi_idx, MT6358_LDO_VCN33_CON0_1,
+ 0, MT6358_VCN33_ANA_CON0, 0x300),
+ MT6366_LDO("ldo_vmc", VMC, vmc_voltages, vmc_idx,
+ MT6358_LDO_VMC_CON0, 0, MT6358_VMC_ANA_CON0, 0xf00),
+ MT6366_LDO("ldo_vsim2", VSIM2, vsim_voltages, vsim_idx,
+ MT6358_LDO_VSIM2_CON0, 0, MT6358_VSIM2_ANA_CON0, 0xf00),
+ MT6366_LDO1("ldo_vsram_proc11", VSRAM_PROC11, 500000, 1293750, 6250,
+ buck_volt_range1, MT6358_LDO_VSRAM_PROC11_DBG0, 0x7f00,
+ MT6358_LDO_VSRAM_CON0, 0x7f),
+ MT6366_LDO1("ldo_vsram_others", VSRAM_OTHERS, 500000, 1293750, 6250,
+ buck_volt_range1, MT6358_LDO_VSRAM_OTHERS_DBG0, 0x7f00,
+ MT6358_LDO_VSRAM_CON2, 0x7f),
+ MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB, 500000,
+ 1293750, 6250, buck_volt_range1,
+ MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f,
+ MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f),
+ MT6366_LDO1("ldo_vsram_gpu", VSRAM_GPU, 500000, 1293750, 6250,
+ buck_volt_range1, MT6358_LDO_VSRAM_GPU_DBG0, 0x7f00,
+ MT6358_LDO_VSRAM_CON3, 0x7f),
+ MT6366_LDO1("ldo_vsram_proc12", VSRAM_PROC12, 500000, 1293750, 6250,
+ buck_volt_range1, MT6358_LDO_VSRAM_PROC12_DBG0, 0x7f00,
+ MT6358_LDO_VSRAM_CON1, 0x7f),
+};
+
static int mt6358_regulator_probe(struct platform_device *pdev)
{
struct mt6397_chip *mt6397 = dev_get_drvdata(pdev->dev.parent);
struct regulator_config config = {};
struct regulator_dev *rdev;
- int i;
+ struct mt6358_regulator_info *mt6358_info;
+ int i, max_regulator;
+
+ if (mt6397->chip_id == MT6366_CHIP_ID) {
+ max_regulator = MT6366_MAX_REGULATOR;
+ mt6358_info = mt6366_regulators;
+ } else {
+ max_regulator = MT6358_MAX_REGULATOR;
+ mt6358_info = mt6358_regulators;
+ }
- for (i = 0; i < MT6358_MAX_REGULATOR; i++) {
+ for (i = 0; i < max_regulator; i++) {
config.dev = &pdev->dev;
- config.driver_data = &mt6358_regulators[i];
+ config.driver_data = &mt6358_info[i];
config.regmap = mt6397->regmap;
rdev = devm_regulator_register(&pdev->dev,
- &mt6358_regulators[i].desc,
+ &mt6358_info[i].desc,
&config);
if (IS_ERR(rdev)) {
dev_err(&pdev->dev, "failed to register %s\n",
- mt6358_regulators[i].desc.name);
+ mt6358_info[i].desc.name);
return PTR_ERR(rdev);
}
}
diff --git a/include/linux/regulator/mt6358-regulator.h b/include/linux/regulator/mt6358-regulator.h
index 1cc304946d09..bdcf83cd719e 100644
--- a/include/linux/regulator/mt6358-regulator.h
+++ b/include/linux/regulator/mt6358-regulator.h
@@ -48,9 +48,54 @@ enum {
MT6358_ID_VLDO28,
MT6358_ID_VAUD28,
MT6358_ID_VSIM2,
+ MT6358_ID_VCORE_SSHUB,
+ MT6358_ID_VSRAM_OTHERS_SSHUB,
MT6358_ID_RG_MAX,
};
+enum {
+ MT6366_ID_VDRAM1 = 0,
+ MT6366_ID_VCORE,
+ MT6366_ID_VPA,
+ MT6366_ID_VPROC11,
+ MT6366_ID_VPROC12,
+ MT6366_ID_VGPU,
+ MT6366_ID_VS2,
+ MT6366_ID_VMODEM,
+ MT6366_ID_VS1,
+ MT6366_ID_VDRAM2,
+ MT6366_ID_VSIM1,
+ MT6366_ID_VIBR,
+ MT6366_ID_VRF12,
+ MT6366_ID_VIO18,
+ MT6366_ID_VUSB,
+ MT6366_ID_VCN18,
+ MT6366_ID_VFE28,
+ MT6366_ID_VSRAM_PROC11,
+ MT6366_ID_VCN28,
+ MT6366_ID_VSRAM_OTHERS,
+ MT6366_ID_VSRAM_GPU,
+ MT6366_ID_VXO22,
+ MT6366_ID_VEFUSE,
+ MT6366_ID_VAUX18,
+ MT6366_ID_VMCH,
+ MT6366_ID_VBIF28,
+ MT6366_ID_VSRAM_PROC12,
+ MT6366_ID_VEMC,
+ MT6366_ID_VIO28,
+ MT6366_ID_VA12,
+ MT6366_ID_VRF18,
+ MT6366_ID_VCN33_BT,
+ MT6366_ID_VCN33_WIFI,
+ MT6366_ID_VMC,
+ MT6366_ID_VAUD28,
+ MT6366_ID_VSIM2,
+ MT6366_ID_VCORE_SSHUB,
+ MT6366_ID_VSRAM_OTHERS_SSHUB,
+ MT6366_ID_RG_MAX,
+};
+
#define MT6358_MAX_REGULATOR MT6358_ID_RG_MAX
+#define MT6366_MAX_REGULATOR MT6366_ID_RG_MAX
#endif /* __LINUX_REGULATOR_MT6358_H */
--
2.18.0
_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [PATCH v2 1/2] regulator: mt6366: Add support for MT6366 regulator
@ 2022-03-17 3:04 ` Johnson Wang
0 siblings, 0 replies; 24+ messages in thread
From: Johnson Wang @ 2022-03-17 3:04 UTC (permalink / raw)
To: broonie, robh+dt
Cc: linux-kernel, devicetree, linux-arm-kernel, linux-mediatek,
Project_Global_Chrome_Upstream_Group, Johnson Wang
The MT6366 is a regulator found on boards based on MediaTek MT8186 and
probably other SoCs. It is a so called pmic and connects as a slave to
SoC using SPI, wrapped inside the pmic-wrapper.
Reviewed-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Johnson Wang <johnson.wang@mediatek.com>
---
drivers/regulator/mt6358-regulator.c | 213 ++++++++++++++++++++-
include/linux/regulator/mt6358-regulator.h | 45 +++++
2 files changed, 253 insertions(+), 5 deletions(-)
diff --git a/drivers/regulator/mt6358-regulator.c b/drivers/regulator/mt6358-regulator.c
index eb8027813b99..8a5ce990f1bf 100644
--- a/drivers/regulator/mt6358-regulator.c
+++ b/drivers/regulator/mt6358-regulator.c
@@ -130,6 +130,102 @@ struct mt6358_regulator_info {
.qi = BIT(15), \
}
+#define MT6366_BUCK(match, vreg, min, max, step, \
+ volt_ranges, vosel_mask, _da_vsel_reg, _da_vsel_mask, \
+ _modeset_reg, _modeset_shift) \
+[MT6366_ID_##vreg] = { \
+ .desc = { \
+ .name = #vreg, \
+ .of_match = of_match_ptr(match), \
+ .ops = &mt6358_volt_range_ops, \
+ .type = REGULATOR_VOLTAGE, \
+ .id = MT6366_ID_##vreg, \
+ .owner = THIS_MODULE, \
+ .n_voltages = ((max) - (min)) / (step) + 1, \
+ .linear_ranges = volt_ranges, \
+ .n_linear_ranges = ARRAY_SIZE(volt_ranges), \
+ .vsel_reg = MT6358_BUCK_##vreg##_ELR0, \
+ .vsel_mask = vosel_mask, \
+ .enable_reg = MT6358_BUCK_##vreg##_CON0, \
+ .enable_mask = BIT(0), \
+ .of_map_mode = mt6358_map_mode, \
+ }, \
+ .status_reg = MT6358_BUCK_##vreg##_DBG1, \
+ .qi = BIT(0), \
+ .da_vsel_reg = _da_vsel_reg, \
+ .da_vsel_mask = _da_vsel_mask, \
+ .modeset_reg = _modeset_reg, \
+ .modeset_mask = BIT(_modeset_shift), \
+}
+
+#define MT6366_LDO(match, vreg, ldo_volt_table, \
+ ldo_index_table, enreg, enbit, vosel, \
+ vosel_mask) \
+[MT6366_ID_##vreg] = { \
+ .desc = { \
+ .name = #vreg, \
+ .of_match = of_match_ptr(match), \
+ .ops = &mt6358_volt_table_ops, \
+ .type = REGULATOR_VOLTAGE, \
+ .id = MT6366_ID_##vreg, \
+ .owner = THIS_MODULE, \
+ .n_voltages = ARRAY_SIZE(ldo_volt_table), \
+ .volt_table = ldo_volt_table, \
+ .vsel_reg = vosel, \
+ .vsel_mask = vosel_mask, \
+ .enable_reg = enreg, \
+ .enable_mask = BIT(enbit), \
+ }, \
+ .status_reg = MT6358_LDO_##vreg##_CON1, \
+ .qi = BIT(15), \
+ .index_table = ldo_index_table, \
+ .n_table = ARRAY_SIZE(ldo_index_table), \
+}
+
+#define MT6366_LDO1(match, vreg, min, max, step, \
+ volt_ranges, _da_vsel_reg, _da_vsel_mask, \
+ vosel, vosel_mask) \
+[MT6366_ID_##vreg] = { \
+ .desc = { \
+ .name = #vreg, \
+ .of_match = of_match_ptr(match), \
+ .ops = &mt6358_volt_range_ops, \
+ .type = REGULATOR_VOLTAGE, \
+ .id = MT6366_ID_##vreg, \
+ .owner = THIS_MODULE, \
+ .n_voltages = ((max) - (min)) / (step) + 1, \
+ .linear_ranges = volt_ranges, \
+ .n_linear_ranges = ARRAY_SIZE(volt_ranges), \
+ .vsel_reg = vosel, \
+ .vsel_mask = vosel_mask, \
+ .enable_reg = MT6358_LDO_##vreg##_CON0, \
+ .enable_mask = BIT(0), \
+ }, \
+ .da_vsel_reg = _da_vsel_reg, \
+ .da_vsel_mask = _da_vsel_mask, \
+ .status_reg = MT6358_LDO_##vreg##_DBG1, \
+ .qi = BIT(0), \
+}
+
+#define MT6366_REG_FIXED(match, vreg, \
+ enreg, enbit, volt) \
+[MT6366_ID_##vreg] = { \
+ .desc = { \
+ .name = #vreg, \
+ .of_match = of_match_ptr(match), \
+ .ops = &mt6358_volt_fixed_ops, \
+ .type = REGULATOR_VOLTAGE, \
+ .id = MT6366_ID_##vreg, \
+ .owner = THIS_MODULE, \
+ .n_voltages = 1, \
+ .enable_reg = enreg, \
+ .enable_mask = BIT(enbit), \
+ .min_uV = volt, \
+ }, \
+ .status_reg = MT6358_LDO_##vreg##_CON1, \
+ .qi = BIT(15), \
+}
+
static const struct linear_range buck_volt_range1[] = {
REGULATOR_LINEAR_RANGE(500000, 0, 0x7f, 6250),
};
@@ -409,6 +505,9 @@ static struct mt6358_regulator_info mt6358_regulators[] = {
MT6358_BUCK("buck_vcore", VCORE, 500000, 1293750, 6250,
buck_volt_range1, 0x7f, MT6358_BUCK_VCORE_DBG0, 0x7f,
MT6358_VCORE_VGPU_ANA_CON0, 1),
+ MT6358_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
+ buck_volt_range1, 0x7f, MT6358_BUCK_VCORE_SSHUB_ELR0, 0x7f,
+ MT6358_VCORE_VGPU_ANA_CON0, 1),
MT6358_BUCK("buck_vpa", VPA, 500000, 3650000, 50000,
buck_volt_range3, 0x3f, MT6358_BUCK_VPA_DBG0, 0x3f,
MT6358_VPA_ANA_CON0, 3),
@@ -488,6 +587,10 @@ static struct mt6358_regulator_info mt6358_regulators[] = {
MT6358_LDO1("ldo_vsram_others", VSRAM_OTHERS, 500000, 1293750, 6250,
buck_volt_range1, MT6358_LDO_VSRAM_OTHERS_DBG0, 0x7f00,
MT6358_LDO_VSRAM_CON2, 0x7f),
+ MT6358_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB, 500000,
+ 1293750, 6250, buck_volt_range1,
+ MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f,
+ MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f),
MT6358_LDO1("ldo_vsram_gpu", VSRAM_GPU, 500000, 1293750, 6250,
buck_volt_range1, MT6358_LDO_VSRAM_GPU_DBG0, 0x7f00,
MT6358_LDO_VSRAM_CON3, 0x7f),
@@ -496,24 +599,124 @@ static struct mt6358_regulator_info mt6358_regulators[] = {
MT6358_LDO_VSRAM_CON1, 0x7f),
};
+/* The array is indexed by id(MT6366_ID_XXX) */
+static struct mt6358_regulator_info mt6366_regulators[] = {
+ MT6366_BUCK("buck_vdram1", VDRAM1, 500000, 2087500, 12500,
+ buck_volt_range2, 0x7f, MT6358_BUCK_VDRAM1_DBG0, 0x7f,
+ MT6358_VDRAM1_ANA_CON0, 8),
+ MT6366_BUCK("buck_vcore", VCORE, 500000, 1293750, 6250,
+ buck_volt_range1, 0x7f, MT6358_BUCK_VCORE_DBG0, 0x7f,
+ MT6358_VCORE_VGPU_ANA_CON0, 1),
+ MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
+ buck_volt_range1, 0x7f, MT6358_BUCK_VCORE_SSHUB_ELR0, 0x7f,
+ MT6358_VCORE_VGPU_ANA_CON0, 1),
+ MT6366_BUCK("buck_vpa", VPA, 500000, 3650000, 50000,
+ buck_volt_range3, 0x3f, MT6358_BUCK_VPA_DBG0, 0x3f,
+ MT6358_VPA_ANA_CON0, 3),
+ MT6366_BUCK("buck_vproc11", VPROC11, 500000, 1293750, 6250,
+ buck_volt_range1, 0x7f, MT6358_BUCK_VPROC11_DBG0, 0x7f,
+ MT6358_VPROC_ANA_CON0, 1),
+ MT6366_BUCK("buck_vproc12", VPROC12, 500000, 1293750, 6250,
+ buck_volt_range1, 0x7f, MT6358_BUCK_VPROC12_DBG0, 0x7f,
+ MT6358_VPROC_ANA_CON0, 2),
+ MT6366_BUCK("buck_vgpu", VGPU, 500000, 1293750, 6250,
+ buck_volt_range1, 0x7f, MT6358_BUCK_VGPU_ELR0, 0x7f,
+ MT6358_VCORE_VGPU_ANA_CON0, 2),
+ MT6366_BUCK("buck_vs2", VS2, 500000, 2087500, 12500,
+ buck_volt_range2, 0x7f, MT6358_BUCK_VS2_DBG0, 0x7f,
+ MT6358_VS2_ANA_CON0, 8),
+ MT6366_BUCK("buck_vmodem", VMODEM, 500000, 1293750, 6250,
+ buck_volt_range1, 0x7f, MT6358_BUCK_VMODEM_DBG0, 0x7f,
+ MT6358_VMODEM_ANA_CON0, 8),
+ MT6366_BUCK("buck_vs1", VS1, 1000000, 2587500, 12500,
+ buck_volt_range4, 0x7f, MT6358_BUCK_VS1_DBG0, 0x7f,
+ MT6358_VS1_ANA_CON0, 8),
+ MT6366_REG_FIXED("ldo_vrf12", VRF12,
+ MT6358_LDO_VRF12_CON0, 0, 1200000),
+ MT6366_REG_FIXED("ldo_vio18", VIO18,
+ MT6358_LDO_VIO18_CON0, 0, 1800000),
+ MT6366_REG_FIXED("ldo_vcn18", VCN18, MT6358_LDO_VCN18_CON0, 0, 1800000),
+ MT6366_REG_FIXED("ldo_vfe28", VFE28, MT6358_LDO_VFE28_CON0, 0, 2800000),
+ MT6366_REG_FIXED("ldo_vcn28", VCN28, MT6358_LDO_VCN28_CON0, 0, 2800000),
+ MT6366_REG_FIXED("ldo_vxo22", VXO22, MT6358_LDO_VXO22_CON0, 0, 2200000),
+ MT6366_REG_FIXED("ldo_vaux18", VAUX18,
+ MT6358_LDO_VAUX18_CON0, 0, 1800000),
+ MT6366_REG_FIXED("ldo_vbif28", VBIF28,
+ MT6358_LDO_VBIF28_CON0, 0, 2800000),
+ MT6366_REG_FIXED("ldo_vio28", VIO28, MT6358_LDO_VIO28_CON0, 0, 2800000),
+ MT6366_REG_FIXED("ldo_va12", VA12, MT6358_LDO_VA12_CON0, 0, 1200000),
+ MT6366_REG_FIXED("ldo_vrf18", VRF18, MT6358_LDO_VRF18_CON0, 0, 1800000),
+ MT6366_REG_FIXED("ldo_vaud28", VAUD28,
+ MT6358_LDO_VAUD28_CON0, 0, 2800000),
+ MT6366_LDO("ldo_vdram2", VDRAM2, vdram2_voltages, vdram2_idx,
+ MT6358_LDO_VDRAM2_CON0, 0, MT6358_LDO_VDRAM2_ELR0, 0x10),
+ MT6366_LDO("ldo_vsim1", VSIM1, vsim_voltages, vsim_idx,
+ MT6358_LDO_VSIM1_CON0, 0, MT6358_VSIM1_ANA_CON0, 0xf00),
+ MT6366_LDO("ldo_vibr", VIBR, vibr_voltages, vibr_idx,
+ MT6358_LDO_VIBR_CON0, 0, MT6358_VIBR_ANA_CON0, 0xf00),
+ MT6366_LDO("ldo_vusb", VUSB, vusb_voltages, vusb_idx,
+ MT6358_LDO_VUSB_CON0_0, 0, MT6358_VUSB_ANA_CON0, 0x700),
+ MT6366_LDO("ldo_vefuse", VEFUSE, vefuse_voltages, vefuse_idx,
+ MT6358_LDO_VEFUSE_CON0, 0, MT6358_VEFUSE_ANA_CON0, 0xf00),
+ MT6366_LDO("ldo_vmch", VMCH, vmch_vemc_voltages, vmch_vemc_idx,
+ MT6358_LDO_VMCH_CON0, 0, MT6358_VMCH_ANA_CON0, 0x700),
+ MT6366_LDO("ldo_vemc", VEMC, vmch_vemc_voltages, vmch_vemc_idx,
+ MT6358_LDO_VEMC_CON0, 0, MT6358_VEMC_ANA_CON0, 0x700),
+ MT6366_LDO("ldo_vcn33_bt", VCN33_BT, vcn33_bt_wifi_voltages,
+ vcn33_bt_wifi_idx, MT6358_LDO_VCN33_CON0_0,
+ 0, MT6358_VCN33_ANA_CON0, 0x300),
+ MT6366_LDO("ldo_vcn33_wifi", VCN33_WIFI, vcn33_bt_wifi_voltages,
+ vcn33_bt_wifi_idx, MT6358_LDO_VCN33_CON0_1,
+ 0, MT6358_VCN33_ANA_CON0, 0x300),
+ MT6366_LDO("ldo_vmc", VMC, vmc_voltages, vmc_idx,
+ MT6358_LDO_VMC_CON0, 0, MT6358_VMC_ANA_CON0, 0xf00),
+ MT6366_LDO("ldo_vsim2", VSIM2, vsim_voltages, vsim_idx,
+ MT6358_LDO_VSIM2_CON0, 0, MT6358_VSIM2_ANA_CON0, 0xf00),
+ MT6366_LDO1("ldo_vsram_proc11", VSRAM_PROC11, 500000, 1293750, 6250,
+ buck_volt_range1, MT6358_LDO_VSRAM_PROC11_DBG0, 0x7f00,
+ MT6358_LDO_VSRAM_CON0, 0x7f),
+ MT6366_LDO1("ldo_vsram_others", VSRAM_OTHERS, 500000, 1293750, 6250,
+ buck_volt_range1, MT6358_LDO_VSRAM_OTHERS_DBG0, 0x7f00,
+ MT6358_LDO_VSRAM_CON2, 0x7f),
+ MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB, 500000,
+ 1293750, 6250, buck_volt_range1,
+ MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f,
+ MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f),
+ MT6366_LDO1("ldo_vsram_gpu", VSRAM_GPU, 500000, 1293750, 6250,
+ buck_volt_range1, MT6358_LDO_VSRAM_GPU_DBG0, 0x7f00,
+ MT6358_LDO_VSRAM_CON3, 0x7f),
+ MT6366_LDO1("ldo_vsram_proc12", VSRAM_PROC12, 500000, 1293750, 6250,
+ buck_volt_range1, MT6358_LDO_VSRAM_PROC12_DBG0, 0x7f00,
+ MT6358_LDO_VSRAM_CON1, 0x7f),
+};
+
static int mt6358_regulator_probe(struct platform_device *pdev)
{
struct mt6397_chip *mt6397 = dev_get_drvdata(pdev->dev.parent);
struct regulator_config config = {};
struct regulator_dev *rdev;
- int i;
+ struct mt6358_regulator_info *mt6358_info;
+ int i, max_regulator;
+
+ if (mt6397->chip_id == MT6366_CHIP_ID) {
+ max_regulator = MT6366_MAX_REGULATOR;
+ mt6358_info = mt6366_regulators;
+ } else {
+ max_regulator = MT6358_MAX_REGULATOR;
+ mt6358_info = mt6358_regulators;
+ }
- for (i = 0; i < MT6358_MAX_REGULATOR; i++) {
+ for (i = 0; i < max_regulator; i++) {
config.dev = &pdev->dev;
- config.driver_data = &mt6358_regulators[i];
+ config.driver_data = &mt6358_info[i];
config.regmap = mt6397->regmap;
rdev = devm_regulator_register(&pdev->dev,
- &mt6358_regulators[i].desc,
+ &mt6358_info[i].desc,
&config);
if (IS_ERR(rdev)) {
dev_err(&pdev->dev, "failed to register %s\n",
- mt6358_regulators[i].desc.name);
+ mt6358_info[i].desc.name);
return PTR_ERR(rdev);
}
}
diff --git a/include/linux/regulator/mt6358-regulator.h b/include/linux/regulator/mt6358-regulator.h
index 1cc304946d09..bdcf83cd719e 100644
--- a/include/linux/regulator/mt6358-regulator.h
+++ b/include/linux/regulator/mt6358-regulator.h
@@ -48,9 +48,54 @@ enum {
MT6358_ID_VLDO28,
MT6358_ID_VAUD28,
MT6358_ID_VSIM2,
+ MT6358_ID_VCORE_SSHUB,
+ MT6358_ID_VSRAM_OTHERS_SSHUB,
MT6358_ID_RG_MAX,
};
+enum {
+ MT6366_ID_VDRAM1 = 0,
+ MT6366_ID_VCORE,
+ MT6366_ID_VPA,
+ MT6366_ID_VPROC11,
+ MT6366_ID_VPROC12,
+ MT6366_ID_VGPU,
+ MT6366_ID_VS2,
+ MT6366_ID_VMODEM,
+ MT6366_ID_VS1,
+ MT6366_ID_VDRAM2,
+ MT6366_ID_VSIM1,
+ MT6366_ID_VIBR,
+ MT6366_ID_VRF12,
+ MT6366_ID_VIO18,
+ MT6366_ID_VUSB,
+ MT6366_ID_VCN18,
+ MT6366_ID_VFE28,
+ MT6366_ID_VSRAM_PROC11,
+ MT6366_ID_VCN28,
+ MT6366_ID_VSRAM_OTHERS,
+ MT6366_ID_VSRAM_GPU,
+ MT6366_ID_VXO22,
+ MT6366_ID_VEFUSE,
+ MT6366_ID_VAUX18,
+ MT6366_ID_VMCH,
+ MT6366_ID_VBIF28,
+ MT6366_ID_VSRAM_PROC12,
+ MT6366_ID_VEMC,
+ MT6366_ID_VIO28,
+ MT6366_ID_VA12,
+ MT6366_ID_VRF18,
+ MT6366_ID_VCN33_BT,
+ MT6366_ID_VCN33_WIFI,
+ MT6366_ID_VMC,
+ MT6366_ID_VAUD28,
+ MT6366_ID_VSIM2,
+ MT6366_ID_VCORE_SSHUB,
+ MT6366_ID_VSRAM_OTHERS_SSHUB,
+ MT6366_ID_RG_MAX,
+};
+
#define MT6358_MAX_REGULATOR MT6358_ID_RG_MAX
+#define MT6366_MAX_REGULATOR MT6366_ID_RG_MAX
#endif /* __LINUX_REGULATOR_MT6358_H */
--
2.18.0
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [PATCH v2 2/2] dt-bindings: regulator: Add BUCK and LDO document for MT6358 and MT6366
2022-03-17 3:04 ` Johnson Wang
(?)
@ 2022-03-17 3:04 ` Johnson Wang
-1 siblings, 0 replies; 24+ messages in thread
From: Johnson Wang @ 2022-03-17 3:04 UTC (permalink / raw)
To: broonie, robh+dt
Cc: linux-kernel, devicetree, linux-arm-kernel, linux-mediatek,
Project_Global_Chrome_Upstream_Group, Johnson Wang
Add buck_vcore_sshub and ldo_vsram_others_sshub
regulators to binding document for MT6358 and MT6366.
Reviewed-by: Rob Herring <robh@kernel.org>
Reviewed-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Johnson Wang <johnson.wang@mediatek.com>
---
.../bindings/regulator/mt6358-regulator.txt | 22 ++++++++++++++-----
1 file changed, 17 insertions(+), 5 deletions(-)
diff --git a/Documentation/devicetree/bindings/regulator/mt6358-regulator.txt b/Documentation/devicetree/bindings/regulator/mt6358-regulator.txt
index 9a90a92f2d7e..7034cdca54e0 100644
--- a/Documentation/devicetree/bindings/regulator/mt6358-regulator.txt
+++ b/Documentation/devicetree/bindings/regulator/mt6358-regulator.txt
@@ -8,14 +8,14 @@ Documentation/devicetree/bindings/regulator/regulator.txt.
The valid names for regulators are::
BUCK:
- buck_vdram1, buck_vcore, buck_vpa, buck_vproc11, buck_vproc12, buck_vgpu,
- buck_vs2, buck_vmodem, buck_vs1
+ buck_vdram1, buck_vcore, buck_vcore_sshub, buck_vpa, buck_vproc11,
+ buck_vproc12, buck_vgpu, buck_vs2, buck_vmodem, buck_vs1
LDO:
ldo_vdram2, ldo_vsim1, ldo_vibr, ldo_vrf12, ldo_vio18, ldo_vusb, ldo_vcamio,
ldo_vcamd, ldo_vcn18, ldo_vfe28, ldo_vsram_proc11, ldo_vcn28, ldo_vsram_others,
- ldo_vsram_gpu, ldo_vxo22, ldo_vefuse, ldo_vaux18, ldo_vmch, ldo_vbif28,
- ldo_vsram_proc12, ldo_vcama1, ldo_vemc, ldo_vio28, ldo_va12, ldo_vrf18,
- ldo_vcn33_bt, ldo_vcn33_wifi, ldo_vcama2, ldo_vmc, ldo_vldo28, ldo_vaud28,
+ ldo_vsram_others_sshub, ldo_vsram_gpu, ldo_vxo22, ldo_vefuse, ldo_vaux18,
+ ldo_vmch, ldo_vbif28, ldo_vsram_proc12, ldo_vcama1, ldo_vemc, ldo_vio28, ldo_va12,
+ ldo_vrf18, ldo_vcn33_bt, ldo_vcn33_wifi, ldo_vcama2, ldo_vmc, ldo_vldo28, ldo_vaud28,
ldo_vsim2
Example:
@@ -354,5 +354,17 @@ Example:
regulator-max-microvolt = <3100000>;
regulator-enable-ramp-delay = <540>;
};
+
+ mt6358_vcore_sshub_reg: buck_vcore_sshub {
+ regulator-name = "vcore_sshub";
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <1293750>;
+ };
+
+ mt6358_vsram_others_sshub_reg: ldo_vsram_others_sshub {
+ regulator-name = "vsram_others_sshub";
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <1293750>;
+ };
};
};
--
2.18.0
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [PATCH v2 2/2] dt-bindings: regulator: Add BUCK and LDO document for MT6358 and MT6366
@ 2022-03-17 3:04 ` Johnson Wang
0 siblings, 0 replies; 24+ messages in thread
From: Johnson Wang @ 2022-03-17 3:04 UTC (permalink / raw)
To: broonie, robh+dt
Cc: linux-kernel, devicetree, linux-arm-kernel, linux-mediatek,
Project_Global_Chrome_Upstream_Group, Johnson Wang
Add buck_vcore_sshub and ldo_vsram_others_sshub
regulators to binding document for MT6358 and MT6366.
Reviewed-by: Rob Herring <robh@kernel.org>
Reviewed-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Johnson Wang <johnson.wang@mediatek.com>
---
.../bindings/regulator/mt6358-regulator.txt | 22 ++++++++++++++-----
1 file changed, 17 insertions(+), 5 deletions(-)
diff --git a/Documentation/devicetree/bindings/regulator/mt6358-regulator.txt b/Documentation/devicetree/bindings/regulator/mt6358-regulator.txt
index 9a90a92f2d7e..7034cdca54e0 100644
--- a/Documentation/devicetree/bindings/regulator/mt6358-regulator.txt
+++ b/Documentation/devicetree/bindings/regulator/mt6358-regulator.txt
@@ -8,14 +8,14 @@ Documentation/devicetree/bindings/regulator/regulator.txt.
The valid names for regulators are::
BUCK:
- buck_vdram1, buck_vcore, buck_vpa, buck_vproc11, buck_vproc12, buck_vgpu,
- buck_vs2, buck_vmodem, buck_vs1
+ buck_vdram1, buck_vcore, buck_vcore_sshub, buck_vpa, buck_vproc11,
+ buck_vproc12, buck_vgpu, buck_vs2, buck_vmodem, buck_vs1
LDO:
ldo_vdram2, ldo_vsim1, ldo_vibr, ldo_vrf12, ldo_vio18, ldo_vusb, ldo_vcamio,
ldo_vcamd, ldo_vcn18, ldo_vfe28, ldo_vsram_proc11, ldo_vcn28, ldo_vsram_others,
- ldo_vsram_gpu, ldo_vxo22, ldo_vefuse, ldo_vaux18, ldo_vmch, ldo_vbif28,
- ldo_vsram_proc12, ldo_vcama1, ldo_vemc, ldo_vio28, ldo_va12, ldo_vrf18,
- ldo_vcn33_bt, ldo_vcn33_wifi, ldo_vcama2, ldo_vmc, ldo_vldo28, ldo_vaud28,
+ ldo_vsram_others_sshub, ldo_vsram_gpu, ldo_vxo22, ldo_vefuse, ldo_vaux18,
+ ldo_vmch, ldo_vbif28, ldo_vsram_proc12, ldo_vcama1, ldo_vemc, ldo_vio28, ldo_va12,
+ ldo_vrf18, ldo_vcn33_bt, ldo_vcn33_wifi, ldo_vcama2, ldo_vmc, ldo_vldo28, ldo_vaud28,
ldo_vsim2
Example:
@@ -354,5 +354,17 @@ Example:
regulator-max-microvolt = <3100000>;
regulator-enable-ramp-delay = <540>;
};
+
+ mt6358_vcore_sshub_reg: buck_vcore_sshub {
+ regulator-name = "vcore_sshub";
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <1293750>;
+ };
+
+ mt6358_vsram_others_sshub_reg: ldo_vsram_others_sshub {
+ regulator-name = "vsram_others_sshub";
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <1293750>;
+ };
};
};
--
2.18.0
_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [PATCH v2 2/2] dt-bindings: regulator: Add BUCK and LDO document for MT6358 and MT6366
@ 2022-03-17 3:04 ` Johnson Wang
0 siblings, 0 replies; 24+ messages in thread
From: Johnson Wang @ 2022-03-17 3:04 UTC (permalink / raw)
To: broonie, robh+dt
Cc: linux-kernel, devicetree, linux-arm-kernel, linux-mediatek,
Project_Global_Chrome_Upstream_Group, Johnson Wang
Add buck_vcore_sshub and ldo_vsram_others_sshub
regulators to binding document for MT6358 and MT6366.
Reviewed-by: Rob Herring <robh@kernel.org>
Reviewed-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Johnson Wang <johnson.wang@mediatek.com>
---
.../bindings/regulator/mt6358-regulator.txt | 22 ++++++++++++++-----
1 file changed, 17 insertions(+), 5 deletions(-)
diff --git a/Documentation/devicetree/bindings/regulator/mt6358-regulator.txt b/Documentation/devicetree/bindings/regulator/mt6358-regulator.txt
index 9a90a92f2d7e..7034cdca54e0 100644
--- a/Documentation/devicetree/bindings/regulator/mt6358-regulator.txt
+++ b/Documentation/devicetree/bindings/regulator/mt6358-regulator.txt
@@ -8,14 +8,14 @@ Documentation/devicetree/bindings/regulator/regulator.txt.
The valid names for regulators are::
BUCK:
- buck_vdram1, buck_vcore, buck_vpa, buck_vproc11, buck_vproc12, buck_vgpu,
- buck_vs2, buck_vmodem, buck_vs1
+ buck_vdram1, buck_vcore, buck_vcore_sshub, buck_vpa, buck_vproc11,
+ buck_vproc12, buck_vgpu, buck_vs2, buck_vmodem, buck_vs1
LDO:
ldo_vdram2, ldo_vsim1, ldo_vibr, ldo_vrf12, ldo_vio18, ldo_vusb, ldo_vcamio,
ldo_vcamd, ldo_vcn18, ldo_vfe28, ldo_vsram_proc11, ldo_vcn28, ldo_vsram_others,
- ldo_vsram_gpu, ldo_vxo22, ldo_vefuse, ldo_vaux18, ldo_vmch, ldo_vbif28,
- ldo_vsram_proc12, ldo_vcama1, ldo_vemc, ldo_vio28, ldo_va12, ldo_vrf18,
- ldo_vcn33_bt, ldo_vcn33_wifi, ldo_vcama2, ldo_vmc, ldo_vldo28, ldo_vaud28,
+ ldo_vsram_others_sshub, ldo_vsram_gpu, ldo_vxo22, ldo_vefuse, ldo_vaux18,
+ ldo_vmch, ldo_vbif28, ldo_vsram_proc12, ldo_vcama1, ldo_vemc, ldo_vio28, ldo_va12,
+ ldo_vrf18, ldo_vcn33_bt, ldo_vcn33_wifi, ldo_vcama2, ldo_vmc, ldo_vldo28, ldo_vaud28,
ldo_vsim2
Example:
@@ -354,5 +354,17 @@ Example:
regulator-max-microvolt = <3100000>;
regulator-enable-ramp-delay = <540>;
};
+
+ mt6358_vcore_sshub_reg: buck_vcore_sshub {
+ regulator-name = "vcore_sshub";
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <1293750>;
+ };
+
+ mt6358_vsram_others_sshub_reg: ldo_vsram_others_sshub {
+ regulator-name = "vsram_others_sshub";
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <1293750>;
+ };
};
};
--
2.18.0
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 24+ messages in thread
* Re: [PATCH v2 1/2] regulator: mt6366: Add support for MT6366 regulator
2022-03-17 3:04 ` Johnson Wang
(?)
@ 2022-03-18 11:37 ` AngeloGioacchino Del Regno
-1 siblings, 0 replies; 24+ messages in thread
From: AngeloGioacchino Del Regno @ 2022-03-18 11:37 UTC (permalink / raw)
To: Johnson Wang, broonie, robh+dt
Cc: linux-kernel, devicetree, linux-arm-kernel, linux-mediatek,
Project_Global_Chrome_Upstream_Group
Il 17/03/22 04:04, Johnson Wang ha scritto:
> The MT6366 is a regulator found on boards based on MediaTek MT8186 and
> probably other SoCs. It is a so called pmic and connects as a slave to
> SoC using SPI, wrapped inside the pmic-wrapper.
>
> Reviewed-by: Mark Brown <broonie@kernel.org>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
> Signed-off-by: Johnson Wang <johnson.wang@mediatek.com>
> ---
> drivers/regulator/mt6358-regulator.c | 213 ++++++++++++++++++++-
> include/linux/regulator/mt6358-regulator.h | 45 +++++
> 2 files changed, 253 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/regulator/mt6358-regulator.c b/drivers/regulator/mt6358-regulator.c
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v2 1/2] regulator: mt6366: Add support for MT6366 regulator
@ 2022-03-18 11:37 ` AngeloGioacchino Del Regno
0 siblings, 0 replies; 24+ messages in thread
From: AngeloGioacchino Del Regno @ 2022-03-18 11:37 UTC (permalink / raw)
To: Johnson Wang, broonie, robh+dt
Cc: linux-kernel, devicetree, linux-arm-kernel, linux-mediatek,
Project_Global_Chrome_Upstream_Group
Il 17/03/22 04:04, Johnson Wang ha scritto:
> The MT6366 is a regulator found on boards based on MediaTek MT8186 and
> probably other SoCs. It is a so called pmic and connects as a slave to
> SoC using SPI, wrapped inside the pmic-wrapper.
>
> Reviewed-by: Mark Brown <broonie@kernel.org>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
> Signed-off-by: Johnson Wang <johnson.wang@mediatek.com>
> ---
> drivers/regulator/mt6358-regulator.c | 213 ++++++++++++++++++++-
> include/linux/regulator/mt6358-regulator.h | 45 +++++
> 2 files changed, 253 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/regulator/mt6358-regulator.c b/drivers/regulator/mt6358-regulator.c
_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v2 1/2] regulator: mt6366: Add support for MT6366 regulator
@ 2022-03-18 11:37 ` AngeloGioacchino Del Regno
0 siblings, 0 replies; 24+ messages in thread
From: AngeloGioacchino Del Regno @ 2022-03-18 11:37 UTC (permalink / raw)
To: Johnson Wang, broonie, robh+dt
Cc: linux-kernel, devicetree, linux-arm-kernel, linux-mediatek,
Project_Global_Chrome_Upstream_Group
Il 17/03/22 04:04, Johnson Wang ha scritto:
> The MT6366 is a regulator found on boards based on MediaTek MT8186 and
> probably other SoCs. It is a so called pmic and connects as a slave to
> SoC using SPI, wrapped inside the pmic-wrapper.
>
> Reviewed-by: Mark Brown <broonie@kernel.org>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
> Signed-off-by: Johnson Wang <johnson.wang@mediatek.com>
> ---
> drivers/regulator/mt6358-regulator.c | 213 ++++++++++++++++++++-
> include/linux/regulator/mt6358-regulator.h | 45 +++++
> 2 files changed, 253 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/regulator/mt6358-regulator.c b/drivers/regulator/mt6358-regulator.c
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v2 2/2] dt-bindings: regulator: Add BUCK and LDO document for MT6358 and MT6366
2022-03-17 3:04 ` Johnson Wang
(?)
@ 2022-03-18 11:37 ` AngeloGioacchino Del Regno
-1 siblings, 0 replies; 24+ messages in thread
From: AngeloGioacchino Del Regno @ 2022-03-18 11:37 UTC (permalink / raw)
To: Johnson Wang, broonie, robh+dt
Cc: linux-kernel, devicetree, linux-arm-kernel, linux-mediatek,
Project_Global_Chrome_Upstream_Group
Il 17/03/22 04:04, Johnson Wang ha scritto:
> Add buck_vcore_sshub and ldo_vsram_others_sshub
> regulators to binding document for MT6358 and MT6366.
>
> Reviewed-by: Rob Herring <robh@kernel.org>
> Reviewed-by: Mark Brown <broonie@kernel.org>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
> Signed-off-by: Johnson Wang <johnson.wang@mediatek.com>
> ---
> .../bindings/regulator/mt6358-regulator.txt | 22 ++++++++++++++-----
> 1 file changed, 17 insertions(+), 5 deletions(-)
>
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v2 2/2] dt-bindings: regulator: Add BUCK and LDO document for MT6358 and MT6366
@ 2022-03-18 11:37 ` AngeloGioacchino Del Regno
0 siblings, 0 replies; 24+ messages in thread
From: AngeloGioacchino Del Regno @ 2022-03-18 11:37 UTC (permalink / raw)
To: Johnson Wang, broonie, robh+dt
Cc: linux-kernel, devicetree, linux-arm-kernel, linux-mediatek,
Project_Global_Chrome_Upstream_Group
Il 17/03/22 04:04, Johnson Wang ha scritto:
> Add buck_vcore_sshub and ldo_vsram_others_sshub
> regulators to binding document for MT6358 and MT6366.
>
> Reviewed-by: Rob Herring <robh@kernel.org>
> Reviewed-by: Mark Brown <broonie@kernel.org>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
> Signed-off-by: Johnson Wang <johnson.wang@mediatek.com>
> ---
> .../bindings/regulator/mt6358-regulator.txt | 22 ++++++++++++++-----
> 1 file changed, 17 insertions(+), 5 deletions(-)
>
_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v2 2/2] dt-bindings: regulator: Add BUCK and LDO document for MT6358 and MT6366
@ 2022-03-18 11:37 ` AngeloGioacchino Del Regno
0 siblings, 0 replies; 24+ messages in thread
From: AngeloGioacchino Del Regno @ 2022-03-18 11:37 UTC (permalink / raw)
To: Johnson Wang, broonie, robh+dt
Cc: linux-kernel, devicetree, linux-arm-kernel, linux-mediatek,
Project_Global_Chrome_Upstream_Group
Il 17/03/22 04:04, Johnson Wang ha scritto:
> Add buck_vcore_sshub and ldo_vsram_others_sshub
> regulators to binding document for MT6358 and MT6366.
>
> Reviewed-by: Rob Herring <robh@kernel.org>
> Reviewed-by: Mark Brown <broonie@kernel.org>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
> Signed-off-by: Johnson Wang <johnson.wang@mediatek.com>
> ---
> .../bindings/regulator/mt6358-regulator.txt | 22 ++++++++++++++-----
> 1 file changed, 17 insertions(+), 5 deletions(-)
>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v2 1/2] regulator: mt6366: Add support for MT6366 regulator
2022-03-17 3:04 ` Johnson Wang
(?)
@ 2022-03-18 20:06 ` Mark Brown
-1 siblings, 0 replies; 24+ messages in thread
From: Mark Brown @ 2022-03-18 20:06 UTC (permalink / raw)
To: Johnson Wang
Cc: robh+dt, linux-kernel, devicetree, linux-arm-kernel,
linux-mediatek, Project_Global_Chrome_Upstream_Group
[-- Attachment #1: Type: text/plain, Size: 17300 bytes --]
On Thu, Mar 17, 2022 at 11:04:01AM +0800, Johnson Wang wrote:
> The MT6366 is a regulator found on boards based on MediaTek MT8186 and
> probably other SoCs. It is a so called pmic and connects as a slave to
> SoC using SPI, wrapped inside the pmic-wrapper.
This doesn't build, please resend once the dependencies have been merged:
/mnt/kernel/drivers/regulator/mt6358-regulator.c:51:15: error: 'MT6358_BUCK_VCORE_SSHUB_ELR0' undeclared here (not in a function); did you mean 'MT6358_BUCK_VCORE_ELR0'?
51 | .vsel_reg = MT6358_BUCK_##vreg##_ELR0, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:508:2: note: in expansion of macro 'MT6358_BUCK'
508 | MT6358_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:53:17: error: 'MT6358_BUCK_VCORE_SSHUB_CON0' undeclared here (not in a function); did you mean 'MT6358_BUCK_VCORE_CON0'?
53 | .enable_reg = MT6358_BUCK_##vreg##_CON0, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:508:2: note: in expansion of macro 'MT6358_BUCK'
508 | MT6358_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:57:16: error: 'MT6358_BUCK_VCORE_SSHUB_DBG1' undeclared here (not in a function); did you mean 'MT6358_BUCK_VCORE_DBG1'?
57 | .status_reg = MT6358_BUCK_##vreg##_DBG1, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:508:2: note: in expansion of macro 'MT6358_BUCK'
508 | MT6358_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:593:7: error: 'MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1' undeclared here (not in a function); did you mean 'MT6358_ID_VSRAM_OTHERS_SSHUB'?
593 | MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:103:15: note: in definition of macro 'MT6358_LDO1'
103 | .vsel_reg = vosel, \
| ^~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:105:17: error: 'MT6358_LDO_VSRAM_OTHERS_SSHUB_CON0' undeclared here (not in a function); did you mean 'MT6358_LDO_VSRAM_OTHERS_CON0'?
105 | .enable_reg = MT6358_LDO_##vreg##_CON0, \
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:590:2: note: in expansion of macro 'MT6358_LDO1'
590 | MT6358_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB, 500000,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:110:16: error: 'MT6358_LDO_VSRAM_OTHERS_SSHUB_DBG1' undeclared here (not in a function); did you mean 'MT6358_LDO_VSRAM_OTHERS_DBG1'?
110 | .status_reg = MT6358_LDO_##vreg##_DBG1, \
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:590:2: note: in expansion of macro 'MT6358_LDO1'
590 | MT6358_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB, 500000,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:147:15: warning: initialization of 'unsigned int' from 'struct mt6358_regulator_info *' makes integer from pointer without a cast [-Wint-conversion]
147 | .vsel_reg = MT6358_BUCK_##vreg##_ELR0, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in expansion of macro 'MT6366_BUCK'
610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:147:15: note: (near initialization for 'mt6366_regulators[36].desc.vsel_reg')
147 | .vsel_reg = MT6358_BUCK_##vreg##_ELR0, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in expansion of macro 'MT6366_BUCK'
610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:147:15: error: initializer element is not constant
147 | .vsel_reg = MT6358_BUCK_##vreg##_ELR0, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in expansion of macro 'MT6366_BUCK'
610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:147:15: note: (near initialization for 'mt6366_regulators[36].desc.vsel_reg')
147 | .vsel_reg = MT6358_BUCK_##vreg##_ELR0, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in expansion of macro 'MT6366_BUCK'
610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:149:17: warning: initialization of 'unsigned int' from 'struct mt6358_regulator_info *' makes integer from pointer without a cast [-Wint-conversion]
149 | .enable_reg = MT6358_BUCK_##vreg##_CON0, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in expansion of macro 'MT6366_BUCK'
610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:149:17: note: (near initialization for 'mt6366_regulators[36].desc.enable_reg')
149 | .enable_reg = MT6358_BUCK_##vreg##_CON0, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in expansion of macro 'MT6366_BUCK'
610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:149:17: error: initializer element is not constant
149 | .enable_reg = MT6358_BUCK_##vreg##_CON0, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in expansion of macro 'MT6366_BUCK'
610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:149:17: note: (near initialization for 'mt6366_regulators[36].desc.enable_reg')
149 | .enable_reg = MT6358_BUCK_##vreg##_CON0, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in expansion of macro 'MT6366_BUCK'
610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:153:16: warning: initialization of 'unsigned int' from 'struct mt6358_regulator_info *' makes integer from pointer without a cast [-Wint-conversion]
153 | .status_reg = MT6358_BUCK_##vreg##_DBG1, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in expansion of macro 'MT6366_BUCK'
610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:153:16: note: (near initialization for 'mt6366_regulators[36].status_reg')
153 | .status_reg = MT6358_BUCK_##vreg##_DBG1, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in expansion of macro 'MT6366_BUCK'
610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:153:16: error: initializer element is not constant
153 | .status_reg = MT6358_BUCK_##vreg##_DBG1, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in expansion of macro 'MT6366_BUCK'
610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:153:16: note: (near initialization for 'mt6366_regulators[36].status_reg')
153 | .status_reg = MT6358_BUCK_##vreg##_DBG1, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in expansion of macro 'MT6366_BUCK'
610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:611:31: warning: initialization of 'unsigned int' from 'struct mt6358_regulator_info *' makes integer from pointer without a cast [-Wint-conversion]
611 | buck_volt_range1, 0x7f, MT6358_BUCK_VCORE_SSHUB_ELR0, 0x7f,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:155:17: note: in definition of macro 'MT6366_BUCK'
155 | .da_vsel_reg = _da_vsel_reg, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:611:31: note: (near initialization for 'mt6366_regulators[36].da_vsel_reg')
611 | buck_volt_range1, 0x7f, MT6358_BUCK_VCORE_SSHUB_ELR0, 0x7f,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:155:17: note: in definition of macro 'MT6366_BUCK'
155 | .da_vsel_reg = _da_vsel_reg, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:611:31: error: initializer element is not constant
611 | buck_volt_range1, 0x7f, MT6358_BUCK_VCORE_SSHUB_ELR0, 0x7f,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:155:17: note: in definition of macro 'MT6366_BUCK'
155 | .da_vsel_reg = _da_vsel_reg, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:611:31: note: (near initialization for 'mt6366_regulators[36].da_vsel_reg')
611 | buck_volt_range1, 0x7f, MT6358_BUCK_VCORE_SSHUB_ELR0, 0x7f,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:155:17: note: in definition of macro 'MT6366_BUCK'
155 | .da_vsel_reg = _da_vsel_reg, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:684:7: warning: initialization of 'unsigned int' from 'struct mt6358_regulator_info *' makes integer from pointer without a cast [-Wint-conversion]
684 | MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:199:15: note: in definition of macro 'MT6366_LDO1'
199 | .vsel_reg = vosel, \
| ^~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:684:7: note: (near initialization for 'mt6366_regulators[37].desc.vsel_reg')
684 | MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:199:15: note: in definition of macro 'MT6366_LDO1'
199 | .vsel_reg = vosel, \
| ^~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:684:7: error: initializer element is not constant
684 | MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:199:15: note: in definition of macro 'MT6366_LDO1'
199 | .vsel_reg = vosel, \
| ^~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:684:7: note: (near initialization for 'mt6366_regulators[37].desc.vsel_reg')
684 | MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:199:15: note: in definition of macro 'MT6366_LDO1'
199 | .vsel_reg = vosel, \
| ^~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:201:17: warning: initialization of 'unsigned int' from 'struct mt6358_regulator_info *' makes integer from pointer without a cast [-Wint-conversion]
201 | .enable_reg = MT6358_LDO_##vreg##_CON0, \
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in expansion of macro 'MT6366_LDO1'
681 | MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB, 500000,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:201:17: note: (near initialization for 'mt6366_regulators[37].desc.enable_reg')
201 | .enable_reg = MT6358_LDO_##vreg##_CON0, \
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in expansion of macro 'MT6366_LDO1'
681 | MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB, 500000,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:201:17: error: initializer element is not constant
201 | .enable_reg = MT6358_LDO_##vreg##_CON0, \
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in expansion of macro 'MT6366_LDO1'
681 | MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB, 500000,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:201:17: note: (near initialization for 'mt6366_regulators[37].desc.enable_reg')
201 | .enable_reg = MT6358_LDO_##vreg##_CON0, \
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in expansion of macro 'MT6366_LDO1'
681 | MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB, 500000,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:683:7: warning: initialization of 'unsigned int' from 'struct mt6358_regulator_info *' makes integer from pointer without a cast [-Wint-conversion]
683 | MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:204:17: note: in definition of macro 'MT6366_LDO1'
204 | .da_vsel_reg = _da_vsel_reg, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:683:7: note: (near initialization for 'mt6366_regulators[37].da_vsel_reg')
683 | MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:204:17: note: in definition of macro 'MT6366_LDO1'
204 | .da_vsel_reg = _da_vsel_reg, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:683:7: error: initializer element is not constant
683 | MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:204:17: note: in definition of macro 'MT6366_LDO1'
204 | .da_vsel_reg = _da_vsel_reg, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:683:7: note: (near initialization for 'mt6366_regulators[37].da_vsel_reg')
683 | MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:204:17: note: in definition of macro 'MT6366_LDO1'
204 | .da_vsel_reg = _da_vsel_reg, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:206:16: warning: initialization of 'unsigned int' from 'struct mt6358_regulator_info *' makes integer from pointer without a cast [-Wint-conversion]
206 | .status_reg = MT6358_LDO_##vreg##_DBG1, \
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in expansion of macro 'MT6366_LDO1'
681 | MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB, 500000,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:206:16: note: (near initialization for 'mt6366_regulators[37].status_reg')
206 | .status_reg = MT6358_LDO_##vreg##_DBG1, \
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in expansion of macro 'MT6366_LDO1'
681 | MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB, 500000,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:206:16: error: initializer element is not constant
206 | .status_reg = MT6358_LDO_##vreg##_DBG1, \
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in expansion of macro 'MT6366_LDO1'
681 | MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB, 500000,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:206:16: note: (near initialization for 'mt6366_regulators[37].status_reg')
206 | .status_reg = MT6358_LDO_##vreg##_DBG1, \
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in expansion of macro 'MT6366_LDO1'
681 | MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB, 500000,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c: In function 'mt6358_regulator_probe':
/mnt/kernel/drivers/regulator/mt6358-regulator.c:701:25: error: 'MT6366_CHIP_ID' undeclared (first use in this function); did you mean 'MT6397_CHIP_ID'?
701 | if (mt6397->chip_id == MT6366_CHIP_ID) {
| ^~~~~~~~~~~~~~
| MT6397_CHIP_ID
/mnt/kernel/drivers/regulator/mt6358-regulator.c:701:25: note: each undeclared identifier is reported only once for each function it appears in
/mnt/kernel/drivers/regulator/mt6358-regulator.c:701:22: warning: comparison between pointer and integer
701 | if (mt6397->chip_id == MT6366_CHIP_ID) {
| ^~
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v2 1/2] regulator: mt6366: Add support for MT6366 regulator
@ 2022-03-18 20:06 ` Mark Brown
0 siblings, 0 replies; 24+ messages in thread
From: Mark Brown @ 2022-03-18 20:06 UTC (permalink / raw)
To: Johnson Wang
Cc: robh+dt, linux-kernel, devicetree, linux-arm-kernel,
linux-mediatek, Project_Global_Chrome_Upstream_Group
[-- Attachment #1.1: Type: text/plain, Size: 17300 bytes --]
On Thu, Mar 17, 2022 at 11:04:01AM +0800, Johnson Wang wrote:
> The MT6366 is a regulator found on boards based on MediaTek MT8186 and
> probably other SoCs. It is a so called pmic and connects as a slave to
> SoC using SPI, wrapped inside the pmic-wrapper.
This doesn't build, please resend once the dependencies have been merged:
/mnt/kernel/drivers/regulator/mt6358-regulator.c:51:15: error: 'MT6358_BUCK_VCORE_SSHUB_ELR0' undeclared here (not in a function); did you mean 'MT6358_BUCK_VCORE_ELR0'?
51 | .vsel_reg = MT6358_BUCK_##vreg##_ELR0, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:508:2: note: in expansion of macro 'MT6358_BUCK'
508 | MT6358_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:53:17: error: 'MT6358_BUCK_VCORE_SSHUB_CON0' undeclared here (not in a function); did you mean 'MT6358_BUCK_VCORE_CON0'?
53 | .enable_reg = MT6358_BUCK_##vreg##_CON0, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:508:2: note: in expansion of macro 'MT6358_BUCK'
508 | MT6358_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:57:16: error: 'MT6358_BUCK_VCORE_SSHUB_DBG1' undeclared here (not in a function); did you mean 'MT6358_BUCK_VCORE_DBG1'?
57 | .status_reg = MT6358_BUCK_##vreg##_DBG1, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:508:2: note: in expansion of macro 'MT6358_BUCK'
508 | MT6358_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:593:7: error: 'MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1' undeclared here (not in a function); did you mean 'MT6358_ID_VSRAM_OTHERS_SSHUB'?
593 | MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:103:15: note: in definition of macro 'MT6358_LDO1'
103 | .vsel_reg = vosel, \
| ^~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:105:17: error: 'MT6358_LDO_VSRAM_OTHERS_SSHUB_CON0' undeclared here (not in a function); did you mean 'MT6358_LDO_VSRAM_OTHERS_CON0'?
105 | .enable_reg = MT6358_LDO_##vreg##_CON0, \
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:590:2: note: in expansion of macro 'MT6358_LDO1'
590 | MT6358_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB, 500000,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:110:16: error: 'MT6358_LDO_VSRAM_OTHERS_SSHUB_DBG1' undeclared here (not in a function); did you mean 'MT6358_LDO_VSRAM_OTHERS_DBG1'?
110 | .status_reg = MT6358_LDO_##vreg##_DBG1, \
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:590:2: note: in expansion of macro 'MT6358_LDO1'
590 | MT6358_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB, 500000,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:147:15: warning: initialization of 'unsigned int' from 'struct mt6358_regulator_info *' makes integer from pointer without a cast [-Wint-conversion]
147 | .vsel_reg = MT6358_BUCK_##vreg##_ELR0, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in expansion of macro 'MT6366_BUCK'
610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:147:15: note: (near initialization for 'mt6366_regulators[36].desc.vsel_reg')
147 | .vsel_reg = MT6358_BUCK_##vreg##_ELR0, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in expansion of macro 'MT6366_BUCK'
610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:147:15: error: initializer element is not constant
147 | .vsel_reg = MT6358_BUCK_##vreg##_ELR0, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in expansion of macro 'MT6366_BUCK'
610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:147:15: note: (near initialization for 'mt6366_regulators[36].desc.vsel_reg')
147 | .vsel_reg = MT6358_BUCK_##vreg##_ELR0, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in expansion of macro 'MT6366_BUCK'
610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:149:17: warning: initialization of 'unsigned int' from 'struct mt6358_regulator_info *' makes integer from pointer without a cast [-Wint-conversion]
149 | .enable_reg = MT6358_BUCK_##vreg##_CON0, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in expansion of macro 'MT6366_BUCK'
610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:149:17: note: (near initialization for 'mt6366_regulators[36].desc.enable_reg')
149 | .enable_reg = MT6358_BUCK_##vreg##_CON0, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in expansion of macro 'MT6366_BUCK'
610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:149:17: error: initializer element is not constant
149 | .enable_reg = MT6358_BUCK_##vreg##_CON0, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in expansion of macro 'MT6366_BUCK'
610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:149:17: note: (near initialization for 'mt6366_regulators[36].desc.enable_reg')
149 | .enable_reg = MT6358_BUCK_##vreg##_CON0, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in expansion of macro 'MT6366_BUCK'
610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:153:16: warning: initialization of 'unsigned int' from 'struct mt6358_regulator_info *' makes integer from pointer without a cast [-Wint-conversion]
153 | .status_reg = MT6358_BUCK_##vreg##_DBG1, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in expansion of macro 'MT6366_BUCK'
610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:153:16: note: (near initialization for 'mt6366_regulators[36].status_reg')
153 | .status_reg = MT6358_BUCK_##vreg##_DBG1, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in expansion of macro 'MT6366_BUCK'
610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:153:16: error: initializer element is not constant
153 | .status_reg = MT6358_BUCK_##vreg##_DBG1, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in expansion of macro 'MT6366_BUCK'
610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:153:16: note: (near initialization for 'mt6366_regulators[36].status_reg')
153 | .status_reg = MT6358_BUCK_##vreg##_DBG1, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in expansion of macro 'MT6366_BUCK'
610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:611:31: warning: initialization of 'unsigned int' from 'struct mt6358_regulator_info *' makes integer from pointer without a cast [-Wint-conversion]
611 | buck_volt_range1, 0x7f, MT6358_BUCK_VCORE_SSHUB_ELR0, 0x7f,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:155:17: note: in definition of macro 'MT6366_BUCK'
155 | .da_vsel_reg = _da_vsel_reg, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:611:31: note: (near initialization for 'mt6366_regulators[36].da_vsel_reg')
611 | buck_volt_range1, 0x7f, MT6358_BUCK_VCORE_SSHUB_ELR0, 0x7f,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:155:17: note: in definition of macro 'MT6366_BUCK'
155 | .da_vsel_reg = _da_vsel_reg, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:611:31: error: initializer element is not constant
611 | buck_volt_range1, 0x7f, MT6358_BUCK_VCORE_SSHUB_ELR0, 0x7f,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:155:17: note: in definition of macro 'MT6366_BUCK'
155 | .da_vsel_reg = _da_vsel_reg, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:611:31: note: (near initialization for 'mt6366_regulators[36].da_vsel_reg')
611 | buck_volt_range1, 0x7f, MT6358_BUCK_VCORE_SSHUB_ELR0, 0x7f,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:155:17: note: in definition of macro 'MT6366_BUCK'
155 | .da_vsel_reg = _da_vsel_reg, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:684:7: warning: initialization of 'unsigned int' from 'struct mt6358_regulator_info *' makes integer from pointer without a cast [-Wint-conversion]
684 | MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:199:15: note: in definition of macro 'MT6366_LDO1'
199 | .vsel_reg = vosel, \
| ^~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:684:7: note: (near initialization for 'mt6366_regulators[37].desc.vsel_reg')
684 | MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:199:15: note: in definition of macro 'MT6366_LDO1'
199 | .vsel_reg = vosel, \
| ^~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:684:7: error: initializer element is not constant
684 | MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:199:15: note: in definition of macro 'MT6366_LDO1'
199 | .vsel_reg = vosel, \
| ^~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:684:7: note: (near initialization for 'mt6366_regulators[37].desc.vsel_reg')
684 | MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:199:15: note: in definition of macro 'MT6366_LDO1'
199 | .vsel_reg = vosel, \
| ^~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:201:17: warning: initialization of 'unsigned int' from 'struct mt6358_regulator_info *' makes integer from pointer without a cast [-Wint-conversion]
201 | .enable_reg = MT6358_LDO_##vreg##_CON0, \
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in expansion of macro 'MT6366_LDO1'
681 | MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB, 500000,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:201:17: note: (near initialization for 'mt6366_regulators[37].desc.enable_reg')
201 | .enable_reg = MT6358_LDO_##vreg##_CON0, \
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in expansion of macro 'MT6366_LDO1'
681 | MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB, 500000,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:201:17: error: initializer element is not constant
201 | .enable_reg = MT6358_LDO_##vreg##_CON0, \
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in expansion of macro 'MT6366_LDO1'
681 | MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB, 500000,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:201:17: note: (near initialization for 'mt6366_regulators[37].desc.enable_reg')
201 | .enable_reg = MT6358_LDO_##vreg##_CON0, \
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in expansion of macro 'MT6366_LDO1'
681 | MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB, 500000,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:683:7: warning: initialization of 'unsigned int' from 'struct mt6358_regulator_info *' makes integer from pointer without a cast [-Wint-conversion]
683 | MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:204:17: note: in definition of macro 'MT6366_LDO1'
204 | .da_vsel_reg = _da_vsel_reg, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:683:7: note: (near initialization for 'mt6366_regulators[37].da_vsel_reg')
683 | MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:204:17: note: in definition of macro 'MT6366_LDO1'
204 | .da_vsel_reg = _da_vsel_reg, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:683:7: error: initializer element is not constant
683 | MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:204:17: note: in definition of macro 'MT6366_LDO1'
204 | .da_vsel_reg = _da_vsel_reg, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:683:7: note: (near initialization for 'mt6366_regulators[37].da_vsel_reg')
683 | MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:204:17: note: in definition of macro 'MT6366_LDO1'
204 | .da_vsel_reg = _da_vsel_reg, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:206:16: warning: initialization of 'unsigned int' from 'struct mt6358_regulator_info *' makes integer from pointer without a cast [-Wint-conversion]
206 | .status_reg = MT6358_LDO_##vreg##_DBG1, \
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in expansion of macro 'MT6366_LDO1'
681 | MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB, 500000,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:206:16: note: (near initialization for 'mt6366_regulators[37].status_reg')
206 | .status_reg = MT6358_LDO_##vreg##_DBG1, \
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in expansion of macro 'MT6366_LDO1'
681 | MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB, 500000,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:206:16: error: initializer element is not constant
206 | .status_reg = MT6358_LDO_##vreg##_DBG1, \
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in expansion of macro 'MT6366_LDO1'
681 | MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB, 500000,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:206:16: note: (near initialization for 'mt6366_regulators[37].status_reg')
206 | .status_reg = MT6358_LDO_##vreg##_DBG1, \
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in expansion of macro 'MT6366_LDO1'
681 | MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB, 500000,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c: In function 'mt6358_regulator_probe':
/mnt/kernel/drivers/regulator/mt6358-regulator.c:701:25: error: 'MT6366_CHIP_ID' undeclared (first use in this function); did you mean 'MT6397_CHIP_ID'?
701 | if (mt6397->chip_id == MT6366_CHIP_ID) {
| ^~~~~~~~~~~~~~
| MT6397_CHIP_ID
/mnt/kernel/drivers/regulator/mt6358-regulator.c:701:25: note: each undeclared identifier is reported only once for each function it appears in
/mnt/kernel/drivers/regulator/mt6358-regulator.c:701:22: warning: comparison between pointer and integer
701 | if (mt6397->chip_id == MT6366_CHIP_ID) {
| ^~
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
[-- Attachment #2: Type: text/plain, Size: 170 bytes --]
_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v2 1/2] regulator: mt6366: Add support for MT6366 regulator
@ 2022-03-18 20:06 ` Mark Brown
0 siblings, 0 replies; 24+ messages in thread
From: Mark Brown @ 2022-03-18 20:06 UTC (permalink / raw)
To: Johnson Wang
Cc: robh+dt, linux-kernel, devicetree, linux-arm-kernel,
linux-mediatek, Project_Global_Chrome_Upstream_Group
[-- Attachment #1.1: Type: text/plain, Size: 17300 bytes --]
On Thu, Mar 17, 2022 at 11:04:01AM +0800, Johnson Wang wrote:
> The MT6366 is a regulator found on boards based on MediaTek MT8186 and
> probably other SoCs. It is a so called pmic and connects as a slave to
> SoC using SPI, wrapped inside the pmic-wrapper.
This doesn't build, please resend once the dependencies have been merged:
/mnt/kernel/drivers/regulator/mt6358-regulator.c:51:15: error: 'MT6358_BUCK_VCORE_SSHUB_ELR0' undeclared here (not in a function); did you mean 'MT6358_BUCK_VCORE_ELR0'?
51 | .vsel_reg = MT6358_BUCK_##vreg##_ELR0, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:508:2: note: in expansion of macro 'MT6358_BUCK'
508 | MT6358_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:53:17: error: 'MT6358_BUCK_VCORE_SSHUB_CON0' undeclared here (not in a function); did you mean 'MT6358_BUCK_VCORE_CON0'?
53 | .enable_reg = MT6358_BUCK_##vreg##_CON0, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:508:2: note: in expansion of macro 'MT6358_BUCK'
508 | MT6358_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:57:16: error: 'MT6358_BUCK_VCORE_SSHUB_DBG1' undeclared here (not in a function); did you mean 'MT6358_BUCK_VCORE_DBG1'?
57 | .status_reg = MT6358_BUCK_##vreg##_DBG1, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:508:2: note: in expansion of macro 'MT6358_BUCK'
508 | MT6358_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:593:7: error: 'MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1' undeclared here (not in a function); did you mean 'MT6358_ID_VSRAM_OTHERS_SSHUB'?
593 | MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:103:15: note: in definition of macro 'MT6358_LDO1'
103 | .vsel_reg = vosel, \
| ^~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:105:17: error: 'MT6358_LDO_VSRAM_OTHERS_SSHUB_CON0' undeclared here (not in a function); did you mean 'MT6358_LDO_VSRAM_OTHERS_CON0'?
105 | .enable_reg = MT6358_LDO_##vreg##_CON0, \
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:590:2: note: in expansion of macro 'MT6358_LDO1'
590 | MT6358_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB, 500000,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:110:16: error: 'MT6358_LDO_VSRAM_OTHERS_SSHUB_DBG1' undeclared here (not in a function); did you mean 'MT6358_LDO_VSRAM_OTHERS_DBG1'?
110 | .status_reg = MT6358_LDO_##vreg##_DBG1, \
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:590:2: note: in expansion of macro 'MT6358_LDO1'
590 | MT6358_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB, 500000,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:147:15: warning: initialization of 'unsigned int' from 'struct mt6358_regulator_info *' makes integer from pointer without a cast [-Wint-conversion]
147 | .vsel_reg = MT6358_BUCK_##vreg##_ELR0, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in expansion of macro 'MT6366_BUCK'
610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:147:15: note: (near initialization for 'mt6366_regulators[36].desc.vsel_reg')
147 | .vsel_reg = MT6358_BUCK_##vreg##_ELR0, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in expansion of macro 'MT6366_BUCK'
610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:147:15: error: initializer element is not constant
147 | .vsel_reg = MT6358_BUCK_##vreg##_ELR0, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in expansion of macro 'MT6366_BUCK'
610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:147:15: note: (near initialization for 'mt6366_regulators[36].desc.vsel_reg')
147 | .vsel_reg = MT6358_BUCK_##vreg##_ELR0, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in expansion of macro 'MT6366_BUCK'
610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:149:17: warning: initialization of 'unsigned int' from 'struct mt6358_regulator_info *' makes integer from pointer without a cast [-Wint-conversion]
149 | .enable_reg = MT6358_BUCK_##vreg##_CON0, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in expansion of macro 'MT6366_BUCK'
610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:149:17: note: (near initialization for 'mt6366_regulators[36].desc.enable_reg')
149 | .enable_reg = MT6358_BUCK_##vreg##_CON0, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in expansion of macro 'MT6366_BUCK'
610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:149:17: error: initializer element is not constant
149 | .enable_reg = MT6358_BUCK_##vreg##_CON0, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in expansion of macro 'MT6366_BUCK'
610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:149:17: note: (near initialization for 'mt6366_regulators[36].desc.enable_reg')
149 | .enable_reg = MT6358_BUCK_##vreg##_CON0, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in expansion of macro 'MT6366_BUCK'
610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:153:16: warning: initialization of 'unsigned int' from 'struct mt6358_regulator_info *' makes integer from pointer without a cast [-Wint-conversion]
153 | .status_reg = MT6358_BUCK_##vreg##_DBG1, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in expansion of macro 'MT6366_BUCK'
610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:153:16: note: (near initialization for 'mt6366_regulators[36].status_reg')
153 | .status_reg = MT6358_BUCK_##vreg##_DBG1, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in expansion of macro 'MT6366_BUCK'
610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:153:16: error: initializer element is not constant
153 | .status_reg = MT6358_BUCK_##vreg##_DBG1, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in expansion of macro 'MT6366_BUCK'
610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:153:16: note: (near initialization for 'mt6366_regulators[36].status_reg')
153 | .status_reg = MT6358_BUCK_##vreg##_DBG1, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in expansion of macro 'MT6366_BUCK'
610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:611:31: warning: initialization of 'unsigned int' from 'struct mt6358_regulator_info *' makes integer from pointer without a cast [-Wint-conversion]
611 | buck_volt_range1, 0x7f, MT6358_BUCK_VCORE_SSHUB_ELR0, 0x7f,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:155:17: note: in definition of macro 'MT6366_BUCK'
155 | .da_vsel_reg = _da_vsel_reg, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:611:31: note: (near initialization for 'mt6366_regulators[36].da_vsel_reg')
611 | buck_volt_range1, 0x7f, MT6358_BUCK_VCORE_SSHUB_ELR0, 0x7f,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:155:17: note: in definition of macro 'MT6366_BUCK'
155 | .da_vsel_reg = _da_vsel_reg, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:611:31: error: initializer element is not constant
611 | buck_volt_range1, 0x7f, MT6358_BUCK_VCORE_SSHUB_ELR0, 0x7f,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:155:17: note: in definition of macro 'MT6366_BUCK'
155 | .da_vsel_reg = _da_vsel_reg, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:611:31: note: (near initialization for 'mt6366_regulators[36].da_vsel_reg')
611 | buck_volt_range1, 0x7f, MT6358_BUCK_VCORE_SSHUB_ELR0, 0x7f,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:155:17: note: in definition of macro 'MT6366_BUCK'
155 | .da_vsel_reg = _da_vsel_reg, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:684:7: warning: initialization of 'unsigned int' from 'struct mt6358_regulator_info *' makes integer from pointer without a cast [-Wint-conversion]
684 | MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:199:15: note: in definition of macro 'MT6366_LDO1'
199 | .vsel_reg = vosel, \
| ^~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:684:7: note: (near initialization for 'mt6366_regulators[37].desc.vsel_reg')
684 | MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:199:15: note: in definition of macro 'MT6366_LDO1'
199 | .vsel_reg = vosel, \
| ^~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:684:7: error: initializer element is not constant
684 | MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:199:15: note: in definition of macro 'MT6366_LDO1'
199 | .vsel_reg = vosel, \
| ^~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:684:7: note: (near initialization for 'mt6366_regulators[37].desc.vsel_reg')
684 | MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:199:15: note: in definition of macro 'MT6366_LDO1'
199 | .vsel_reg = vosel, \
| ^~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:201:17: warning: initialization of 'unsigned int' from 'struct mt6358_regulator_info *' makes integer from pointer without a cast [-Wint-conversion]
201 | .enable_reg = MT6358_LDO_##vreg##_CON0, \
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in expansion of macro 'MT6366_LDO1'
681 | MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB, 500000,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:201:17: note: (near initialization for 'mt6366_regulators[37].desc.enable_reg')
201 | .enable_reg = MT6358_LDO_##vreg##_CON0, \
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in expansion of macro 'MT6366_LDO1'
681 | MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB, 500000,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:201:17: error: initializer element is not constant
201 | .enable_reg = MT6358_LDO_##vreg##_CON0, \
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in expansion of macro 'MT6366_LDO1'
681 | MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB, 500000,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:201:17: note: (near initialization for 'mt6366_regulators[37].desc.enable_reg')
201 | .enable_reg = MT6358_LDO_##vreg##_CON0, \
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in expansion of macro 'MT6366_LDO1'
681 | MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB, 500000,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:683:7: warning: initialization of 'unsigned int' from 'struct mt6358_regulator_info *' makes integer from pointer without a cast [-Wint-conversion]
683 | MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:204:17: note: in definition of macro 'MT6366_LDO1'
204 | .da_vsel_reg = _da_vsel_reg, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:683:7: note: (near initialization for 'mt6366_regulators[37].da_vsel_reg')
683 | MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:204:17: note: in definition of macro 'MT6366_LDO1'
204 | .da_vsel_reg = _da_vsel_reg, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:683:7: error: initializer element is not constant
683 | MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:204:17: note: in definition of macro 'MT6366_LDO1'
204 | .da_vsel_reg = _da_vsel_reg, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:683:7: note: (near initialization for 'mt6366_regulators[37].da_vsel_reg')
683 | MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:204:17: note: in definition of macro 'MT6366_LDO1'
204 | .da_vsel_reg = _da_vsel_reg, \
| ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:206:16: warning: initialization of 'unsigned int' from 'struct mt6358_regulator_info *' makes integer from pointer without a cast [-Wint-conversion]
206 | .status_reg = MT6358_LDO_##vreg##_DBG1, \
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in expansion of macro 'MT6366_LDO1'
681 | MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB, 500000,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:206:16: note: (near initialization for 'mt6366_regulators[37].status_reg')
206 | .status_reg = MT6358_LDO_##vreg##_DBG1, \
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in expansion of macro 'MT6366_LDO1'
681 | MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB, 500000,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:206:16: error: initializer element is not constant
206 | .status_reg = MT6358_LDO_##vreg##_DBG1, \
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in expansion of macro 'MT6366_LDO1'
681 | MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB, 500000,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:206:16: note: (near initialization for 'mt6366_regulators[37].status_reg')
206 | .status_reg = MT6358_LDO_##vreg##_DBG1, \
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in expansion of macro 'MT6366_LDO1'
681 | MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB, 500000,
| ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c: In function 'mt6358_regulator_probe':
/mnt/kernel/drivers/regulator/mt6358-regulator.c:701:25: error: 'MT6366_CHIP_ID' undeclared (first use in this function); did you mean 'MT6397_CHIP_ID'?
701 | if (mt6397->chip_id == MT6366_CHIP_ID) {
| ^~~~~~~~~~~~~~
| MT6397_CHIP_ID
/mnt/kernel/drivers/regulator/mt6358-regulator.c:701:25: note: each undeclared identifier is reported only once for each function it appears in
/mnt/kernel/drivers/regulator/mt6358-regulator.c:701:22: warning: comparison between pointer and integer
701 | if (mt6397->chip_id == MT6366_CHIP_ID) {
| ^~
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
[-- Attachment #2: Type: text/plain, Size: 176 bytes --]
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v2 1/2] regulator: mt6366: Add support for MT6366 regulator
2022-03-18 20:06 ` Mark Brown
(?)
@ 2022-03-21 3:51 ` Johnson Wang
-1 siblings, 0 replies; 24+ messages in thread
From: Johnson Wang @ 2022-03-21 3:51 UTC (permalink / raw)
To: Mark Brown
Cc: robh+dt, linux-kernel, devicetree, linux-arm-kernel,
linux-mediatek, Project_Global_Chrome_Upstream_Group
Hi Mark,
On Fri, 2022-03-18 at 20:06 +0000, Mark Brown wrote:
> On Thu, Mar 17, 2022 at 11:04:01AM +0800, Johnson Wang wrote:
> > The MT6366 is a regulator found on boards based on MediaTek MT8186
> > and
> > probably other SoCs. It is a so called pmic and connects as a slave
> > to
> > SoC using SPI, wrapped inside the pmic-wrapper.
>
> This doesn't build, please resend once the dependencies have been
> merged:
This patch depends on [1], it use MARCO defined from [1].
[1] has been merged into linux-next and isn't merged into mainline yet.
I will resend this once the dependencies have been merged.
If you have any other suggestion, please let me know.
Thanks.
[1]
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/include/linux/mfd?id=c47383f849097c2b3547e28365578cd9e5811378
BRs,
Johnson Wang
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:51:15: error:
> 'MT6358_BUCK_VCORE_SSHUB_ELR0' undeclared here (not in a function);
> did you mean 'MT6358_BUCK_VCORE_ELR0'?
> 51 | .vsel_reg = MT6358_BUCK_##vreg##_ELR0, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:508:2: note: in
> expansion of macro 'MT6358_BUCK'
> 508 | MT6358_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:53:17: error:
> 'MT6358_BUCK_VCORE_SSHUB_CON0' undeclared here (not in a function);
> did you mean 'MT6358_BUCK_VCORE_CON0'?
> 53 | .enable_reg = MT6358_BUCK_##vreg##_CON0, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:508:2: note: in
> expansion of macro 'MT6358_BUCK'
> 508 | MT6358_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:57:16: error:
> 'MT6358_BUCK_VCORE_SSHUB_DBG1' undeclared here (not in a function);
> did you mean 'MT6358_BUCK_VCORE_DBG1'?
> 57 | .status_reg = MT6358_BUCK_##vreg##_DBG1, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:508:2: note: in
> expansion of macro 'MT6358_BUCK'
> 508 | MT6358_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:593:7: error:
> 'MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1' undeclared here (not in a
> function); did you mean 'MT6358_ID_VSRAM_OTHERS_SSHUB'?
> 593 | MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f),
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:103:15: note: in
> definition of macro 'MT6358_LDO1'
> 103 | .vsel_reg = vosel, \
> | ^~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:105:17: error:
> 'MT6358_LDO_VSRAM_OTHERS_SSHUB_CON0' undeclared here (not in a
> function); did you mean 'MT6358_LDO_VSRAM_OTHERS_CON0'?
> 105 | .enable_reg = MT6358_LDO_##vreg##_CON0, \
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:590:2: note: in
> expansion of macro 'MT6358_LDO1'
> 590 | MT6358_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB,
> 500000,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:110:16: error:
> 'MT6358_LDO_VSRAM_OTHERS_SSHUB_DBG1' undeclared here (not in a
> function); did you mean 'MT6358_LDO_VSRAM_OTHERS_DBG1'?
> 110 | .status_reg = MT6358_LDO_##vreg##_DBG1, \
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:590:2: note: in
> expansion of macro 'MT6358_LDO1'
> 590 | MT6358_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB,
> 500000,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:147:15: warning:
> initialization of 'unsigned int' from 'struct mt6358_regulator_info
> *' makes integer from pointer without a cast [-Wint-conversion]
> 147 | .vsel_reg = MT6358_BUCK_##vreg##_ELR0, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in
> expansion of macro 'MT6366_BUCK'
> 610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:147:15: note: (near
> initialization for 'mt6366_regulators[36].desc.vsel_reg')
> 147 | .vsel_reg = MT6358_BUCK_##vreg##_ELR0, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in
> expansion of macro 'MT6366_BUCK'
> 610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:147:15: error:
> initializer element is not constant
> 147 | .vsel_reg = MT6358_BUCK_##vreg##_ELR0, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in
> expansion of macro 'MT6366_BUCK'
> 610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:147:15: note: (near
> initialization for 'mt6366_regulators[36].desc.vsel_reg')
> 147 | .vsel_reg = MT6358_BUCK_##vreg##_ELR0, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in
> expansion of macro 'MT6366_BUCK'
> 610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:149:17: warning:
> initialization of 'unsigned int' from 'struct mt6358_regulator_info
> *' makes integer from pointer without a cast [-Wint-conversion]
> 149 | .enable_reg = MT6358_BUCK_##vreg##_CON0, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in
> expansion of macro 'MT6366_BUCK'
> 610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:149:17: note: (near
> initialization for 'mt6366_regulators[36].desc.enable_reg')
> 149 | .enable_reg = MT6358_BUCK_##vreg##_CON0, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in
> expansion of macro 'MT6366_BUCK'
> 610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:149:17: error:
> initializer element is not constant
> 149 | .enable_reg = MT6358_BUCK_##vreg##_CON0, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in
> expansion of macro 'MT6366_BUCK'
> 610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:149:17: note: (near
> initialization for 'mt6366_regulators[36].desc.enable_reg')
> 149 | .enable_reg = MT6358_BUCK_##vreg##_CON0, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in
> expansion of macro 'MT6366_BUCK'
> 610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:153:16: warning:
> initialization of 'unsigned int' from 'struct mt6358_regulator_info
> *' makes integer from pointer without a cast [-Wint-conversion]
> 153 | .status_reg = MT6358_BUCK_##vreg##_DBG1, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in
> expansion of macro 'MT6366_BUCK'
> 610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:153:16: note: (near
> initialization for 'mt6366_regulators[36].status_reg')
> 153 | .status_reg = MT6358_BUCK_##vreg##_DBG1, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in
> expansion of macro 'MT6366_BUCK'
> 610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:153:16: error:
> initializer element is not constant
> 153 | .status_reg = MT6358_BUCK_##vreg##_DBG1, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in
> expansion of macro 'MT6366_BUCK'
> 610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:153:16: note: (near
> initialization for 'mt6366_regulators[36].status_reg')
> 153 | .status_reg = MT6358_BUCK_##vreg##_DBG1, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in
> expansion of macro 'MT6366_BUCK'
> 610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:611:31: warning:
> initialization of 'unsigned int' from 'struct mt6358_regulator_info
> *' makes integer from pointer without a cast [-Wint-conversion]
> 611 | buck_volt_range1, 0x7f, MT6358_BUCK_VCORE_SSHUB_ELR0,
> 0x7f,
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:155:17: note: in
> definition of macro 'MT6366_BUCK'
> 155 | .da_vsel_reg = _da_vsel_reg, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:611:31: note: (near
> initialization for 'mt6366_regulators[36].da_vsel_reg')
> 611 | buck_volt_range1, 0x7f, MT6358_BUCK_VCORE_SSHUB_ELR0,
> 0x7f,
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:155:17: note: in
> definition of macro 'MT6366_BUCK'
> 155 | .da_vsel_reg = _da_vsel_reg, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:611:31: error:
> initializer element is not constant
> 611 | buck_volt_range1, 0x7f, MT6358_BUCK_VCORE_SSHUB_ELR0,
> 0x7f,
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:155:17: note: in
> definition of macro 'MT6366_BUCK'
> 155 | .da_vsel_reg = _da_vsel_reg, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:611:31: note: (near
> initialization for 'mt6366_regulators[36].da_vsel_reg')
> 611 | buck_volt_range1, 0x7f, MT6358_BUCK_VCORE_SSHUB_ELR0,
> 0x7f,
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:155:17: note: in
> definition of macro 'MT6366_BUCK'
> 155 | .da_vsel_reg = _da_vsel_reg, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:684:7: warning:
> initialization of 'unsigned int' from 'struct mt6358_regulator_info
> *' makes integer from pointer without a cast [-Wint-conversion]
> 684 | MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f),
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:199:15: note: in
> definition of macro 'MT6366_LDO1'
> 199 | .vsel_reg = vosel, \
> | ^~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:684:7: note: (near
> initialization for 'mt6366_regulators[37].desc.vsel_reg')
> 684 | MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f),
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:199:15: note: in
> definition of macro 'MT6366_LDO1'
> 199 | .vsel_reg = vosel, \
> | ^~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:684:7: error:
> initializer element is not constant
> 684 | MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f),
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:199:15: note: in
> definition of macro 'MT6366_LDO1'
> 199 | .vsel_reg = vosel, \
> | ^~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:684:7: note: (near
> initialization for 'mt6366_regulators[37].desc.vsel_reg')
> 684 | MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f),
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:199:15: note: in
> definition of macro 'MT6366_LDO1'
> 199 | .vsel_reg = vosel, \
> | ^~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:201:17: warning:
> initialization of 'unsigned int' from 'struct mt6358_regulator_info
> *' makes integer from pointer without a cast [-Wint-conversion]
> 201 | .enable_reg = MT6358_LDO_##vreg##_CON0, \
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in
> expansion of macro 'MT6366_LDO1'
> 681 | MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB,
> 500000,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:201:17: note: (near
> initialization for 'mt6366_regulators[37].desc.enable_reg')
> 201 | .enable_reg = MT6358_LDO_##vreg##_CON0, \
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in
> expansion of macro 'MT6366_LDO1'
> 681 | MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB,
> 500000,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:201:17: error:
> initializer element is not constant
> 201 | .enable_reg = MT6358_LDO_##vreg##_CON0, \
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in
> expansion of macro 'MT6366_LDO1'
> 681 | MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB,
> 500000,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:201:17: note: (near
> initialization for 'mt6366_regulators[37].desc.enable_reg')
> 201 | .enable_reg = MT6358_LDO_##vreg##_CON0, \
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in
> expansion of macro 'MT6366_LDO1'
> 681 | MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB,
> 500000,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:683:7: warning:
> initialization of 'unsigned int' from 'struct mt6358_regulator_info
> *' makes integer from pointer without a cast [-Wint-conversion]
> 683 | MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f,
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:204:17: note: in
> definition of macro 'MT6366_LDO1'
> 204 | .da_vsel_reg = _da_vsel_reg, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:683:7: note: (near
> initialization for 'mt6366_regulators[37].da_vsel_reg')
> 683 | MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f,
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:204:17: note: in
> definition of macro 'MT6366_LDO1'
> 204 | .da_vsel_reg = _da_vsel_reg, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:683:7: error:
> initializer element is not constant
> 683 | MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f,
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:204:17: note: in
> definition of macro 'MT6366_LDO1'
> 204 | .da_vsel_reg = _da_vsel_reg, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:683:7: note: (near
> initialization for 'mt6366_regulators[37].da_vsel_reg')
> 683 | MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f,
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:204:17: note: in
> definition of macro 'MT6366_LDO1'
> 204 | .da_vsel_reg = _da_vsel_reg, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:206:16: warning:
> initialization of 'unsigned int' from 'struct mt6358_regulator_info
> *' makes integer from pointer without a cast [-Wint-conversion]
> 206 | .status_reg = MT6358_LDO_##vreg##_DBG1, \
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in
> expansion of macro 'MT6366_LDO1'
> 681 | MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB,
> 500000,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:206:16: note: (near
> initialization for 'mt6366_regulators[37].status_reg')
> 206 | .status_reg = MT6358_LDO_##vreg##_DBG1, \
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in
> expansion of macro 'MT6366_LDO1'
> 681 | MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB,
> 500000,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:206:16: error:
> initializer element is not constant
> 206 | .status_reg = MT6358_LDO_##vreg##_DBG1, \
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in
> expansion of macro 'MT6366_LDO1'
> 681 | MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB,
> 500000,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:206:16: note: (near
> initialization for 'mt6366_regulators[37].status_reg')
> 206 | .status_reg = MT6358_LDO_##vreg##_DBG1, \
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in
> expansion of macro 'MT6366_LDO1'
> 681 | MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB,
> 500000,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c: In function
> 'mt6358_regulator_probe':
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:701:25: error:
> 'MT6366_CHIP_ID' undeclared (first use in this function); did you
> mean 'MT6397_CHIP_ID'?
> 701 | if (mt6397->chip_id == MT6366_CHIP_ID) {
> | ^~~~~~~~~~~~~~
> | MT6397_CHIP_ID
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:701:25: note: each
> undeclared identifier is reported only once for each function it
> appears in
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:701:22: warning:
> comparison between pointer and integer
> 701 | if (mt6397->chip_id == MT6366_CHIP_ID) {
> | ^~
>
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v2 1/2] regulator: mt6366: Add support for MT6366 regulator
@ 2022-03-21 3:51 ` Johnson Wang
0 siblings, 0 replies; 24+ messages in thread
From: Johnson Wang @ 2022-03-21 3:51 UTC (permalink / raw)
To: Mark Brown
Cc: robh+dt, linux-kernel, devicetree, linux-arm-kernel,
linux-mediatek, Project_Global_Chrome_Upstream_Group
Hi Mark,
On Fri, 2022-03-18 at 20:06 +0000, Mark Brown wrote:
> On Thu, Mar 17, 2022 at 11:04:01AM +0800, Johnson Wang wrote:
> > The MT6366 is a regulator found on boards based on MediaTek MT8186
> > and
> > probably other SoCs. It is a so called pmic and connects as a slave
> > to
> > SoC using SPI, wrapped inside the pmic-wrapper.
>
> This doesn't build, please resend once the dependencies have been
> merged:
This patch depends on [1], it use MARCO defined from [1].
[1] has been merged into linux-next and isn't merged into mainline yet.
I will resend this once the dependencies have been merged.
If you have any other suggestion, please let me know.
Thanks.
[1]
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/include/linux/mfd?id=c47383f849097c2b3547e28365578cd9e5811378
BRs,
Johnson Wang
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:51:15: error:
> 'MT6358_BUCK_VCORE_SSHUB_ELR0' undeclared here (not in a function);
> did you mean 'MT6358_BUCK_VCORE_ELR0'?
> 51 | .vsel_reg = MT6358_BUCK_##vreg##_ELR0, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:508:2: note: in
> expansion of macro 'MT6358_BUCK'
> 508 | MT6358_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:53:17: error:
> 'MT6358_BUCK_VCORE_SSHUB_CON0' undeclared here (not in a function);
> did you mean 'MT6358_BUCK_VCORE_CON0'?
> 53 | .enable_reg = MT6358_BUCK_##vreg##_CON0, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:508:2: note: in
> expansion of macro 'MT6358_BUCK'
> 508 | MT6358_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:57:16: error:
> 'MT6358_BUCK_VCORE_SSHUB_DBG1' undeclared here (not in a function);
> did you mean 'MT6358_BUCK_VCORE_DBG1'?
> 57 | .status_reg = MT6358_BUCK_##vreg##_DBG1, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:508:2: note: in
> expansion of macro 'MT6358_BUCK'
> 508 | MT6358_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:593:7: error:
> 'MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1' undeclared here (not in a
> function); did you mean 'MT6358_ID_VSRAM_OTHERS_SSHUB'?
> 593 | MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f),
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:103:15: note: in
> definition of macro 'MT6358_LDO1'
> 103 | .vsel_reg = vosel, \
> | ^~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:105:17: error:
> 'MT6358_LDO_VSRAM_OTHERS_SSHUB_CON0' undeclared here (not in a
> function); did you mean 'MT6358_LDO_VSRAM_OTHERS_CON0'?
> 105 | .enable_reg = MT6358_LDO_##vreg##_CON0, \
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:590:2: note: in
> expansion of macro 'MT6358_LDO1'
> 590 | MT6358_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB,
> 500000,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:110:16: error:
> 'MT6358_LDO_VSRAM_OTHERS_SSHUB_DBG1' undeclared here (not in a
> function); did you mean 'MT6358_LDO_VSRAM_OTHERS_DBG1'?
> 110 | .status_reg = MT6358_LDO_##vreg##_DBG1, \
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:590:2: note: in
> expansion of macro 'MT6358_LDO1'
> 590 | MT6358_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB,
> 500000,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:147:15: warning:
> initialization of 'unsigned int' from 'struct mt6358_regulator_info
> *' makes integer from pointer without a cast [-Wint-conversion]
> 147 | .vsel_reg = MT6358_BUCK_##vreg##_ELR0, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in
> expansion of macro 'MT6366_BUCK'
> 610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:147:15: note: (near
> initialization for 'mt6366_regulators[36].desc.vsel_reg')
> 147 | .vsel_reg = MT6358_BUCK_##vreg##_ELR0, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in
> expansion of macro 'MT6366_BUCK'
> 610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:147:15: error:
> initializer element is not constant
> 147 | .vsel_reg = MT6358_BUCK_##vreg##_ELR0, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in
> expansion of macro 'MT6366_BUCK'
> 610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:147:15: note: (near
> initialization for 'mt6366_regulators[36].desc.vsel_reg')
> 147 | .vsel_reg = MT6358_BUCK_##vreg##_ELR0, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in
> expansion of macro 'MT6366_BUCK'
> 610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:149:17: warning:
> initialization of 'unsigned int' from 'struct mt6358_regulator_info
> *' makes integer from pointer without a cast [-Wint-conversion]
> 149 | .enable_reg = MT6358_BUCK_##vreg##_CON0, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in
> expansion of macro 'MT6366_BUCK'
> 610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:149:17: note: (near
> initialization for 'mt6366_regulators[36].desc.enable_reg')
> 149 | .enable_reg = MT6358_BUCK_##vreg##_CON0, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in
> expansion of macro 'MT6366_BUCK'
> 610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:149:17: error:
> initializer element is not constant
> 149 | .enable_reg = MT6358_BUCK_##vreg##_CON0, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in
> expansion of macro 'MT6366_BUCK'
> 610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:149:17: note: (near
> initialization for 'mt6366_regulators[36].desc.enable_reg')
> 149 | .enable_reg = MT6358_BUCK_##vreg##_CON0, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in
> expansion of macro 'MT6366_BUCK'
> 610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:153:16: warning:
> initialization of 'unsigned int' from 'struct mt6358_regulator_info
> *' makes integer from pointer without a cast [-Wint-conversion]
> 153 | .status_reg = MT6358_BUCK_##vreg##_DBG1, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in
> expansion of macro 'MT6366_BUCK'
> 610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:153:16: note: (near
> initialization for 'mt6366_regulators[36].status_reg')
> 153 | .status_reg = MT6358_BUCK_##vreg##_DBG1, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in
> expansion of macro 'MT6366_BUCK'
> 610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:153:16: error:
> initializer element is not constant
> 153 | .status_reg = MT6358_BUCK_##vreg##_DBG1, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in
> expansion of macro 'MT6366_BUCK'
> 610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:153:16: note: (near
> initialization for 'mt6366_regulators[36].status_reg')
> 153 | .status_reg = MT6358_BUCK_##vreg##_DBG1, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in
> expansion of macro 'MT6366_BUCK'
> 610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:611:31: warning:
> initialization of 'unsigned int' from 'struct mt6358_regulator_info
> *' makes integer from pointer without a cast [-Wint-conversion]
> 611 | buck_volt_range1, 0x7f, MT6358_BUCK_VCORE_SSHUB_ELR0,
> 0x7f,
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:155:17: note: in
> definition of macro 'MT6366_BUCK'
> 155 | .da_vsel_reg = _da_vsel_reg, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:611:31: note: (near
> initialization for 'mt6366_regulators[36].da_vsel_reg')
> 611 | buck_volt_range1, 0x7f, MT6358_BUCK_VCORE_SSHUB_ELR0,
> 0x7f,
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:155:17: note: in
> definition of macro 'MT6366_BUCK'
> 155 | .da_vsel_reg = _da_vsel_reg, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:611:31: error:
> initializer element is not constant
> 611 | buck_volt_range1, 0x7f, MT6358_BUCK_VCORE_SSHUB_ELR0,
> 0x7f,
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:155:17: note: in
> definition of macro 'MT6366_BUCK'
> 155 | .da_vsel_reg = _da_vsel_reg, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:611:31: note: (near
> initialization for 'mt6366_regulators[36].da_vsel_reg')
> 611 | buck_volt_range1, 0x7f, MT6358_BUCK_VCORE_SSHUB_ELR0,
> 0x7f,
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:155:17: note: in
> definition of macro 'MT6366_BUCK'
> 155 | .da_vsel_reg = _da_vsel_reg, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:684:7: warning:
> initialization of 'unsigned int' from 'struct mt6358_regulator_info
> *' makes integer from pointer without a cast [-Wint-conversion]
> 684 | MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f),
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:199:15: note: in
> definition of macro 'MT6366_LDO1'
> 199 | .vsel_reg = vosel, \
> | ^~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:684:7: note: (near
> initialization for 'mt6366_regulators[37].desc.vsel_reg')
> 684 | MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f),
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:199:15: note: in
> definition of macro 'MT6366_LDO1'
> 199 | .vsel_reg = vosel, \
> | ^~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:684:7: error:
> initializer element is not constant
> 684 | MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f),
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:199:15: note: in
> definition of macro 'MT6366_LDO1'
> 199 | .vsel_reg = vosel, \
> | ^~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:684:7: note: (near
> initialization for 'mt6366_regulators[37].desc.vsel_reg')
> 684 | MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f),
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:199:15: note: in
> definition of macro 'MT6366_LDO1'
> 199 | .vsel_reg = vosel, \
> | ^~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:201:17: warning:
> initialization of 'unsigned int' from 'struct mt6358_regulator_info
> *' makes integer from pointer without a cast [-Wint-conversion]
> 201 | .enable_reg = MT6358_LDO_##vreg##_CON0, \
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in
> expansion of macro 'MT6366_LDO1'
> 681 | MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB,
> 500000,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:201:17: note: (near
> initialization for 'mt6366_regulators[37].desc.enable_reg')
> 201 | .enable_reg = MT6358_LDO_##vreg##_CON0, \
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in
> expansion of macro 'MT6366_LDO1'
> 681 | MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB,
> 500000,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:201:17: error:
> initializer element is not constant
> 201 | .enable_reg = MT6358_LDO_##vreg##_CON0, \
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in
> expansion of macro 'MT6366_LDO1'
> 681 | MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB,
> 500000,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:201:17: note: (near
> initialization for 'mt6366_regulators[37].desc.enable_reg')
> 201 | .enable_reg = MT6358_LDO_##vreg##_CON0, \
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in
> expansion of macro 'MT6366_LDO1'
> 681 | MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB,
> 500000,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:683:7: warning:
> initialization of 'unsigned int' from 'struct mt6358_regulator_info
> *' makes integer from pointer without a cast [-Wint-conversion]
> 683 | MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f,
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:204:17: note: in
> definition of macro 'MT6366_LDO1'
> 204 | .da_vsel_reg = _da_vsel_reg, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:683:7: note: (near
> initialization for 'mt6366_regulators[37].da_vsel_reg')
> 683 | MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f,
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:204:17: note: in
> definition of macro 'MT6366_LDO1'
> 204 | .da_vsel_reg = _da_vsel_reg, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:683:7: error:
> initializer element is not constant
> 683 | MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f,
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:204:17: note: in
> definition of macro 'MT6366_LDO1'
> 204 | .da_vsel_reg = _da_vsel_reg, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:683:7: note: (near
> initialization for 'mt6366_regulators[37].da_vsel_reg')
> 683 | MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f,
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:204:17: note: in
> definition of macro 'MT6366_LDO1'
> 204 | .da_vsel_reg = _da_vsel_reg, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:206:16: warning:
> initialization of 'unsigned int' from 'struct mt6358_regulator_info
> *' makes integer from pointer without a cast [-Wint-conversion]
> 206 | .status_reg = MT6358_LDO_##vreg##_DBG1, \
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in
> expansion of macro 'MT6366_LDO1'
> 681 | MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB,
> 500000,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:206:16: note: (near
> initialization for 'mt6366_regulators[37].status_reg')
> 206 | .status_reg = MT6358_LDO_##vreg##_DBG1, \
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in
> expansion of macro 'MT6366_LDO1'
> 681 | MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB,
> 500000,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:206:16: error:
> initializer element is not constant
> 206 | .status_reg = MT6358_LDO_##vreg##_DBG1, \
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in
> expansion of macro 'MT6366_LDO1'
> 681 | MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB,
> 500000,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:206:16: note: (near
> initialization for 'mt6366_regulators[37].status_reg')
> 206 | .status_reg = MT6358_LDO_##vreg##_DBG1, \
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in
> expansion of macro 'MT6366_LDO1'
> 681 | MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB,
> 500000,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c: In function
> 'mt6358_regulator_probe':
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:701:25: error:
> 'MT6366_CHIP_ID' undeclared (first use in this function); did you
> mean 'MT6397_CHIP_ID'?
> 701 | if (mt6397->chip_id == MT6366_CHIP_ID) {
> | ^~~~~~~~~~~~~~
> | MT6397_CHIP_ID
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:701:25: note: each
> undeclared identifier is reported only once for each function it
> appears in
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:701:22: warning:
> comparison between pointer and integer
> 701 | if (mt6397->chip_id == MT6366_CHIP_ID) {
> | ^~
>
_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v2 1/2] regulator: mt6366: Add support for MT6366 regulator
@ 2022-03-21 3:51 ` Johnson Wang
0 siblings, 0 replies; 24+ messages in thread
From: Johnson Wang @ 2022-03-21 3:51 UTC (permalink / raw)
To: Mark Brown
Cc: robh+dt, linux-kernel, devicetree, linux-arm-kernel,
linux-mediatek, Project_Global_Chrome_Upstream_Group
Hi Mark,
On Fri, 2022-03-18 at 20:06 +0000, Mark Brown wrote:
> On Thu, Mar 17, 2022 at 11:04:01AM +0800, Johnson Wang wrote:
> > The MT6366 is a regulator found on boards based on MediaTek MT8186
> > and
> > probably other SoCs. It is a so called pmic and connects as a slave
> > to
> > SoC using SPI, wrapped inside the pmic-wrapper.
>
> This doesn't build, please resend once the dependencies have been
> merged:
This patch depends on [1], it use MARCO defined from [1].
[1] has been merged into linux-next and isn't merged into mainline yet.
I will resend this once the dependencies have been merged.
If you have any other suggestion, please let me know.
Thanks.
[1]
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/include/linux/mfd?id=c47383f849097c2b3547e28365578cd9e5811378
BRs,
Johnson Wang
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:51:15: error:
> 'MT6358_BUCK_VCORE_SSHUB_ELR0' undeclared here (not in a function);
> did you mean 'MT6358_BUCK_VCORE_ELR0'?
> 51 | .vsel_reg = MT6358_BUCK_##vreg##_ELR0, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:508:2: note: in
> expansion of macro 'MT6358_BUCK'
> 508 | MT6358_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:53:17: error:
> 'MT6358_BUCK_VCORE_SSHUB_CON0' undeclared here (not in a function);
> did you mean 'MT6358_BUCK_VCORE_CON0'?
> 53 | .enable_reg = MT6358_BUCK_##vreg##_CON0, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:508:2: note: in
> expansion of macro 'MT6358_BUCK'
> 508 | MT6358_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:57:16: error:
> 'MT6358_BUCK_VCORE_SSHUB_DBG1' undeclared here (not in a function);
> did you mean 'MT6358_BUCK_VCORE_DBG1'?
> 57 | .status_reg = MT6358_BUCK_##vreg##_DBG1, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:508:2: note: in
> expansion of macro 'MT6358_BUCK'
> 508 | MT6358_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:593:7: error:
> 'MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1' undeclared here (not in a
> function); did you mean 'MT6358_ID_VSRAM_OTHERS_SSHUB'?
> 593 | MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f),
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:103:15: note: in
> definition of macro 'MT6358_LDO1'
> 103 | .vsel_reg = vosel, \
> | ^~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:105:17: error:
> 'MT6358_LDO_VSRAM_OTHERS_SSHUB_CON0' undeclared here (not in a
> function); did you mean 'MT6358_LDO_VSRAM_OTHERS_CON0'?
> 105 | .enable_reg = MT6358_LDO_##vreg##_CON0, \
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:590:2: note: in
> expansion of macro 'MT6358_LDO1'
> 590 | MT6358_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB,
> 500000,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:110:16: error:
> 'MT6358_LDO_VSRAM_OTHERS_SSHUB_DBG1' undeclared here (not in a
> function); did you mean 'MT6358_LDO_VSRAM_OTHERS_DBG1'?
> 110 | .status_reg = MT6358_LDO_##vreg##_DBG1, \
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:590:2: note: in
> expansion of macro 'MT6358_LDO1'
> 590 | MT6358_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB,
> 500000,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:147:15: warning:
> initialization of 'unsigned int' from 'struct mt6358_regulator_info
> *' makes integer from pointer without a cast [-Wint-conversion]
> 147 | .vsel_reg = MT6358_BUCK_##vreg##_ELR0, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in
> expansion of macro 'MT6366_BUCK'
> 610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:147:15: note: (near
> initialization for 'mt6366_regulators[36].desc.vsel_reg')
> 147 | .vsel_reg = MT6358_BUCK_##vreg##_ELR0, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in
> expansion of macro 'MT6366_BUCK'
> 610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:147:15: error:
> initializer element is not constant
> 147 | .vsel_reg = MT6358_BUCK_##vreg##_ELR0, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in
> expansion of macro 'MT6366_BUCK'
> 610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:147:15: note: (near
> initialization for 'mt6366_regulators[36].desc.vsel_reg')
> 147 | .vsel_reg = MT6358_BUCK_##vreg##_ELR0, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in
> expansion of macro 'MT6366_BUCK'
> 610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:149:17: warning:
> initialization of 'unsigned int' from 'struct mt6358_regulator_info
> *' makes integer from pointer without a cast [-Wint-conversion]
> 149 | .enable_reg = MT6358_BUCK_##vreg##_CON0, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in
> expansion of macro 'MT6366_BUCK'
> 610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:149:17: note: (near
> initialization for 'mt6366_regulators[36].desc.enable_reg')
> 149 | .enable_reg = MT6358_BUCK_##vreg##_CON0, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in
> expansion of macro 'MT6366_BUCK'
> 610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:149:17: error:
> initializer element is not constant
> 149 | .enable_reg = MT6358_BUCK_##vreg##_CON0, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in
> expansion of macro 'MT6366_BUCK'
> 610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:149:17: note: (near
> initialization for 'mt6366_regulators[36].desc.enable_reg')
> 149 | .enable_reg = MT6358_BUCK_##vreg##_CON0, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in
> expansion of macro 'MT6366_BUCK'
> 610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:153:16: warning:
> initialization of 'unsigned int' from 'struct mt6358_regulator_info
> *' makes integer from pointer without a cast [-Wint-conversion]
> 153 | .status_reg = MT6358_BUCK_##vreg##_DBG1, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in
> expansion of macro 'MT6366_BUCK'
> 610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:153:16: note: (near
> initialization for 'mt6366_regulators[36].status_reg')
> 153 | .status_reg = MT6358_BUCK_##vreg##_DBG1, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in
> expansion of macro 'MT6366_BUCK'
> 610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:153:16: error:
> initializer element is not constant
> 153 | .status_reg = MT6358_BUCK_##vreg##_DBG1, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in
> expansion of macro 'MT6366_BUCK'
> 610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:153:16: note: (near
> initialization for 'mt6366_regulators[36].status_reg')
> 153 | .status_reg = MT6358_BUCK_##vreg##_DBG1, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in
> expansion of macro 'MT6366_BUCK'
> 610 | MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:611:31: warning:
> initialization of 'unsigned int' from 'struct mt6358_regulator_info
> *' makes integer from pointer without a cast [-Wint-conversion]
> 611 | buck_volt_range1, 0x7f, MT6358_BUCK_VCORE_SSHUB_ELR0,
> 0x7f,
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:155:17: note: in
> definition of macro 'MT6366_BUCK'
> 155 | .da_vsel_reg = _da_vsel_reg, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:611:31: note: (near
> initialization for 'mt6366_regulators[36].da_vsel_reg')
> 611 | buck_volt_range1, 0x7f, MT6358_BUCK_VCORE_SSHUB_ELR0,
> 0x7f,
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:155:17: note: in
> definition of macro 'MT6366_BUCK'
> 155 | .da_vsel_reg = _da_vsel_reg, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:611:31: error:
> initializer element is not constant
> 611 | buck_volt_range1, 0x7f, MT6358_BUCK_VCORE_SSHUB_ELR0,
> 0x7f,
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:155:17: note: in
> definition of macro 'MT6366_BUCK'
> 155 | .da_vsel_reg = _da_vsel_reg, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:611:31: note: (near
> initialization for 'mt6366_regulators[36].da_vsel_reg')
> 611 | buck_volt_range1, 0x7f, MT6358_BUCK_VCORE_SSHUB_ELR0,
> 0x7f,
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:155:17: note: in
> definition of macro 'MT6366_BUCK'
> 155 | .da_vsel_reg = _da_vsel_reg, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:684:7: warning:
> initialization of 'unsigned int' from 'struct mt6358_regulator_info
> *' makes integer from pointer without a cast [-Wint-conversion]
> 684 | MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f),
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:199:15: note: in
> definition of macro 'MT6366_LDO1'
> 199 | .vsel_reg = vosel, \
> | ^~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:684:7: note: (near
> initialization for 'mt6366_regulators[37].desc.vsel_reg')
> 684 | MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f),
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:199:15: note: in
> definition of macro 'MT6366_LDO1'
> 199 | .vsel_reg = vosel, \
> | ^~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:684:7: error:
> initializer element is not constant
> 684 | MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f),
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:199:15: note: in
> definition of macro 'MT6366_LDO1'
> 199 | .vsel_reg = vosel, \
> | ^~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:684:7: note: (near
> initialization for 'mt6366_regulators[37].desc.vsel_reg')
> 684 | MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f),
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:199:15: note: in
> definition of macro 'MT6366_LDO1'
> 199 | .vsel_reg = vosel, \
> | ^~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:201:17: warning:
> initialization of 'unsigned int' from 'struct mt6358_regulator_info
> *' makes integer from pointer without a cast [-Wint-conversion]
> 201 | .enable_reg = MT6358_LDO_##vreg##_CON0, \
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in
> expansion of macro 'MT6366_LDO1'
> 681 | MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB,
> 500000,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:201:17: note: (near
> initialization for 'mt6366_regulators[37].desc.enable_reg')
> 201 | .enable_reg = MT6358_LDO_##vreg##_CON0, \
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in
> expansion of macro 'MT6366_LDO1'
> 681 | MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB,
> 500000,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:201:17: error:
> initializer element is not constant
> 201 | .enable_reg = MT6358_LDO_##vreg##_CON0, \
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in
> expansion of macro 'MT6366_LDO1'
> 681 | MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB,
> 500000,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:201:17: note: (near
> initialization for 'mt6366_regulators[37].desc.enable_reg')
> 201 | .enable_reg = MT6358_LDO_##vreg##_CON0, \
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in
> expansion of macro 'MT6366_LDO1'
> 681 | MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB,
> 500000,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:683:7: warning:
> initialization of 'unsigned int' from 'struct mt6358_regulator_info
> *' makes integer from pointer without a cast [-Wint-conversion]
> 683 | MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f,
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:204:17: note: in
> definition of macro 'MT6366_LDO1'
> 204 | .da_vsel_reg = _da_vsel_reg, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:683:7: note: (near
> initialization for 'mt6366_regulators[37].da_vsel_reg')
> 683 | MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f,
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:204:17: note: in
> definition of macro 'MT6366_LDO1'
> 204 | .da_vsel_reg = _da_vsel_reg, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:683:7: error:
> initializer element is not constant
> 683 | MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f,
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:204:17: note: in
> definition of macro 'MT6366_LDO1'
> 204 | .da_vsel_reg = _da_vsel_reg, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:683:7: note: (near
> initialization for 'mt6366_regulators[37].da_vsel_reg')
> 683 | MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f,
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:204:17: note: in
> definition of macro 'MT6366_LDO1'
> 204 | .da_vsel_reg = _da_vsel_reg, \
> | ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:206:16: warning:
> initialization of 'unsigned int' from 'struct mt6358_regulator_info
> *' makes integer from pointer without a cast [-Wint-conversion]
> 206 | .status_reg = MT6358_LDO_##vreg##_DBG1, \
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in
> expansion of macro 'MT6366_LDO1'
> 681 | MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB,
> 500000,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:206:16: note: (near
> initialization for 'mt6366_regulators[37].status_reg')
> 206 | .status_reg = MT6358_LDO_##vreg##_DBG1, \
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in
> expansion of macro 'MT6366_LDO1'
> 681 | MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB,
> 500000,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:206:16: error:
> initializer element is not constant
> 206 | .status_reg = MT6358_LDO_##vreg##_DBG1, \
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in
> expansion of macro 'MT6366_LDO1'
> 681 | MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB,
> 500000,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:206:16: note: (near
> initialization for 'mt6366_regulators[37].status_reg')
> 206 | .status_reg = MT6358_LDO_##vreg##_DBG1, \
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in
> expansion of macro 'MT6366_LDO1'
> 681 | MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB,
> 500000,
> | ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c: In function
> 'mt6358_regulator_probe':
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:701:25: error:
> 'MT6366_CHIP_ID' undeclared (first use in this function); did you
> mean 'MT6397_CHIP_ID'?
> 701 | if (mt6397->chip_id == MT6366_CHIP_ID) {
> | ^~~~~~~~~~~~~~
> | MT6397_CHIP_ID
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:701:25: note: each
> undeclared identifier is reported only once for each function it
> appears in
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:701:22: warning:
> comparison between pointer and integer
> 701 | if (mt6397->chip_id == MT6366_CHIP_ID) {
> | ^~
>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v2 0/2] Add support for MediaTek PMIC MT6366
2022-03-17 3:04 ` Johnson Wang
(?)
@ 2022-04-05 9:32 ` Mark Brown
-1 siblings, 0 replies; 24+ messages in thread
From: Mark Brown @ 2022-04-05 9:32 UTC (permalink / raw)
To: robh+dt, johnson.wang
Cc: linux-arm-kernel, linux-mediatek, devicetree,
Project_Global_Chrome_Upstream_Group, linux-kernel
On Thu, 17 Mar 2022 11:04:00 +0800, Johnson Wang wrote:
> This patchset adds support for MediaTek PMIC MT6366.
> MT6366 is the primary PMIC for MT8186 and probably other SOCs.
>
> Changes in v2:
> - rebase on Linux 5.17-rc8
> - change subject line
>
> [...]
Applied to
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator.git for-next
Thanks!
[1/2] regulator: mt6366: Add support for MT6366 regulator
commit: d077002c9d07dc6f64d07a362202a1e1081b2f6c
[2/2] dt-bindings: regulator: Add BUCK and LDO document for MT6358 and MT6366
commit: 417dfad7e4f0501853e05a46742a4e47075f034c
All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying
to this mail.
Thanks,
Mark
_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v2 0/2] Add support for MediaTek PMIC MT6366
@ 2022-04-05 9:32 ` Mark Brown
0 siblings, 0 replies; 24+ messages in thread
From: Mark Brown @ 2022-04-05 9:32 UTC (permalink / raw)
To: robh+dt, johnson.wang
Cc: linux-arm-kernel, linux-mediatek, devicetree,
Project_Global_Chrome_Upstream_Group, linux-kernel
On Thu, 17 Mar 2022 11:04:00 +0800, Johnson Wang wrote:
> This patchset adds support for MediaTek PMIC MT6366.
> MT6366 is the primary PMIC for MT8186 and probably other SOCs.
>
> Changes in v2:
> - rebase on Linux 5.17-rc8
> - change subject line
>
> [...]
Applied to
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator.git for-next
Thanks!
[1/2] regulator: mt6366: Add support for MT6366 regulator
commit: d077002c9d07dc6f64d07a362202a1e1081b2f6c
[2/2] dt-bindings: regulator: Add BUCK and LDO document for MT6358 and MT6366
commit: 417dfad7e4f0501853e05a46742a4e47075f034c
All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying
to this mail.
Thanks,
Mark
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v2 0/2] Add support for MediaTek PMIC MT6366
@ 2022-04-05 9:32 ` Mark Brown
0 siblings, 0 replies; 24+ messages in thread
From: Mark Brown @ 2022-04-05 9:32 UTC (permalink / raw)
To: robh+dt, johnson.wang
Cc: linux-arm-kernel, linux-mediatek, devicetree,
Project_Global_Chrome_Upstream_Group, linux-kernel
On Thu, 17 Mar 2022 11:04:00 +0800, Johnson Wang wrote:
> This patchset adds support for MediaTek PMIC MT6366.
> MT6366 is the primary PMIC for MT8186 and probably other SOCs.
>
> Changes in v2:
> - rebase on Linux 5.17-rc8
> - change subject line
>
> [...]
Applied to
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator.git for-next
Thanks!
[1/2] regulator: mt6366: Add support for MT6366 regulator
commit: d077002c9d07dc6f64d07a362202a1e1081b2f6c
[2/2] dt-bindings: regulator: Add BUCK and LDO document for MT6358 and MT6366
commit: 417dfad7e4f0501853e05a46742a4e47075f034c
All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying
to this mail.
Thanks,
Mark
^ permalink raw reply [flat|nested] 24+ messages in thread
end of thread, other threads:[~2022-04-05 15:21 UTC | newest]
Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-17 3:04 [PATCH v2 0/2] Add support for MediaTek PMIC MT6366 Johnson Wang
2022-03-17 3:04 ` Johnson Wang
2022-03-17 3:04 ` Johnson Wang
2022-03-17 3:04 ` [PATCH v2 1/2] regulator: mt6366: Add support for MT6366 regulator Johnson Wang
2022-03-17 3:04 ` Johnson Wang
2022-03-17 3:04 ` Johnson Wang
2022-03-18 11:37 ` AngeloGioacchino Del Regno
2022-03-18 11:37 ` AngeloGioacchino Del Regno
2022-03-18 11:37 ` AngeloGioacchino Del Regno
2022-03-18 20:06 ` Mark Brown
2022-03-18 20:06 ` Mark Brown
2022-03-18 20:06 ` Mark Brown
2022-03-21 3:51 ` Johnson Wang
2022-03-21 3:51 ` Johnson Wang
2022-03-21 3:51 ` Johnson Wang
2022-03-17 3:04 ` [PATCH v2 2/2] dt-bindings: regulator: Add BUCK and LDO document for MT6358 and MT6366 Johnson Wang
2022-03-17 3:04 ` Johnson Wang
2022-03-17 3:04 ` Johnson Wang
2022-03-18 11:37 ` AngeloGioacchino Del Regno
2022-03-18 11:37 ` AngeloGioacchino Del Regno
2022-03-18 11:37 ` AngeloGioacchino Del Regno
2022-04-05 9:32 ` [PATCH v2 0/2] Add support for MediaTek PMIC MT6366 Mark Brown
2022-04-05 9:32 ` Mark Brown
2022-04-05 9:32 ` Mark Brown
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.