/openbmc/openbmc/meta-facebook/meta-yosemite4/recipes-phosphor/dbus/ |
H A D | fan-fault-led.bb | 15 file://board-0-fan-0.yaml \ 16 file://board-0-fan-1.yaml \ 17 file://board-0-fan-4.yaml \ 18 file://board-0-fan-5.yaml \ 19 file://board-0-fan-8.yaml \ 20 file://board-0-fan-9.yaml \ 21 file://board-1-fan-10.yaml \ 22 file://board-1-fan-11.yaml \ 23 file://board-1-fan-2.yaml \ 24 file://board-1-fan-3.yaml \ [all …]
|
/openbmc/linux/drivers/macintosh/ |
H A D | windfarm_fcu_controls.c | 80 struct wf_fcu_fan *fan = ct->priv; in wf_fcu_fan_release() local 82 kref_put(&fan->fcu_priv->ref, wf_fcu_release); in wf_fcu_fan_release() 83 kfree(fan); in wf_fcu_fan_release() 146 struct wf_fcu_fan *fan = ct->priv; in wf_fcu_fan_set_rpm() local 147 struct wf_fcu_priv *pv = fan->fcu_priv; in wf_fcu_fan_set_rpm() 151 if (value < fan->min) in wf_fcu_fan_set_rpm() 152 value = fan->min; in wf_fcu_fan_set_rpm() 153 if (value > fan->max) in wf_fcu_fan_set_rpm() 154 value = fan->max; in wf_fcu_fan_set_rpm() 156 fan->target = value; in wf_fcu_fan_set_rpm() [all …]
|
/openbmc/openbmc/meta-ibm/recipes-phosphor/fans/ |
H A D | phosphor-fan_%.bbappend | 19 COOLING_ENV_FMT = "obmc/phosphor-fan/phosphor-cooling-type-{0}.conf" 24 SYSTEMD_OVERRIDE:phosphor-fan-control:witherspoon += "fan-watchdog-monitor.conf:phosphor-fan-control-init@0.service.d/fan-watchdog-monitor.conf" 25 SYSTEMD_OVERRIDE:phosphor-fan-control:witherspoon += "fan-watchdog-monitor.conf:phosphor-fan-control@0.service.d/fan-watchdog-monitor.conf" 26 SYSTEMD_OVERRIDE:phosphor-fan [all...] |
/openbmc/linux/drivers/platform/x86/ |
H A D | gpd-pocket-fan.c | 55 static void gpd_pocket_fan_set_speed(struct gpd_pocket_fan_data *fan, int speed) in gpd_pocket_fan_set_speed() argument 57 if (speed == fan->last_speed) in gpd_pocket_fan_set_speed() 60 gpiod_direction_output(fan->gpio0, !!(speed & 1)); in gpd_pocket_fan_set_speed() 61 gpiod_direction_output(fan->gpio1, !!(speed & 2)); in gpd_pocket_fan_set_speed() 63 fan->last_speed = speed; in gpd_pocket_fan_set_speed() 76 struct gpd_pocket_fan_data *fan = in gpd_pocket_fan_worker() local 80 if (thermal_zone_get_temp(fan->dts0, &t0) || in gpd_pocket_fan_worker() 81 thermal_zone_get_temp(fan->dts1, &t1)) { in gpd_pocket_fan_worker() 82 dev_warn(fan->dev, "Error getting temperature\n"); in gpd_pocket_fan_worker() 89 speed = fan->last_speed; in gpd_pocket_fan_worker() [all …]
|
/openbmc/linux/drivers/gpu/drm/nouveau/nvkm/subdev/therm/ |
H A D | fantog.c | 39 nvkm_fantog_update(struct nvkm_fantog *fan, int percent) in nvkm_fantog_update() argument 41 struct nvkm_therm *therm = fan->base.parent; in nvkm_fantog_update() 48 spin_lock_irqsave(&fan->lock, flags); in nvkm_fantog_update() 50 percent = fan->percent; in nvkm_fantog_update() 51 fan->percent = percent; in nvkm_fantog_update() 57 u64 next_change = (percent * fan->period_us) / 100; in nvkm_fantog_update() 59 next_change = fan->period_us - next_change; in nvkm_fantog_update() 60 nvkm_timer_alarm(tmr, next_change * 1000, &fan->alarm); in nvkm_fantog_update() 62 spin_unlock_irqrestore(&fan->lock, flags); in nvkm_fantog_update() 68 struct nvkm_fantog *fan = in nvkm_fantog_alarm() local [all …]
|
H A D | fan.c | 32 nvkm_fan_update(struct nvkm_fan *fan, bool immediate, int target) in nvkm_fan_update() argument 34 struct nvkm_therm *therm = fan->parent; in nvkm_fan_update() 42 spin_lock_irqsave(&fan->lock, flags); in nvkm_fan_update() 44 target = fan->percent; in nvkm_fan_update() 45 target = max_t(u8, target, fan->bios.min_duty); in nvkm_fan_update() 46 target = min_t(u8, target, fan->bios.max_duty); in nvkm_fan_update() 47 if (fan->percent != target) { in nvkm_fan_update() 49 fan->percent = target; in nvkm_fan_update() 53 duty = fan->get(therm); in nvkm_fan_update() 55 spin_unlock_irqrestore(&fan->lock, flags); in nvkm_fan_update() [all …]
|
H A D | fanpwm.c | 40 struct nvkm_fanpwm *fan = (void *)therm->fan; in nvkm_fanpwm_get() local 47 ret = therm->func->pwm_get(therm, fan->func.line, &divs, &duty); in nvkm_fanpwm_get() 50 if (card_type <= NV_40 || (fan->func.log[0] & 1)) in nvkm_fanpwm_get() 55 return nvkm_gpio_get(gpio, 0, fan->func.func, fan->func.line) * 100; in nvkm_fanpwm_get() 61 struct nvkm_fanpwm *fan = (void *)therm->fan; in nvkm_fanpwm_set() local 66 divs = fan->base.perf.pwm_divisor; in nvkm_fanpwm_set() 67 if (fan->base.bios.pwm_freq) { in nvkm_fanpwm_set() 70 divs = therm->func->pwm_clock(therm, fan->func.line); in nvkm_fanpwm_set() 71 divs /= fan->base.bios.pwm_freq; in nvkm_fanpwm_set() 75 if (card_type <= NV_40 || (fan->func.log[0] & 1)) in nvkm_fanpwm_set() [all …]
|
/openbmc/linux/drivers/hwmon/ |
H A D | mlxreg-fan.c | 86 struct mlxreg_fan *fan; member 123 struct mlxreg_fan *fan = dev_get_drvdata(dev); in mlxreg_fan_read() local 131 tacho = &fan->tacho[channel]; in mlxreg_fan_read() 138 if (tacho->prsnt && fan->tachos_per_drwr) { in mlxreg_fan_read() 139 err = regmap_read(fan->regmap, tacho->prsnt, ®val); in mlxreg_fan_read() 147 if (BIT(channel / fan->tachos_per_drwr) & regval) { in mlxreg_fan_read() 154 err = regmap_read(fan->regmap, tacho->reg, ®val); in mlxreg_fan_read() 164 *val = MLXREG_FAN_GET_RPM(regval, fan->divider, in mlxreg_fan_read() 165 fan->samples); in mlxreg_fan_read() 169 err = regmap_read(fan->regmap, tacho->reg, ®val); in mlxreg_fan_read() [all …]
|
/openbmc/linux/drivers/acpi/ |
H A D | fan_core.c | 33 struct acpi_fan *fan = acpi_driver_data(device); in fan_get_max_state() local 35 if (fan->acpi4) { in fan_get_max_state() 36 if (fan->fif.fine_grain_ctrl) in fan_get_max_state() 37 *state = 100 / fan->fif.step_size; in fan_get_max_state() 39 *state = fan->fps_count - 1; in fan_get_max_state() 80 struct acpi_fan *fan = acpi_driver_data(device); in fan_get_state_acpi4() local 88 if (fan->fif.fine_grain_ctrl) { in fan_get_state_acpi4() 95 *state = (int) fst.control / fan->fif.step_size; in fan_get_state_acpi4() 100 for (i = 0; i < fan->fps_count; i++) { in fan_get_state_acpi4() 101 if (fst.control == fan->fps[i].control) in fan_get_state_acpi4() [all …]
|
H A D | fan_attr.c | 68 struct acpi_fan *fan = acpi_driver_data(acpi_dev); in show_fine_grain_control() local 70 return sprintf(buf, "%d\n", fan->fif.fine_grain_ctrl); in show_fine_grain_control() 75 struct acpi_fan *fan = acpi_driver_data(device); in acpi_fan_create_attributes() local 78 sysfs_attr_init(&fan->fine_grain_control.attr); in acpi_fan_create_attributes() 79 fan->fine_grain_control.show = show_fine_grain_control; in acpi_fan_create_attributes() 80 fan->fine_grain_control.store = NULL; in acpi_fan_create_attributes() 81 fan->fine_grain_control.attr.name = "fine_grain_control"; in acpi_fan_create_attributes() 82 fan->fine_grain_control.attr.mode = 0444; in acpi_fan_create_attributes() 83 status = sysfs_create_file(&device->dev.kobj, &fan->fine_grain_control.attr); in acpi_fan_create_attributes() 88 sysfs_attr_init(&fan->fst_speed.attr); in acpi_fan_create_attributes() [all …]
|
/openbmc/linux/arch/arm/boot/dts/aspeed/ |
H A D | aspeed-bmc-amd-daytonax.dts | 231 fan@0 { 233 aspeed,fan-tach-ch = /bits/ 8 <0x00>; 236 fan@1 { 238 aspeed,fan-tach-ch = /bits/ 8 <0x01>; 241 fan@2 { 243 aspeed,fan-tach-ch = /bits/ 8 <0x02>; 246 fan@3 { 248 aspeed,fan-tach-ch = /bits/ 8 <0x03>; 251 fan@4 { 253 aspeed,fan-tach-ch = /bits/ 8 <0x04>; [all …]
|
H A D | aspeed-bmc-lenovo-hr855xg2.dts | 340 fan@0 { 342 aspeed,fan-tach-ch = /bits/ 8 <0x00>; 345 fan@1 { 347 aspeed,fan-tach-ch = /bits/ 8 <0x01>; 350 fan@2 { 352 aspeed,fan-tach-ch = /bits/ 8 <0x02>; 355 fan@3 { 357 aspeed,fan-tach-ch = /bits/ 8 <0x03>; 360 fan@4 { 362 aspeed,fan-tach-ch = /bits/ 8 <0x04>; [all …]
|
/openbmc/linux/drivers/gpu/drm/nouveau/nvkm/subdev/bios/ |
H A D | fan.c | 32 u32 fan = 0; in nvbios_fan_table() local 36 fan = nvbios_rd32(bios, bit_P.offset + 0x58); in nvbios_fan_table() 38 if (fan) { in nvbios_fan_table() 39 *ver = nvbios_rd08(bios, fan + 0); in nvbios_fan_table() 42 *hdr = nvbios_rd08(bios, fan + 1); in nvbios_fan_table() 43 *len = nvbios_rd08(bios, fan + 2); in nvbios_fan_table() 44 *cnt = nvbios_rd08(bios, fan + 3); in nvbios_fan_table() 45 return fan; in nvbios_fan_table() 66 nvbios_fan_parse(struct nvkm_bios *bios, struct nvbios_therm_fan *fan) in nvbios_fan_parse() argument 75 fan->type = NVBIOS_THERM_FAN_TOGGLE; in nvbios_fan_parse() [all …]
|
H A D | therm.c | 153 nvbios_therm_fan_parse(struct nvkm_bios *bios, struct nvbios_therm_fan *fan) in nvbios_therm_fan_parse() argument 163 fan->nr_fan_trip = 0; in nvbios_therm_fan_parse() 164 fan->fan_mode = NVBIOS_THERM_FAN_OTHER; in nvbios_therm_fan_parse() 170 fan->min_duty = value & 0xff; in nvbios_therm_fan_parse() 171 fan->max_duty = (value & 0xff00) >> 8; in nvbios_therm_fan_parse() 174 fan->nr_fan_trip++; in nvbios_therm_fan_parse() 175 if (fan->fan_mode > NVBIOS_THERM_FAN_TRIP) in nvbios_therm_fan_parse() 176 fan->fan_mode = NVBIOS_THERM_FAN_TRIP; in nvbios_therm_fan_parse() 177 cur_trip = &fan->trip[fan->nr_fan_trip - 1]; in nvbios_therm_fan_parse() 183 cur_trip = &fan->trip[fan->nr_fan_trip - 1]; in nvbios_therm_fan_parse() [all …]
|
/openbmc/linux/Documentation/devicetree/bindings/hwmon/pmbus/ |
H A D | max31785.txt | 20 fan presence (the 'installed' bit of FAN_CONFIG_*). 35 - compatible : Must be "pmbus-fan" 38 - maxim,fan-rotor-input : The type of rotor measurement provided to the 41 - maxim,fan-lock-polarity: Required iff maxim,fan-rotor-input is "lock". Valid 46 - fan-mode : "rpm" or "pwm". Default value is "pwm". 51 - maxim,fan-no-fault-ramp: Do not ramp the fan to 100% PWM duty on detecting a 52 fan fault 53 - maxim,fan-startup : The number of rotations required before taking 54 emergency action for an unresponsive fan and driving 56 of maxim,fan-no-fault-ramp. Valid values are 0 [all …]
|
/openbmc/linux/Documentation/devicetree/bindings/hwmon/ |
H A D | npcm750-pwm-fan.txt | 9 Required properties for pwm-fan node 12 - compatible : "nuvoton,npcm750-pwm-fan" for Poleg NPCM7XX. 13 : "nuvoton,npcm845-pwm-fan" for Arbel NPCM8XX. 17 * "fan" for the Fan registers. 21 * "fan" for Fan controller operating clock. 27 fan subnode format: 29 Under fan subnode can be upto 8 child nodes, each child node representing a fan. 30 Each fan subnode must have one PWM channel and at least one Fan tach channel. 40 - fan-tach-ch : specify the Fan tach input channel. 42 the fan tach channel number that used. [all …]
|
H A D | max6650.txt | 1 Bindings for MAX6651 and MAX6650 I2C fan controllers 11 - maxim,fan-microvolt : The supply voltage of the fan, either 5000000 uV or 13 - maxim,fan-prescale : Pre-scaling value, as per datasheet [1]. Lower values 16 - maxim,fan-target-rpm: Initial requested fan rotation speed. If specified, the 18 This ensures the fan is already running before userspace 22 fan-max6650: max6650@1b { 25 maxim,fan-microvolt = <12000000>; 26 maxim,fan-prescale = <4>; 27 maxim,fan-target-rpm = <1200>;
|
/openbmc/linux/Documentation/hwmon/ |
H A D | g762.rst | 4 The GMT G762 Fan Speed PWM Controller is connected directly to a fan 5 and performs closed-loop or open-loop control of the fan speed. Two 19 fan revolution, ...); Those can be modified via devicetree bindings 25 set desired fan speed. This only makes sense in closed-loop 26 fan speed control (i.e. when pwm1_enable is set to 2). 29 provide current fan rotation value in RPM as reported by 30 the fan to the device. 33 fan clock divisor. Supported value are 1, 2, 4 and 8. 36 number of pulses per fan revolution. Supported values 40 reports fan failure, i.e. no transition on fan gear pin for [all …]
|
H A D | dell-smm-hwmon.rst | 18 automatically adjust fan speed (please notice that it currently uses 35 fan[1-3]_input RO Fan speed in RPM. 36 fan[1-3]_label RO Fan label. 37 fan[1-3]_min RO Minimal Fan speed in RPM 38 fan[1-3]_max RO Maximal Fan speed in RPM 39 fan[1-3]_target RO Expected Fan speed in RPM 40 pwm[1-3] RW Control the fan PWM duty-cycle. 41 pwm1_enable WO Enable or disable automatic BIOS fan 50 fan number X. 52 Disabling automatic BIOS fan control [all …]
|
H A D | max31790.rst | 23 PWM outputs. The desired fan speeds (or PWM duty cycles) are written 25 or can be used to modulate the fan's power terminals using an external 28 Tachometer inputs monitor fan tachometer logic outputs for precise (+/-1%) 29 monitoring and control of fan RPM as well as detection of fan failure. 38 fan[1-12]_input RO fan tachometer speed in RPM 39 fan[1-12]_fault RO fan experienced fault 40 fan[1-6]_target RW desired fan speed in RPM 41 fan[1-6]_enable RW enable or disable the tachometer input
|
/openbmc/openbmc/meta-phosphor/recipes-phosphor/fans/ |
H A D | phosphor-fan_git.bb | 2 DESCRIPTION = "Phosphor fan provides a set of fan monitoring and \ 24 virtual/phosphor-fan-presence-config \ 36 virtual/phosphor-fan-control-fan-config \ 37 phosphor-fan-control-zone-config \ 38 phosphor-fan-control-events-config \ 39 phosphor-fan-control-zone-conditions-config \ 48 phosphor-fan-monitor-config \ 66 # openbmc/phosphor-fan-presence#26 is resolved. This should likely be 79 # YAML: Linked to fans-ready and fan control-init poweron 89 # JSON: power on and multi-user links. YAML: fans-ready and fan monitor init links [all …]
|
/openbmc/phosphor-fan-presence/monitor/ |
H A D | json_parser.cpp | 36 namespace phosphor::fan::monitor namespace 199 for (const auto& fan : obj["fans"]) in getFanDefs() local 201 if (!fan.contains("inventory") || !fan.contains("deviation") || in getFanDefs() 202 !fan.contains("sensors")) in getFanDefs() 213 auto deviation = fan["deviation"].get<size_t>(); in getFanDefs() 227 if (fan.contains("upper_deviation")) in getFanDefs() 229 upperDeviation = fan["upper_deviation"].get<size_t>(); in getFanDefs() 243 auto sensorDefs = getSensorDefs(fan["sensors"]); in getFanDefs() 247 if (fan.contains("functional_delay")) in getFanDefs() 249 funcDelay = fan["functional_delay"].get<size_t>(); in getFanDefs() [all …]
|
H A D | system.cpp | 41 namespace phosphor::fan::monitor namespace 111 catch (const phosphor::fan::NoConfigFound&) in load() 141 for (const auto& fan : _fans) in subscribeSensorsToServices() local 143 for (const auto& sensor : fan->sensors()) in subscribeSensorsToServices() 159 for (const auto& fan : _fans) in subscribeSensorsToServices() local 162 for (const auto& sensor : fan->sensors()) in subscribeSensorsToServices() 323 void System::updateFanHealth(const Fan& fan) in updateFanHealth() argument 326 for (const auto& sensor : fan.sensors()) in updateFanHealth() 331 _fanHealth[fan.getName()] = in updateFanHealth() 332 std::make_tuple(fan.present(), std::move(sensorStatus)); in updateFanHealth() [all …]
|
/openbmc/phosphor-fan-presence/docs/control/fanctl/ |
H A D | README.md | 3 A tool that enables a user to view the status of a system in regard to fan 6 the phosphor-fan-presence repository set of fan applications (i.e. romulus, 8 set of BMC fan applications. 12 The intention of this tool is to temporarily stop the automatic fan control 15 fans, the resume operation re-enables and restarts the phosphor-fan-control 17 along with the the main system states and fan control systemd service, while the 21 Note: In the case where a system does not have an active fan control algorithm 22 enabled yet, an intended safe fan target should be set prior to resuming. 28 fanctl - Manually control, get fan tachs, view status, reload config, 41 - Get the current fan target and feedback speeds for all rotors [all …]
|
/openbmc/phosphor-fan-presence/control/ |
H A D | main.cpp | 39 using namespace phosphor::fan::control; 46 phosphor::fan::control::json::FlightRecorder::instance().dump(data); in dumpFlightRecorder() 54 auto event = phosphor::fan::util::SDEventPlus::getEvent(); in main() 87 phosphor::fan::util::SDBusPlus::getBus().attach_event( in main() 93 phosphor::fan::control::json::FlightRecorder::instance().log( in main() 98 phosphor::fan::JsonConfig config( in main() 115 phosphor::fan::util::SDBusPlus::getBus().request_name(CONTROL_BUSNAME); in main() 117 Manager manager(phosphor::fan::util::SDBusPlus::getBus(), event, mode); in main() 130 catch (const phosphor::fan::util::DBusServiceError& e) in main() 136 catch (const phosphor::fan::util::DBusMethodError& e) in main() [all …]
|