/* * Note this MUST be called before snd_soc_register_card(), so that the props * are in place before the codec component driver's probe function parses them. */ static int byt_rt5651_add_codec_device_props(struct device *i2c_dev) { struct property_entry props[MAX_NO_PROPS] = {}; int cnt = 0; props[cnt++] = PROPERTY_ENTRY_U32("realtek,jack-detect-source", BYT_RT5651_JDSRC(byt_rt5651_quirk)); props[cnt++] = PROPERTY_ENTRY_U32("realtek,over-current-threshold-microamp", BYT_RT5651_OVCD_TH(byt_rt5651_quirk) * 100); props[cnt++] = PROPERTY_ENTRY_U32("realtek,over-current-scale-factor", BYT_RT5651_OVCD_SF(byt_rt5651_quirk)); if (byt_rt5651_quirk & BYT_RT5651_DMIC_EN) props[cnt++] = PROPERTY_ENTRY_BOOL("realtek,dmic-en"); return device_add_properties(i2c_dev, props); }
#include <linux/ioport.h> #include <linux/kernel.h> #include <linux/module.h> #include <linux/pm.h> #include <linux/pm_runtime.h> #include <linux/platform_device.h> #include <linux/property.h> #include "intel-lpss.h" static const struct intel_lpss_platform_info spt_info = { .clk_rate = 120000000, }; static struct property_entry spt_i2c_properties[] = { PROPERTY_ENTRY_U32("i2c-sda-hold-time-ns", 230), { }, }; static struct property_set spt_i2c_pset = { .properties = spt_i2c_properties, }; static const struct intel_lpss_platform_info spt_i2c_info = { .clk_rate = 120000000, .pset = &spt_i2c_pset, }; static const struct acpi_device_id intel_lpss_acpi_ids[] = { /* SPT */ { "INT3446", (kernel_ulong_t)&spt_i2c_info },
NULL, 0, dev_desc->fixed_clk_rate); clk_register_clkdev(clk, NULL, dev_name(&pdata->adev->dev)); pdata->clk = clk; } return 0; } #ifdef CONFIG_X86_AMD_PLATFORM_DEVICE static struct apd_device_desc cz_i2c_desc = { .setup = acpi_apd_setup, .fixed_clk_rate = 133000000, }; static struct property_entry uart_properties[] = { PROPERTY_ENTRY_U32("reg-io-width", 4), PROPERTY_ENTRY_U32("reg-shift", 2), PROPERTY_ENTRY_BOOL("snps,uart-16550-compatible"), { }, }; static struct apd_device_desc cz_uart_desc = { .setup = acpi_apd_setup, .fixed_clk_rate = 48000000, .properties = uart_properties, }; #endif #ifdef CONFIG_ARM64 static struct apd_device_desc xgene_i2c_desc = { .setup = acpi_apd_setup,
#include <linux/ioport.h> #include <linux/kernel.h> #include <linux/module.h> #include <linux/pm.h> #include <linux/pm_runtime.h> #include <linux/platform_device.h> #include <linux/property.h> #include "intel-lpss.h" static const struct intel_lpss_platform_info spt_info = { .clk_rate = 120000000, }; static struct property_entry spt_i2c_properties[] = { PROPERTY_ENTRY_U32("i2c-sda-hold-time-ns", 230), { }, }; static struct property_set spt_i2c_pset = { .properties = spt_i2c_properties, }; static const struct intel_lpss_platform_info spt_i2c_info = { .clk_rate = 120000000, .pset = &spt_i2c_pset, }; static const struct intel_lpss_platform_info bxt_info = { .clk_rate = 100000000, };