Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 46436eb2 authored by Rafael J. Wysocki's avatar Rafael J. Wysocki
Browse files

Merge branches 'acpi-soc', 'acpi-bus', 'acpi-pmic' and 'acpi-power'

* acpi-soc:
  ACPI / LPSS: Call pwm_add_table() for Bay Trail PWM device
  i2c: designware: Add ACPI HID for Hisilicon Hip07/08 I2C controller
  ACPI / APD: Add clock frequency for Hisilicon Hip07/08 I2C controller

* acpi-bus:
  ACPI / bus: Add INT0002 to list of always-present devices
  ACPI / bus: Introduce a list of ids for "always present" devices

* acpi-pmic:
  ACPI / PMIC: xpower: Fix power_table addresses

* acpi-power:
  ACPI / power: Delay turning off unused power resources after suspend
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -50,6 +50,7 @@ acpi-$(CONFIG_ACPI_REDUCED_HARDWARE_ONLY) += evged.o
acpi-y				+= sysfs.o
acpi-y				+= property.o
acpi-$(CONFIG_X86)		+= acpi_cmos_rtc.o
acpi-$(CONFIG_X86)		+= x86/utils.o
acpi-$(CONFIG_DEBUG_FS)		+= debugfs.o
acpi-$(CONFIG_ACPI_NUMA)	+= numa.o
acpi-$(CONFIG_ACPI_PROCFS_POWER) += cm_sbs.o
+12 −0
Original line number Diff line number Diff line
@@ -106,6 +106,16 @@ static const struct apd_device_desc vulcan_spi_desc = {
	.setup = acpi_apd_setup,
	.fixed_clk_rate = 133000000,
};

static const struct apd_device_desc hip07_i2c_desc = {
	.setup = acpi_apd_setup,
	.fixed_clk_rate = 200000000,
};

static const struct apd_device_desc hip08_i2c_desc = {
	.setup = acpi_apd_setup,
	.fixed_clk_rate = 250000000,
};
#endif

#else
@@ -169,6 +179,8 @@ static const struct acpi_device_id acpi_apd_device_ids[] = {
#ifdef CONFIG_ARM64
	{ "APMC0D0F", APD_ADDR(xgene_i2c_desc) },
	{ "BRCM900D", APD_ADDR(vulcan_spi_desc) },
	{ "HISI0A21", APD_ADDR(hip07_i2c_desc) },
	{ "HISI0A22", APD_ADDR(hip08_i2c_desc) },
#endif
	{ }
};
+17 −0
Original line number Diff line number Diff line
@@ -143,6 +143,22 @@ static void lpss_deassert_reset(struct lpss_private_data *pdata)
	writel(val, pdata->mmio_base + offset);
}

/*
 * BYT PWM used for backlight control by the i915 driver on systems without
 * the Crystal Cove PMIC.
 */
static struct pwm_lookup byt_pwm_lookup[] = {
	PWM_LOOKUP_WITH_MODULE("80860F09:00", 0, "0000:00:02.0",
			       "pwm_backlight", 0, PWM_POLARITY_NORMAL,
			       "pwm-lpss-platform"),
};

static void byt_pwm_setup(struct lpss_private_data *pdata)
{
	if (!acpi_dev_present("INT33FD", NULL, -1))
		pwm_add_table(byt_pwm_lookup, ARRAY_SIZE(byt_pwm_lookup));
}

#define LPSS_I2C_ENABLE			0x6c

static void byt_i2c_setup(struct lpss_private_data *pdata)
@@ -200,6 +216,7 @@ static const struct lpss_device_desc lpt_sdio_dev_desc = {

static const struct lpss_device_desc byt_pwm_dev_desc = {
	.flags = LPSS_SAVE_CTX,
	.setup = byt_pwm_setup,
};

static const struct lpss_device_desc bsw_pwm_dev_desc = {
+5 −0
Original line number Diff line number Diff line
@@ -114,6 +114,11 @@ int acpi_bus_get_status(struct acpi_device *device)
	acpi_status status;
	unsigned long long sta;

	if (acpi_device_always_present(device)) {
		acpi_set_device_status(device, ACPI_STA_DEFAULT);
		return 0;
	}

	status = acpi_bus_get_status_handle(device->handle, &sta);
	if (ACPI_FAILURE(status))
		return -ENODEV;
+25 −25
Original line number Diff line number Diff line
@@ -27,97 +27,97 @@ static struct pmic_table power_table[] = {
		.address = 0x00,
		.reg = 0x13,
		.bit = 0x05,
	},
	}, /* ALD1 */
	{
		.address = 0x04,
		.reg = 0x13,
		.bit = 0x06,
	},
	}, /* ALD2 */
	{
		.address = 0x08,
		.reg = 0x13,
		.bit = 0x07,
	},
	}, /* ALD3 */
	{
		.address = 0x0c,
		.reg = 0x12,
		.bit = 0x03,
	},
	}, /* DLD1 */
	{
		.address = 0x10,
		.reg = 0x12,
		.bit = 0x04,
	},
	}, /* DLD2 */
	{
		.address = 0x14,
		.reg = 0x12,
		.bit = 0x05,
	},
	}, /* DLD3 */
	{
		.address = 0x18,
		.reg = 0x12,
		.bit = 0x06,
	},
	}, /* DLD4 */
	{
		.address = 0x1c,
		.reg = 0x12,
		.bit = 0x00,
	},
	}, /* ELD1 */
	{
		.address = 0x20,
		.reg = 0x12,
		.bit = 0x01,
	},
	}, /* ELD2 */
	{
		.address = 0x24,
		.reg = 0x12,
		.bit = 0x02,
	},
	}, /* ELD3 */
	{
		.address = 0x28,
		.reg = 0x13,
		.bit = 0x02,
	},
	}, /* FLD1 */
	{
		.address = 0x2c,
		.reg = 0x13,
		.bit = 0x03,
	},
	}, /* FLD2 */
	{
		.address = 0x30,
		.reg = 0x13,
		.bit = 0x04,
	},
	}, /* FLD3 */
	{
		.address = 0x38,
		.address = 0x34,
		.reg = 0x10,
		.bit = 0x03,
	},
	}, /* BUC1 */
	{
		.address = 0x3c,
		.address = 0x38,
		.reg = 0x10,
		.bit = 0x06,
	},
	}, /* BUC2 */
	{
		.address = 0x40,
		.address = 0x3c,
		.reg = 0x10,
		.bit = 0x05,
	},
	}, /* BUC3 */
	{
		.address = 0x44,
		.address = 0x40,
		.reg = 0x10,
		.bit = 0x04,
	},
	}, /* BUC4 */
	{
		.address = 0x48,
		.address = 0x44,
		.reg = 0x10,
		.bit = 0x01,
	},
	}, /* BUC5 */
	{
		.address = 0x4c,
		.address = 0x48,
		.reg = 0x10,
		.bit = 0x00
	},
	}, /* BUC6 */
};

/* TMP0 - TMP5 are the same, all from GPADC */
Loading