/openbmc/linux/drivers/leds/ |
H A D | leds-el15203000.c | 1 // SPDX-License-Identifier: GPL-2.0 14 * +-----+---------+ 15 * | LED | COMMAND | 16 * +-----+---------+ 18 * +-----+---------+ 22 * +----------+--------------+-------------------------------------------+ 24 * +----------+--------------+-------------------------------------------+ 26 * +----------+--------------+-------------------------------------------+ 28 * +----------+--------------+-------------------------------------------+ 30 * +----------+--------------+-------------------------------------------+ [all …]
|
H A D | leds-cht-wcove.c | 1 // SPDX-License-Identifier: GPL-2.0 30 #define CHT_WC_LED1_SWCTL BIT(0) /* HW or SW control of charging led */ 34 #define CHT_WC_LED_I_MA2_5 (2 << 2) /* LED current limit */ 35 #define CHT_WC_LED_I_MASK GENMASK(3, 2) /* LED current limit mask */ 56 /* Mask + values for turning the LED on/off */ 109 struct cht_wc_led *led = container_of(cdev, struct cht_wc_led, cdev); in cht_wc_leds_brightness_set() local 112 mutex_lock(&led->mutex); in cht_wc_leds_brightness_set() 115 ret = regmap_update_bits(led->regmap, led->regs->ctrl, in cht_wc_leds_brightness_set() 116 led->regs->on_off_mask, led->regs->off_val); in cht_wc_leds_brightness_set() 118 dev_err(cdev->dev, "Failed to turn off: %d\n", ret); in cht_wc_leds_brightness_set() [all …]
|
H A D | leds-sc27xx-bltc.c | 1 // SPDX-License-Identifier: GPL-2.0 84 return leds->priv->base + SC27XX_LEDS_OFFSET * leds->line; in sc27xx_led_get_offset() 90 u32 ctrl_base = leds->priv->base + SC27XX_LEDS_CTRL; in sc27xx_led_enable() 91 u8 ctrl_shift = SC27XX_CTRL_SHIFT * leds->line; in sc27xx_led_enable() 92 struct regmap *regmap = leds->priv->regmap; in sc27xx_led_enable() 109 struct regmap *regmap = leds->priv->regmap; in sc27xx_led_disable() 110 u32 ctrl_base = leds->priv->base + SC27XX_LEDS_CTRL; in sc27xx_led_disable() 111 u8 ctrl_shift = SC27XX_CTRL_SHIFT * leds->line; in sc27xx_led_disable() 122 mutex_lock(&leds->priv->lock); in sc27xx_led_set() 129 mutex_unlock(&leds->priv->lock); in sc27xx_led_set() [all …]
|
H A D | leds-spi-byte.c | 1 // SPDX-License-Identifier: GPL-2.0 2 // Copyright (c) 2019 Christian Mauderer <oss@c-mauderer.de> 6 * - one LED is controlled by a single byte on MOSI 7 * - the value of the byte gives the brightness between two values (lowest to 9 * - no return value is necessary (no MISO signal) 15 * - "ubnt,acb-spi-led": Microcontroller (SONiX 8F26E611LA) based device used 19 * * Mode: 00 -> set brightness between 0x00 (min) and 0x3F (max) 20 * * Mode: 01 -> pulsing pattern (min -> max -> min) with an interval. From 22 * slightly different pattern starting from 0x10 (longer gap between the 24 * * Mode: 10 -> same as 01 but with only a ramp from min to max. Again a [all …]
|
H A D | leds-lm3533.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * leds-lm3533.c -- LM3533 LED driver 5 * Copyright (C) 2011-2012 Texas Instruments 59 static inline int lm3533_led_get_ctrlbank_id(struct lm3533_led *led) in lm3533_led_get_ctrlbank_id() argument 61 return led->id + 2; in lm3533_led_get_ctrlbank_id() 64 static inline u8 lm3533_led_get_lv_reg(struct lm3533_led *led, u8 base) in lm3533_led_get_lv_reg() argument 66 return base + led->id; in lm3533_led_get_lv_reg() 69 static inline u8 lm3533_led_get_pattern(struct lm3533_led *led) in lm3533_led_get_pattern() argument 71 return led->id; in lm3533_led_get_pattern() 74 static inline u8 lm3533_led_get_pattern_reg(struct lm3533_led *led, in lm3533_led_get_pattern_reg() argument [all …]
|
H A D | led-core.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * LED Class Core 5 * Copyright 2005-2006 Openedhand Ltd. 44 if (!led_cdev->brightness_set) in __led_set_brightness() 45 return -ENOTSUPP; in __led_set_brightness() 47 led_cdev->brightness_set(led_cdev, value); in __led_set_brightness() 54 if (!led_cdev->brightness_set_blocking) in __led_set_brightness_blocking() 55 return -ENOTSUPP; in __led_set_brightness_blocking() 57 return led_cdev->brightness_set_blocking(led_cdev, value); in __led_set_brightness_blocking() 66 if (!led_cdev->blink_delay_on || !led_cdev->blink_delay_off) { in led_timer_function() [all …]
|
H A D | leds-lp8501.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * TI LP8501 9 channel LED Driver 18 #include <linux/platform_data/leds-lp55xx.h> 21 #include "leds-lp55xx-common.h" 83 static void lp8501_set_led_current(struct lp55xx_led *led, u8 led_current) in lp8501_set_led_current() argument 85 led->led_current = led_current; in lp8501_set_led_current() 86 lp55xx_write(led->chip, LP8501_REG_LED_CURRENT_BASE + led->chan_nr, in lp8501_set_led_current() 99 /* Chip startup time is 500 us, 1 - 2 ms gives some margin */ in lp8501_post_init_device() 102 if (chip->pdata->clock_mode != LP55XX_CLOCK_EXT) in lp8501_post_init_device() 105 val |= (chip->pdata->charge_pump_mode << LP8501_CP_MODE_SHIFT) & LP8501_CP_MODE_MASK; in lp8501_post_init_device() [all …]
|
H A D | leds-lp5523.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * lp5523.c - LP5523, LP55231 LED Driver 19 #include <linux/platform_data/leds-lp55xx.h> 22 #include "leds-lp55xx-common.h" 107 #define LED_ACTIVE(mux, led) (!!(mux & (0x0001 << led))) argument 121 static void lp5523_set_led_current(struct lp55xx_led *led, u8 led_current) in lp5523_set_led_current() argument 123 led->led_current = led_current; in lp5523_set_led_current() 124 lp55xx_write(led->chip, LP5523_REG_LED_CURRENT_BASE + led->chan_nr, in lp5523_set_led_current() 137 /* Chip startup time is 500 us, 1 - 2 ms gives some margin */ in lp5523_post_init_device() 141 val |= (chip->pdata->charge_pump_mode << LP5523_CP_MODE_SHIFT) & LP5523_CP_MODE_MASK; in lp5523_post_init_device() [all …]
|
/openbmc/linux/Documentation/devicetree/bindings/leds/ |
H A D | common.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Jacek Anaszewski <jacek.anaszewski@gmail.com> 11 - Pavel Machek <pavel@ucw.cz> 14 LED and flash LED devices provide the same basic functionality as current 15 regulators, but extended with LED and flash LED specific features like 18 Many LED devices expose more than one current output that can be connected 19 to one or more discrete LED component. Since the arrangement of connections 20 can influence the way of the LED device initialization, the LED components [all …]
|
H A D | leds-el15203000.txt | 1 Crane Merchandising System - EL15203000 LED driver 2 -------------------------------------------------- 4 This LED Board (aka RED LEDs board) is widely used in 9 Vending area LED encoded with symbol 'V' (hex code 0x56). 10 Doesn't have any hardware blinking pattern. 12 Screen light tube LED which surrounds vending machine screen and 13 encoded with symbol 'S' (hex code 0x53). Supports blinking breathing pattern. 15 Water Pipe LED encoded with symbol 'P' (hex code 0x50) and 16 actually consists of 5 LEDs that exposed by protocol like one LED. 18 - cascade pattern [all …]
|
H A D | leds-trigger-pattern.txt | 1 * Pattern format for LED pattern trigger 3 The pattern is given by a series of tuples, of brightness and duration (ms). 4 The LED is expected to traverse the series and each brightness value for the 6 new value, and writing malformed pattern deactivates any active one. 13 The gradual dimming format of the software pattern values should be: 17 echo 0 1000 255 2000 > pattern 19 It will make the LED go gradually from zero-intensity to max (255) intensity in 22 LED brightness 24 255-| / \ / \ / 28 0-| / \/ \/ [all …]
|
/openbmc/linux/Documentation/leds/ |
H A D | leds-mt6370-rgb.rst | 1 .. SPDX-License-Identifier: GPL-2.0 4 The device for Mediatek MT6370 RGB LED 8 ----------- 10 The MT6370 integrates a four-channel RGB LED driver, designed to provide a 11 variety of lighting effect for mobile device applications. The RGB LED devices 12 includes a smart LED string controller and it can drive 3 channels of LEDs with 13 a sink current up to 24mA and a CHG_VIN power good indicator LED with sink 15 PWM Dimming mode, breath pattern mode, and constant current mode. The device 16 can increase or decrease the brightness of the RGB LED via an I2C interface. 18 The breath pattern for a channel can be programmed using the "pattern" trigger, [all …]
|
H A D | leds-lp55xx.rst | 8 ----------- 13 Create LED class devices for multiple output channels 14 Device attributes for user-space interface 15 Program memory for running LED patterns 28 control multi output LED channels such as led current, channel index. 32 For example, LP5521 has maximum 3 LED channels. 50 - Maximum number of channels 51 - Reset command, chip enable command 52 - Chip specific initialization 53 - Brightness control register access [all …]
|
H A D | leds-qcom-lpg.rst | 1 .. SPDX-License-Identifier: GPL-2.0 8 ----------- 11 number of PWM channels, a programmable pattern lookup table and a RGB LED 23 deeper idle states the LPG provides pattern support. This consists of a shared 25 range within the table to use, the rate and if the pattern should repeat. 27 The pattern for a channel can be programmed using the "pattern" trigger, using 30 /sys/class/leds/<led>/hw_pattern 31 -------------------------------- 33 Specify a hardware pattern for a Qualcomm LPG LED. 35 The pattern is a series of brightness and hold-time pairs, with the hold-time [all …]
|
H A D | leds-sc27xx.rst | 1 .. SPDX-License-Identifier: GPL-2.0 7 /sys/class/leds/<led>/hw_pattern 8 -------------------------------- 10 Specify a hardware pattern for the SC27XX LED. For the SC27XX 11 LED controller, it only supports 4 stages to make a single 12 hardware pattern, which is used to configure the rise time, 15 For the breathing mode, the SC27XX LED only expects one brightness 16 for the high stage. To be compatible with the hardware pattern 20 - Min stage duration: 125 ms 21 - Max stage duration: 31875 ms [all …]
|
H A D | leds-lm3556.rst | 6 1.5 A Synchronous Boost LED Flash Driver w/ High-Side Current Source 10 - Daniel Jeong 12 Contact:Daniel Jeong(daniel.jeong-at-ti.com, gshark.jeong-at-gmail.com) 15 ----------- 21 In Flash Mode, the LED current source(LED) provides 16 target current levels 50 In Torch Mode, the current source(LED) is programmed via the CURRENT CONTROL 77 Indicator pattern can be set through /sys/class/leds/indicator/pattern file, 78 and 4 patterns are pre-defined in indicator_pattern array. 80 According to N-lank, Pulse time and N Period values, different pattern wiill 84 Please refer datasheet for more detail about N-Blank, Pulse time and N Period. [all …]
|
/openbmc/linux/Documentation/ABI/testing/ |
H A D | sysfs-class-led-trigger-pattern | 1 What: /sys/class/leds/<led>/pattern 5 Specify a software pattern for the LED, that supports altering 9 The pattern is given by a series of tuples, of brightness and 13 Documentation/devicetree/bindings/leds/leds-trigger-pattern.txt 15 What: /sys/class/leds/<led>/hw_pattern 19 Specify a hardware pattern for the LED, for LED hardware that 22 software pattern. 24 Since different LED hardware can have different semantics of 29 What: /sys/class/leds/<led>/repeat 33 Specify a pattern repeat number. -1 means repeat indefinitely, [all …]
|
/openbmc/linux/drivers/leds/rgb/ |
H A D | leds-qcom-lpg.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (c) 2017-2022 Linaro Ltd 4 * Copyright (c) 2010-2012, The Linux Foundation. All rights reserved. 9 #include <linux/led-class-multicolor.h> 40 #define PWM_DTEST_REG(x) (0xe2 + (x) - 1) 58 * struct lpg - LPG device context 61 * @lock: used to synchronize LED and pwm callback requests 62 * @pwm: PWM-chip object, if operating in PWM mode 68 * @triled_src: power-source for the TRILED 98 * struct lpg_channel - per channel data [all …]
|
H A D | leds-mt6370-rgb.c | 1 // SPDX-License-Identifier: GPL-2.0-only 14 #include <linux/led-class-multicolor.h> 110 #define MT6370_CHEN_BIT(id) BIT(MT6370_LED_ISNK4 - id) 113 #define MT6370_PWM_DUTY (BIT(5) - 1) 114 #define MT6372_PWM_DUTY (BIT(8) - 1) 118 * If the color of the LED in DT is set to 119 * - 'LED_COLOR_ID_RGB' 120 * - 'LED_COLOR_ID_MULTI' 123 * If so, this LED will choose 'struct led_classdev_mc mc' to use. 125 * 'MT6370_LED_ISNK1' ~ 'MT6370_LED_ISNK4', then this LED will choose [all …]
|
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 6 tristate "LEDs group multi-color support" 11 different colors are physically grouped in a single multi-color LED 12 and driven by a controller that doesn't have multi-color support. 15 will be called leds-group-multicolor. 18 tristate "PWM driven multi-color LED Support" 25 will be called leds-pwm-multicolor. 28 tristate "LED support for Qualcomm LPG" 35 channels and typically a shared pattern lookup table and a current 37 a LED, grouped to represent a RGB LED or exposed as PWM channels. [all …]
|
/openbmc/docs/designs/ |
H A D | device-tree-gpio-naming.md | 12 subsystem. The replacement is a "descriptor-based" character device interface. 25 specific field used to name the GPIOs in the DTS is `gpio-line-names`. This 29 scheme in the face of a universe of potential use-cases. 37 - Ensure common function GPIOs within OpenBMC use the same naming convention 41 Below are the standard categories. The "Pattern" in each section describes the 52 Pattern: `*-button` 55 BMC-less machines use a button to trigger system behavior and in a BMC-managed 59 #### power-button 66 Pattern: 68 - `host*-ready`: Host ready, active high [all …]
|
/openbmc/linux/include/linux/ |
H A D | leds.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * Driver model for leds and led triggers 11 #include <dt-bindings/leds/common.h> 29 * LED Core 47 * struct led_lookup_data - represents a single LED lookup entry 49 * @list: internal list of all LED lookup entries 50 * @provider: name of led_classdev providing the LED 51 * @dev_id: name of the device associated with this LED 52 * @con_id: name of the LED from the device's point of view 66 * with in-driver hard-coded LED names used as a fallback when [all …]
|
/openbmc/linux/include/linux/mfd/ |
H A D | max8997.h | 1 /* SPDX-License-Identifier: GPL-2.0+ */ 3 * max8997.h - Driver for the Maxim 8997/8966 5 * Copyright (C) 2009-2010 Samsung Electrnoics 120 * @internal_mode_pattern: internal mode pattern for internal mode 121 * [0 - 3]: valid pattern number 123 * for the internal mode pattern 124 * [0 - 15]: available cycles 125 * @pattern_signal_period: period of the waveform for the internal mode pattern 126 * [0 - 255]: available period 150 * The number of LED devices for MAX8997 is two [all …]
|
/openbmc/linux/drivers/leds/trigger/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 3 bool "LED Trigger support" 13 tristate "LED Timer Trigger" 16 via sysfs. Some LED hardware can be programmed to start 17 blinking the LED without any further software interaction. 18 For more details read Documentation/leds/leds-class.rst. 23 tristate "LED One-shot Trigger" 25 This allows LEDs to blink in one-shot pulses with parameters 28 or on dense events, where this blinks the LED at constant rate if 36 bool "LED Disk Trigger" [all …]
|
/openbmc/linux/include/linux/platform_data/ |
H A D | leds-lp55xx.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 9 * Derived from leds-lp5521.h, leds-lp5523.h 16 #include <linux/led-class-multicolor.h> 29 u8 led_current; /* mA x10, 0 if led is not connected */ 55 * @led_config : Configurable led class device 56 * @num_channels : Number of LED channels 62 * @patterns : Predefined pattern data for RGB channels 68 /* LED channel configuration */ 82 /* Predefined pattern data */
|