
© 2011 SAMSUNG Electronics Co.Charger-Manager:Aggregating Chargers, Fuel-Gauges, and BatteriesMyungJoo [email protected] Electronics
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Polling at Kernel’s “Charger Manager”? Why?What if user land processes poll
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Q2: Why SupportMultiple Chargers withCharger Manager?
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Do We Have Multiple Chargers?Yes, we do have. And, will have more in the de
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Why Support It At Kernel’s Charger Manager?The products in the images are n
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Why Support It At Kernel’s Charger Manager?The products in the images are n
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Why Support It At Kernel’s Charger Manager?The products in the images are n
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Q3: Why SupportMultiple Batteries at a Devicewith Charger Manager
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Multiple Batteries at a DeviceWHY NOT?Although it is rare…… yet…- A backup
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Multiple Batteries at a DeviceWHY NOT?Although it is rare…… yet…- Easy to s
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Q4: WhyAggregate Information fromMultiple Chargers?
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.TopicsMotivationThe Why Questions 1 to 4DesignGeneral IssuesAppendixRelated
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Information Spread All Over the SYSFS PlacesFor a battery X, we have charge
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Information Spread All Over the SYSFS PlacesFor a battery X, we have charge
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Charger-Manager Design
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Design: System LayoutThe Platform (a board)“Platform” represents H/W config
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Design: Allow multiple batteries.The Platform (a board)Charger-Manager:0 (B
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Design: Fuel-Gauge• Provide a Power-Supply-Class name that supports- PRESEN
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Design: Information for UserlandThe Platform (a board)Charger-Manager:0 (Ba
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Design: Allow multiple chargers per battery.The Platform (a board)Charger-M
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Design: Chargers• Provide a regulator- With REGULATOR_CHANGE_STATUS flag en
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Design: In-suspend MonitoringThe Platform (a board)Charger-Manager:0 (Batte
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.What are we doing with Charger Manager?• Monitor the charger/battery health
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Design: In-suspend MonitoringThe Platform (a board)Charger-Manager:0 (Batte
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Design: RTC• Provide an RTC device name- E.g., “rtc0”- Supports ALARM set,
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Design: HWMONThe Platform (a board)Charger-Manager:0 (Battery #0)Charger #0
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Design: HWMON (RFC)• Candidate 1: Supply a callback (current implementation
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Design: In-suspend Monitoring: Suspend_AgainPlatform Ops’s suspend_again ca
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Design: Monitoring in Running StateCM_MONITORbatt = the first battery;Monit
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Design: Interrupt/Event Handling• Interrupt/Event Handling- Provide IRQ num
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.More Detail in Appendix• Interface for board files (platform files)- Global
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.General Issuesin implementingcharger-related drivers
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.General IssuesCaution: JIG- Do NOT use JIG power when charger is tested• E.
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Q1: WhyPolling BatteriesWhile Suspended & ChargingAt Kernel(thus, crea
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.General IssuesPMIC Drivers- Battery “PRESENT” information from MAX8998/8997
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.General IssuesMeasuring Charger Current- Some fuel gauges (such as MAX17042
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.General IssuesReading values from related devices- I2C subsystem cannot be
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Thank You!1. Related Framework2. The Interface in Detail3. Usage Example4.
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Appendix: Related Framework
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Related Framework1. PSC (Power-Supply-Class)2. Regulator framework (usually
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Related Framework: Power Supply ClassPower Supply Class• Kernel documents-
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Related Framework: RegulatorRegulator Framework• SPS documents- Link: Syste
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Related Framework: UEVENTUEVENT Notify• Kernel documents- Link: Documentati
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Related Framework: Suspend_Again (platform_suspend_ops)suspend_again callba
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Polling Batteries? Why?Do NOT charge if it’s too HOT or too COLD.Or, get so
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Related Framework: Suspend Sequence w/ Suspend_AgainStartFreeze user tasksb
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Related Framework: Why suspend-again ops is added?• Issue of kernel in-susp
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Related Framework: RTCReal Time Clock (RTC)• Kernel documents- Link: Docume
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Related Framework: HWMONHWMON (HW Monitor) Framework with • Kernel document
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Appendix: The Interface in Detail
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Interfaces: For Board: Global CM Data (1/2)The platform (board) should prov
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Interfaces: For Board: Global CM Data (2/2)The platform (board) should use
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Interfaces: For Board: CM Data for Each ChargerEach battery should provide
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Interfaces: Other In-Kernel APIsThe following APIs are provided to other mo
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Interfaces: For User Processes (1/2)SYSFS Location: /sys/class/power_supply
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Polling Batteries? Why?Do NOT charge if it’s too HOT or too COLD.However, w
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Interfaces: For User Processes (2/2)SYSFS Location: /sys/class/power_supply
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Appendix: Usage Example
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Usage Example: Environment at a GlanceThe Platform (Exynos4210 NURI)Charger
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Usage Example: Kernel for Exynos4210-NURIThe code is opened to general publ
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Usage Example: Kernel for Exynos4210-NURICharger #1 of 2: MAX8997- Platform
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Usage Example: Kernel for Exynos4210-NURIFuel-Gauge: MAX17042- Platform inf
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Usage Example: Kernel for Exynos4210-NURIPower-Supply-Class provided by the
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Appendix: Related Work (History)
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Related Work (History)• Generally, Linux kernel community considers monitor
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Related Work (History)• /drivers/power/s5pc110_battery.c (Galaxy S/Tab kern
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Why Suspend while Charging?“Let’s prohibit suspend while charging!”• We can
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Appendix: References
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.References• Related Linux Kernel Mailing Lisst- Linux Kernel Mailing List (
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.References• Related Linux kernel discussion & patches in progressaffect
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.References• Related Linux kernel discussion & patches in progressaffect
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.References• Kernel Documents & Source Codes- Charger-Manager Framework
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.References• Kernel Documents & Source Codes- HWMON (Lm_sensors) Interfa
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.References: Images• http://www.mediamacro.com/sponsored/samsung-galaxy-note
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Why Suspend while Charging?“Let’s prohibit suspend while charging!”• We can
© 2011 SAMSUNG Electronics Co.MyungJoo Ham © 2011 SAMSUNG Electronics Co.Polling at Kernel’s “Charger Manager”? Why?What if user land processes poll
Kommentare zu diesen Handbüchern