[PATCH v2 1/2] acpi:apd: Add APM X-Gene ACPI I2C device support
Ken Xue
ken.xue at amd.com
Thu Dec 10 17:13:07 PST 2015
On Thu, 2015-12-10 at 14:19 -0700, Loc Ho wrote:
> Add APM X-Gene ACPI I2C device support by hooks into existent
> ACPI apd driver. To fully enable support, require another
> patch to add the X-Gene ACPI node into the DW I2C driver.
>
> Signed-off-by: Loc Ho <lho at apm.com>
> ---
> drivers/acpi/acpi_apd.c | 16 +++++++++++++++-
> 1 files changed, 15 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/acpi/acpi_apd.c b/drivers/acpi/acpi_apd.c
> index a450e7a..d507cf6 100644
> --- a/drivers/acpi/acpi_apd.c
> +++ b/drivers/acpi/acpi_apd.c
> @@ -51,7 +51,7 @@ struct apd_private_data {
> const struct apd_device_desc *dev_desc;
> };
>
> -#ifdef CONFIG_X86_AMD_PLATFORM_DEVICE
> +#if defined(CONFIG_X86_AMD_PLATFORM_DEVICE) || defined(CONFIG_ARM64)
> #define APD_ADDR(desc) ((unsigned long)&desc)
>
> static int acpi_apd_setup(struct apd_private_data *pdata)
> @@ -71,6 +71,7 @@ static int acpi_apd_setup(struct apd_private_data *pdata)
> return 0;
> }
>
> +#ifdef CONFIG_X86_AMD_PLATFORM_DEVICE
> static struct apd_device_desc cz_i2c_desc = {
> .setup = acpi_apd_setup,
> .fixed_clk_rate = 133000000,
> @@ -80,6 +81,14 @@ static struct apd_device_desc cz_uart_desc = {
> .setup = acpi_apd_setup,
> .fixed_clk_rate = 48000000,
> };
> +#endif
> +
> +#ifdef CONFIG_ARM64
> +static struct apd_device_desc xgene_i2c_desc = {
> + .setup = acpi_apd_setup,
> + .fixed_clk_rate = 100000000,
> +};
> +#endif
>
> #else
>
> @@ -132,9 +141,14 @@ static int acpi_apd_create_device(struct acpi_device *adev,
>
> static const struct acpi_device_id acpi_apd_device_ids[] = {
> /* Generic apd devices */
> +#ifdef CONFIG_X86_AMD_PLATFORM_DEVICE
> { "AMD0010", APD_ADDR(cz_i2c_desc) },
> { "AMD0020", APD_ADDR(cz_uart_desc) },
> { "AMD0030", },
> +#endif
> +#ifdef CONFIG_ARM64
> + { "APMC0D0F", APD_ADDR(xgene_i2c_desc) },
> +#endif
> { }
> };
>
Reviewed-by: Ken Xue <Ken.Xue at amd.com>
More information about the linux-arm-kernel
mailing list