blob: e2d73d41c805128686d03c1059ac2336100d051f [file] [log] [blame]
# SPDX-License-Identifier: GPL-2.0-or-later
fw_config
field AUDIO_CODEC_SOURCE 36 37
option AUDIO_CODEC_ALC5682 0
option AUDIO_CODEC_ALC5682I_VS 1
end
end
chip soc/amd/picasso
# Start : OPN Performance Configuration
# See devhub #56670 Chapter 5 for documentation
# For the below fields, 0 indicates use SOC default
# System config index
register "system_config" = "1"
# Set STAPM confiuration. All of these fields must be set >0 to take affect
register "slow_ppt_limit_mW" = "6000"
register "fast_ppt_limit_mW" = "9000"
register "slow_ppt_time_constant_s" = "5"
register "stapm_time_constant_s" = "1400"
register "sustained_power_limit_mW" = "4800"
# End : OPN Performance Configuration
register "telemetry_vddcr_vdd_slope_mA" = "30400"
register "telemetry_vddcr_vdd_offset" = "317"
register "telemetry_vddcr_soc_slope_mA" = "23789"
register "telemetry_vddcr_soc_offset" = "94"
# USB OC pin mapping
register "usb_port_overcurrent_pin[0]" = "USB_OC_PIN_0" # USB C0
register "usb_port_overcurrent_pin[1]" = "USB_OC_PIN_0" # USB A0
register "usb_port_overcurrent_pin[2]" = "USB_OC_PIN_1" # USB C1
register "usb_port_overcurrent_pin[3]" = "USB_OC_PIN_1" # USB C1
# I2C2 for touchscreen and trackpad
register "i2c[2]" = "{
.speed = I2C_SPEED_FAST,
.rise_time_ns = 18, /* 0 to 2.31 (3.3 * .7) */
.fall_time_ns = 57, /* 2.31 to 0 */
.data_hold_time_ns = 335,
}"
# I2C3 for H1
register "i2c[3]" = "{
.speed = I2C_SPEED_FAST,
.rise_time_ns = 110, /* 0 to 1.26v (1.8 * .7) */
.fall_time_ns = 34, /* 1.26v to 0 */
.early_init = true,
}"
# See AMD 55570-B1 Table 13: PCI Device ID Assignments.
device domain 0 on
subsystemid 0x1022 0x1510 inherit
device ref internal_bridge_a on
device ref acp on
chip drivers/amd/i2s_machine_dev
register "hid" = ""AMDI5682""
# DMIC select GPIO for ACP machine device
# This GPIO is used to select DMIC0 or DMIC1 by the
# kernel driver. It does not really have a polarity
# since low and high control the selection of DMIC and
# hence does not have an active polarity.
# Kernel driver does not use the polarity field and
# instead treats the GPIO selection as follows:
# Set low (0) = Select DMIC0
# Set high (1) = Select DMIC1
register "dmic_select_gpio" = "ACPI_GPIO_OUTPUT(GPIO_67)"
device generic 0.0 on
probe AUDIO_CODEC_SOURCE AUDIO_CODEC_ALC5682
end
end
chip drivers/amd/i2s_machine_dev
register "hid" = ""10029835""
# DMIC select GPIO for ACP machine device
# This GPIO is used to select DMIC0 or DMIC1 by the
# kernel driver. It does not really have a polarity
# since low and high control the selection of DMIC and
# hence does not have an active polarity.
# Kernel driver does not use the polarity field and
# instead treats the GPIO selection as follows:
# Set low (0) = Select DMIC0
# Set high (1) = Select DMIC1
register "dmic_select_gpio" = "ACPI_GPIO_OUTPUT(GPIO_67)"
device generic 1.0 on
probe AUDIO_CODEC_SOURCE AUDIO_CODEC_ALC5682I_VS
end
end
end # Audio
end
device ref lpc_bridge on
chip ec/google/chromeec
device pnp 0c09.0 on
chip ec/google/chromeec/i2c_tunnel
device generic 0.0 on
chip drivers/i2c/generic
register "hid" = ""10EC5682""
register "name" = ""RT58""
register "uid" = "1"
register "desc" = ""Realtek RT5682""
register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPIO_84)"
register "property_count" = "2"
register "property_list[0].type" = "ACPI_DP_TYPE_INTEGER"
register "property_list[0].name" = ""realtek,jd-src""
register "property_list[0].integer" = "1"
register "property_list[1].type" = "ACPI_DP_TYPE_STRING"
register "property_list[1].name" = ""realtek,mclk-name""
register "property_list[1].string" = ""oscout1""
device i2c 1a on end
end
probe AUDIO_CODEC_SOURCE AUDIO_CODEC_ALC5682
end
device generic 1.0 on
chip drivers/i2c/generic
register "hid" = ""RTL5682""
register "name" = ""RT58""
register "uid" = "1"
register "desc" = ""Realtek RT5682""
register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPIO_84)"
register "property_count" = "2"
register "property_list[0].type" = "ACPI_DP_TYPE_INTEGER"
register "property_list[0].name" = ""realtek,jd-src""
register "property_list[0].integer" = "1"
register "property_list[1].type" = "ACPI_DP_TYPE_STRING"
register "property_list[1].name" = ""realtek,mclk-name""
register "property_list[1].string" = ""oscout1""
device i2c 1a on end
end
probe AUDIO_CODEC_SOURCE AUDIO_CODEC_ALC5682I_VS
end
end
end
end
end
end # domain
device ref i2c_2 on
chip drivers/i2c/generic
register "hid" = ""ELAN0001""
register "desc" = ""ELAN Touchscreen""
register "detect" = "1"
register "irq_gpio" = "ACPI_GPIO_IRQ_LEVEL_LOW(GPIO_12)"
register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_32)"
register "enable_delay_ms" = "1"
register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPIO_140)"
register "reset_delay_ms" = "300"
register "has_power_resource" = "1"
device i2c 10 on end
end
chip drivers/i2c/generic
register "hid" = ""ELAN0000""
register "desc" = ""ELAN Touchpad""
register "irq_gpio" = "ACPI_GPIO_IRQ_LEVEL_LOW(GPIO_9)"
register "wake" = "GEVENT_22"
register "detect" = "1"
device i2c 15 on
probe TOUCHPAD REGULAR_TOUCHPAD
end
end
chip drivers/i2c/hid
register "generic.hid" = ""ELAN2702""
register "generic.desc" = ""ELAN Touchpad""
register "generic.irq_gpio" = "ACPI_GPIO_IRQ_LEVEL_LOW(GPIO_9)"
register "generic.wake" = "GEVENT_22"
register "generic.detect" = "1"
register "hid_desc_reg_offset" = "0x01"
device i2c 15 on
probe TOUCHPAD NUMPAD_TOUCHPAD
end
end
end # device
chip drivers/generic/max98357a
register "hid" = ""MX98357A""
register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_91)"
register "sdmode_delay" = "5"
device generic 0.1 on end
end
end # chip soc/amd/picasso