/openbmc/linux/Documentation/ABI/stable/ |
H A D | sysfs-driver-mlxreg-io | 1 What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/asic_health 10 What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/cpld1_version 11 What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/cpld2_version 20 What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/fan_dir 30 What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/cpld3_version 39 What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/jtag_enable 48 What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/select_iio 59 What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/psu1_on 60 /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/psu2_on 61 /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/pwr_cycle [all …]
|
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/ |
H A D | hwmon.c | 4 #include <linux/hwmon.h> 10 #include "hwmon.h" 18 /* All temperatures retrieved in units of 0.125C. hwmon framework expect 86 struct mlx5_hwmon *hwmon = dev_get_drvdata(dev); in mlx5_hwmon_read() local 93 err = mlx5_hwmon_query_mtmp(hwmon->mdev, hwmon->temp_channel_desc[channel].sensor_index, in mlx5_hwmon_read() 116 struct mlx5_hwmon *hwmon = dev_get_drvdata(dev); in mlx5_hwmon_write() local 121 return mlx5_hwmon_reset_max_temp(hwmon->mdev, in mlx5_hwmon_write() 122 hwmon->temp_channel_desc[channel].sensor_index); in mlx5_hwmon_write() 147 struct mlx5_hwmon *hwmon = dev_get_drvdata(dev); in mlx5_hwmon_read_string() local 152 *str = (const char *)hwmon->temp_channel_desc[channel].sensor_name; in mlx5_hwmon_read_string() [all …]
|
/openbmc/linux/drivers/gpu/drm/i915/ |
H A D | i915_hwmon.c | 6 #include <linux/hwmon.h> 7 #include <linux/hwmon-sysfs.h> 19 * SF_* - scale factors for particular quantities according to hwmon spec. 47 struct i915_hwmon *hwmon; member 71 struct i915_hwmon *hwmon = ddat->hwmon; in hwm_locked_with_pm_intel_uncore_rmw() local 76 mutex_lock(&hwmon->hwmon_lock); in hwm_locked_with_pm_intel_uncore_rmw() 80 mutex_unlock(&hwmon->hwmon_lock); in hwm_locked_with_pm_intel_uncore_rmw() 120 * the hwmon API. Using x86_64 128 bit arithmetic (see mul_u64_u32_shr()), 122 * hwmon->scl_shift_energy of 14 bits we have 57 (63 - 20 + 14) bits before 129 struct i915_hwmon *hwmon = ddat->hwmon; in hwm_energy() local [all …]
|
/openbmc/linux/drivers/hwmon/ |
H A D | da9052-hwmon.c | 3 * HWMON Driver for Dialog DA9052 11 #include <linux/hwmon.h> 12 #include <linux/hwmon-sysfs.h> 67 static inline int input_tsireg_to_mv(struct da9052_hwmon *hwmon, int value) in input_tsireg_to_mv() argument 69 return DIV_ROUND_CLOSEST(value * hwmon->tsiref_mv, 1023); in input_tsireg_to_mv() 88 struct da9052_hwmon *hwmon = dev_get_drvdata(dev); in da9052_vddout_show() local 91 mutex_lock(&hwmon->hwmon_lock); in da9052_vddout_show() 93 ret = da9052_enable_vddout_channel(hwmon->da9052); in da9052_vddout_show() 97 vdd = da9052_reg_read(hwmon->da9052, DA9052_VDD_RES_REG); in da9052_vddout_show() 103 ret = da9052_disable_vddout_channel(hwmon->da9052); in da9052_vddout_show() [all …]
|
H A D | gsc-hwmon.c | 7 #include <linux/hwmon.h> 8 #include <linux/hwmon-sysfs.h> 57 struct gsc_hwmon_data *hwmon = dev_get_drvdata(dev); in pwm_auto_point_temp_show() local 59 u8 reg = hwmon->pdata->fan_base + (2 * attr->index); in pwm_auto_point_temp_show() 63 ret = regmap_bulk_read(hwmon->regmap, reg, regs, 2); in pwm_auto_point_temp_show() 75 struct gsc_hwmon_data *hwmon = dev_get_drvdata(dev); in pwm_auto_point_temp_store() local 77 u8 reg = hwmon->pdata->fan_base + (2 * attr->index); in pwm_auto_point_temp_store() 90 err = regmap_bulk_write(hwmon->regmap, reg, regs, 2); in pwm_auto_point_temp_store() 149 struct gsc_hwmon_data *hwmon = dev_get_drvdata(dev); in gsc_hwmon_read() local 157 ch = hwmon->in_ch[channel]; in gsc_hwmon_read() [all …]
|
H A D | nsa320-hwmon.c | 3 * drivers/hwmon/nsa320-hwmon.c 17 #include <linux/hwmon.h> 18 #include <linux/hwmon-sysfs.h> 29 * The Zyxel hwmon MCU is a Holtek HT46R065 that is factory programmed 70 struct nsa320_hwmon *hwmon = dev_get_drvdata(dev); in nsa320_hwmon_update() local 72 mutex_lock(&hwmon->update_lock); in nsa320_hwmon_update() 74 mcu_data = hwmon->mcu_data; in nsa320_hwmon_update() 76 if (time_after(jiffies, hwmon->last_updated + HZ) || mcu_data == 0) { in nsa320_hwmon_update() 77 gpiod_set_value(hwmon->act, 1); in nsa320_hwmon_update() 82 gpiod_set_value(hwmon->clk, 0); in nsa320_hwmon_update() [all …]
|
H A D | da9055-hwmon.c | 3 * HWMON Driver for Dialog DA9055 12 #include <linux/hwmon.h> 13 #include <linux/hwmon-sysfs.h> 55 static int da9055_adc_manual_read(struct da9055_hwmon *hwmon, in da9055_adc_manual_read() argument 62 struct da9055 *da9055 = hwmon->da9055; in da9055_adc_manual_read() 67 mutex_lock(&hwmon->irq_lock); in da9055_adc_manual_read() 77 if (!wait_for_completion_timeout(&hwmon->done, in da9055_adc_manual_read() 102 mutex_unlock(&hwmon->irq_lock); in da9055_adc_manual_read() 108 struct da9055_hwmon *hwmon = irq_data; in da9055_auxadc_irq() local 110 complete(&hwmon->done); in da9055_auxadc_irq() [all …]
|
H A D | lan966x-hwmon.c | 5 #include <linux/hwmon.h> 80 struct lan966x_hwmon *hwmon = dev_get_drvdata(dev); in lan966x_hwmon_read_temp() local 84 ret = regmap_read(hwmon->regmap_pvt, PVT_SENSOR_STAT, &data); in lan966x_hwmon_read_temp() 99 struct lan966x_hwmon *hwmon = dev_get_drvdata(dev); in lan966x_hwmon_read_fan() local 103 ret = regmap_read(hwmon->regmap_fan, FAN_CNT, &data); in lan966x_hwmon_read_fan() 118 struct lan966x_hwmon *hwmon = dev_get_drvdata(dev); in lan966x_hwmon_read_pwm() local 122 ret = regmap_read(hwmon->regmap_fan, FAN_CFG, &data); in lan966x_hwmon_read_pwm() 133 struct lan966x_hwmon *hwmon = dev_get_drvdata(dev); in lan966x_hwmon_read_pwm_freq() local 138 ret = regmap_read(hwmon->regmap_fan, FAN_PWM_FREQ, &data); in lan966x_hwmon_read_pwm_freq() 147 tmp = DIV_ROUND_CLOSEST(hwmon->clk_rate, 256); in lan966x_hwmon_read_pwm_freq() [all …]
|
H A D | sparx5-temp.c | 9 #include <linux/hwmon.h> 29 static void s5_temp_enable(struct s5_hwmon *hwmon) in s5_temp_enable() argument 31 u32 val = readl(hwmon->base + TEMP_CFG); in s5_temp_enable() 32 u32 clk = clk_get_rate(hwmon->clk) / USEC_PER_SEC; in s5_temp_enable() 38 writel(val, hwmon->base + TEMP_CFG); in s5_temp_enable() 44 struct s5_hwmon *hwmon = dev_get_drvdata(dev); in s5_read() local 50 stat = readl_relaxed(hwmon->base + TEMP_STAT); in s5_read() 61 * have millidegrees as specified by the hwmon sysfs in s5_read() 108 struct s5_hwmon *hwmon; in s5_temp_probe() local 110 hwmon = devm_kzalloc(&pdev->dev, sizeof(*hwmon), GFP_KERNEL); in s5_temp_probe() [all …]
|
H A D | as370-hwmon.c | 10 #include <linux/hwmon.h> 32 static void init_pvt(struct as370_hwmon *hwmon) in init_pvt() argument 35 void __iomem *addr = hwmon->base + CTRL; in init_pvt() 51 struct as370_hwmon *hwmon = dev_get_drvdata(dev); in as370_hwmon_read() local 55 val = readl_relaxed(hwmon->base + STS) & BN_MASK; in as370_hwmon_read() 98 struct as370_hwmon *hwmon; in as370_hwmon_probe() local 101 hwmon = devm_kzalloc(dev, sizeof(*hwmon), GFP_KERNEL); in as370_hwmon_probe() 102 if (!hwmon) in as370_hwmon_probe() 105 hwmon->base = devm_platform_ioremap_resource(pdev, 0); in as370_hwmon_probe() 106 if (IS_ERR(hwmon->base)) in as370_hwmon_probe() [all …]
|
H A D | sl28cpld-hwmon.c | 9 #include <linux/hwmon.h> 37 struct sl28cpld_hwmon *hwmon = dev_get_drvdata(dev); in sl28cpld_hwmon_read() local 43 ret = regmap_read(hwmon->regmap, hwmon->offset + FAN_INPUT, in sl28cpld_hwmon_read() 87 struct sl28cpld_hwmon *hwmon; in sl28cpld_hwmon_probe() local 94 hwmon = devm_kzalloc(&pdev->dev, sizeof(*hwmon), GFP_KERNEL); in sl28cpld_hwmon_probe() 95 if (!hwmon) in sl28cpld_hwmon_probe() 98 hwmon->regmap = dev_get_regmap(pdev->dev.parent, NULL); in sl28cpld_hwmon_probe() 99 if (!hwmon->regmap) in sl28cpld_hwmon_probe() 102 ret = device_property_read_u32(&pdev->dev, "reg", &hwmon->offset); in sl28cpld_hwmon_probe() 107 "sl28cpld_hwmon", hwmon, in sl28cpld_hwmon_probe() [all …]
|
H A D | smpro-hwmon.c | 9 #include <linux/hwmon.h> 10 #include <linux/hwmon-sysfs.h> 208 struct smpro_hwmon *hwmon = dev_get_drvdata(dev); in smpro_read_temp() local 214 ret = regmap_read(hwmon->regmap, temperature[channel].reg, &value); in smpro_read_temp() 219 ret = regmap_read(hwmon->regmap, temperature[channel].reg_ext, &value); in smpro_read_temp() 233 struct smpro_hwmon *hwmon = dev_get_drvdata(dev); in smpro_read_in() local 239 ret = regmap_read(hwmon->regmap, voltage[channel].reg, &value); in smpro_read_in() 252 struct smpro_hwmon *hwmon = dev_get_drvdata(dev); in smpro_read_curr() local 258 ret = regmap_read(hwmon->regmap, curr_sensor[channel].reg, &value); in smpro_read_curr() 271 struct smpro_hwmon *hwmon = dev_get_drvdata(dev); in smpro_read_power() local [all …]
|
/openbmc/linux/Documentation/ABI/testing/ |
H A D | sysfs-class-hwmon | 1 What: /sys/class/hwmon/hwmonX/name 12 What: /sys/class/hwmon/hwmonX/label 20 What: /sys/class/hwmon/hwmonX/update_interval 30 What: /sys/class/hwmon/hwmonX/inY_min 38 What: /sys/class/hwmon/hwmonX/inY_lcrit 50 What: /sys/class/hwmon/hwmonX/inY_max 58 What: /sys/class/hwmon/hwmonX/inY_crit 70 What: /sys/class/hwmon/hwmonX/inY_input 92 What: /sys/class/hwmon/hwmonX/inY_average 100 What: /sys/class/hwmon/hwmonX/inY_lowest [all …]
|
H A D | sysfs-driver-intel-i915-hwmon | 1 What: /sys/devices/.../hwmon/hwmon<i>/in0_input 9 What: /sys/devices/.../hwmon/hwmon<i>/power1_max 23 What: /sys/devices/.../hwmon/hwmon<i>/power1_rated_max 31 What: /sys/devices/.../hwmon/hwmon<i>/power1_max_interval 40 What: /sys/devices/.../hwmon/hwmon<i>/power1_crit 53 What: /sys/devices/.../hwmon/hwmon<i>/curr1_crit 66 What: /sys/devices/.../hwmon/hwmon<i>/energy1_input 72 For i915 device level hwmon devices (name "i915") this 74 hwmon devices (name "i915_gtN") this reflects energy input
|
/openbmc/linux/drivers/thermal/ |
H A D | thermal_hwmon.c | 3 * thermal_hwmon.c - Generic Thermal Management hwmon support. 15 #include <linux/hwmon.h> 22 /* hwmon sys I/F */ 23 /* thermal zone devices with the same type share one hwmon device */ 41 struct thermal_hwmon_attr temp_input; /* hwmon sys attr */ 42 struct thermal_hwmon_attr temp_crit; /* hwmon sys attr */ 100 struct thermal_hwmon_device *hwmon; in thermal_hwmon_lookup_by_type() local 104 list_for_each_entry(hwmon, &thermal_hwmon_list, node) { in thermal_hwmon_lookup_by_type() 107 if (!strcmp(hwmon->type, type)) { in thermal_hwmon_lookup_by_type() 109 return hwmon; in thermal_hwmon_lookup_by_type() [all …]
|
/openbmc/phosphor-mrw-tools/ |
H A D | hwmon.pl | 3 #Creates a configuration file for each hwmon sensor in the MRW 4 #for use by the phosphor-hwmon daemon. These configuration files 5 #contain labels and thresholds for the hwmon features for that sensor. 23 my @hwmon; 37 getI2CSensors($bmc, \@hwmon); 39 makeConfFiles($bmc, \@hwmon); 44 #Returns an array of hashes that represent hwmon enabled I2C sensors. 47 my ($bmc, $hwmon) = @_; 56 "unit-hwmon-feature", 59 #If the MRW doesn't specify a label for a particular hwmon [all …]
|
/openbmc/phosphor-hwmon/ |
H A D | hwmonio.hpp | 38 * however, could in theory support non-sysfs handling of hwmon IO. 58 * @brief Convenience wrappers for HWMON sysfs attribute IO. 61 * ENOENT after every hwmon attribute io operation. Hwmon 78 * @param[in] path - hwmon instance root - eg: 79 * /sys/class/hwmon/hwmon<N> 84 /** @brief Perform formatted hwmon sysfs read. 88 * the underlying hwmon driver is unbound and 94 * @param[in] type - The hwmon type (ex. temp). 95 * @param[in] id - The hwmon id (ex. 1). 96 * @param[in] sensor - The hwmon sensor (ex. input). [all …]
|
H A D | README.iio.md | 4 same way that hwmon devices are bridged by the phosphor-hwmon-readd application. 6 Until a daemon can be written, the hwmon-iio bridge driver can be used with the 7 phosphor-hwmon-readd application, with the limitation that only a single iio 8 channel can be configured per iio-hwmon platform instance. Typically device 9 trees are setup with all the iio-channels under a single iio-hwmon platform 10 device - doing this will result in undefined behavior from phosphor-hwmon-readd. 13 phosphor-hwmon-readd will not support hwmon-iio bridge devices in any capacity.
|
H A D | sysfs.cpp | 41 // with iio-hwmon nodes with a single sensor. Typically in findPhandleMatch() 43 // single iio-hwmon node so it would be nice to add support in findPhandleMatch() 47 // with multiple iio-hwmon nodes - one for each sensor. in findPhandleMatch() 87 // Follow the hwmon instance (/sys/class/hwmon/hwmon<N>) in findCalloutPath() 101 // See if the device is backed by the iio-hwmon driver. in findCalloutPath() 108 // Not backed by iio-hwmon. The device pointed to in findCalloutPath() 113 // Find the DT path to the iio-hwmon platform device. in findCalloutPath() 166 static constexpr auto hwmonRoot = "/sys/class/hwmon"; in findHwmonFromOFPath() 181 // realpath may encounter ENOENT (Hwmon in findHwmonFromOFPath() 192 // Try to find HWMON instance via phandle values. in findHwmonFromOFPath() [all …]
|
/openbmc/linux/drivers/net/ethernet/sfc/ |
H A D | mcdi_mon.c | 9 #include <linux/hwmon.h> 146 struct efx_mcdi_mon *hwmon = efx_mcdi_mon(efx); in efx_mcdi_mon_update() local 151 hwmon->dma_buf.dma_addr); in efx_mcdi_mon_update() 152 MCDI_SET_DWORD(inbuf, READ_SENSORS_EXT_IN_LENGTH, hwmon->dma_buf.len); in efx_mcdi_mon_update() 157 hwmon->last_update = jiffies; in efx_mcdi_mon_update() 165 struct efx_mcdi_mon *hwmon = efx_mcdi_mon(efx); in efx_mcdi_mon_get_entry() local 170 mutex_lock(&hwmon->update_lock); in efx_mcdi_mon_get_entry() 173 if (time_before(jiffies, hwmon->last_update + HZ)) in efx_mcdi_mon_get_entry() 179 *entry = ((efx_dword_t *)hwmon->dma_buf.addr)[index]; in efx_mcdi_mon_get_entry() 181 mutex_unlock(&hwmon->update_lock); in efx_mcdi_mon_get_entry() [all …]
|
/openbmc/linux/drivers/net/ethernet/sfc/siena/ |
H A D | mcdi_mon.c | 9 #include <linux/hwmon.h> 146 struct efx_mcdi_mon *hwmon = efx_mcdi_mon(efx); in efx_mcdi_mon_update() local 151 hwmon->dma_buf.dma_addr); in efx_mcdi_mon_update() 152 MCDI_SET_DWORD(inbuf, READ_SENSORS_EXT_IN_LENGTH, hwmon->dma_buf.len); in efx_mcdi_mon_update() 157 hwmon->last_update = jiffies; in efx_mcdi_mon_update() 165 struct efx_mcdi_mon *hwmon = efx_mcdi_mon(efx); in efx_mcdi_mon_get_entry() local 170 mutex_lock(&hwmon->update_lock); in efx_mcdi_mon_get_entry() 173 if (time_before(jiffies, hwmon->last_update + HZ)) in efx_mcdi_mon_get_entry() 179 *entry = ((efx_dword_t *)hwmon->dma_buf.addr)[index]; in efx_mcdi_mon_get_entry() 181 mutex_unlock(&hwmon->update_lock); in efx_mcdi_mon_get_entry() [all …]
|
/openbmc/linux/Documentation/hwmon/ |
H A D | index.rst | 10 hwmon-kernel-api 61 dell-smm-hwmon 78 gsc-hwmon 92 intel-m10-bmc-hwmon 191 raspberrypi-hwmon 196 scpi-hwmon 205 smpro-hwmon 211 sy7636a-hwmon 226 twl4030-madc-hwmon 244 xgene-hwmon
|
/openbmc/phosphor-power/phosphor-power-sequencer/test/ |
H A D | pmbus_driver_device_tests.cpp | 393 // Create simulated hwmon voltage label file in TEST_F() 406 EXPECT_CALL(pmbus, getPath(Type::Hwmon)) in TEST_F() 409 EXPECT_CALL(pmbus, readString("in13_label", Type::Hwmon)) in TEST_F() 412 EXPECT_CALL(pmbus, readString("in13_input", Type::Hwmon)) in TEST_F() 422 // Create simulated hwmon voltage label file in TEST_F() 435 EXPECT_CALL(pmbus, getPath(Type::Hwmon)) in TEST_F() 438 EXPECT_CALL(pmbus, readString("in13_label", Type::Hwmon)) in TEST_F() 453 "Unable to find hwmon file number for PAGE 9 of device xyz_pseq"); in TEST_F() 462 // Create simulated hwmon voltage label file in TEST_F() 475 EXPECT_CALL(pmbus, getPath(Type::Hwmon)) in TEST_F() [all …]
|
/openbmc/openbmc/meta-hpe/meta-dl385-g11/recipes-phosphor/fans/phosphor-pid-control/ |
H A D | config.json | 6 "readPath": "/sys/class/hwmon/hwmon0/pwm0", 7 "writePath": "/sys/class/hwmon/hwmon0/pwm0", 14 "readPath": "/sys/class/hwmon/hwmon0/pwm1", 15 "writePath": "/sys/class/hwmon/hwmon0/pwm1", 22 "readPath": "/sys/class/hwmon/hwmon0/pwm2", 23 "writePath": "/sys/class/hwmon/hwmon0/pwm2", 30 "readPath": "/sys/class/hwmon/hwmon0/pwm3", 31 "writePath": "/sys/class/hwmon/hwmon0/pwm3", 38 "readPath": "/sys/class/hwmon/hwmon0/pwm4", 39 "writePath": "/sys/class/hwmon/hwmon0/pwm4", [all …]
|
/openbmc/openbmc/meta-phosphor/recipes-phosphor/sensors/ |
H A D | phosphor-hwmon_git.bb | 1 SUMMARY = "OpenBMC hwmon poller" 2 DESCRIPTION = "OpenBMC hwmon poller." 22 SRC_URI = "git://github.com/openbmc/phosphor-hwmon;branch=master;protocol=https" 25 SYSTEMD_SERVICE:${PN} = "xyz.openbmc_project.Hwmon@.service" 39 RRECOMMENDS:${PN} += "${VIRTUAL-RUNTIME_phosphor-hwmon-config}" 41 FILES:${PN} += "${base_libdir}/systemd/system/xyz.openbmc_project.Hwmon@.service" 47 # The following postinstall script iterate over hwmon env files: 50 # 2. For each hwmon the script generates busconfig ACLs. 52 hwmon_dir="$D/etc/default/obmc/hwmon" 66 acl_file="${dbus_dir}/xyz.openbmc_project.Hwmon-${sensor_id}.conf" [all …]
|