SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Downloaden Sie, um offline zu lesen
Mark Brown, ELC 2015, San Jose
regulators: Learning to play with others
• Regulator API overview
• Modern systems
• Non-regulator solutions
• Microcontroller interfacing
• Suspend/idle integration
• Future work
Introduction
• For Linux we mean voltage regulators
• Takes an input supply, produces a target voltage
• Many different kinds
• LDO
• DCDC
• Boost
• All very similar to software
• Enable/disable
• Set voltage
• Set performance requirements
• Typically I2C or SPI devices grouping several regulators
• Current regulators do exist, not relevant here
What is a regulator?
How does it fit into a system?
PMIC CPU
Audio WiFi BT HDMI
• Power saving
• Hardware interfacing
• MMC
• Fix hardware defaults
Why do regulators need drivers?
• Drivers register as devices as normal
• Provide set/get operations
• Enable
• Voltage
• Set performance characteristics
• Provide parameters
• Voltage ranges
• Time to implement changes
• Standard regmap operations provided
• Many regulators need only data
regulator API - regulator devices
• Request supply using device side supply name
• Special interface if supply might be missing
• Read status
• Request configuration
• Range based interface for voltages
• Notifications provided when configuration changes
• Details of regulator hidden
regulator API - consumer devices
• Firmware or board file maps regulators to devices
• Explicitly says what operations are allowed
• Range of voltages to set
• Supported operating modes
• If supply can be turned off
• Default behaviour is read only
• Any problems due to system integration!
• Core applies settings from consumers within constraints
• Combines requests from consumers
• Settings may not take effect due to other devices or constraints
• Kernel knows exact hardware state at all times
regulator API - system integration
• Typically handled with hard coded configuration
• Sometimes Linux needs to tweak setup for suspend
• DT bindings
Suspend mode configuration
Modern system design
Modern system design
Modern system design
Modern system design
• Suspending main AP no longer fixed process
• Multi-cluster systems
• Runtime configurable functionality
• Blurring of distinction between suspend and idle
• Other processors running while main AP is suspended
• Baseband
• WiFi
• Always on sensor monitoring
• Fine grained power optimization
• Tuning for individual chip characteristics
• Often need real time response
• Security considerations
Motivation
• Completely hide power control details
• OS provides device on/off information
• System integration done in firmware
• Great for servers/laptops
• Limiting for mobile
• Fine grained power control
• Too much hardware variation
• Schedules too tight
Ultra simplified model - ACPI
• Key subsystems hidden from OS
• Normally CPUs
• Any OS control via higher level interfaces
• May use some regulators on a shared chip
• regulator_get_hardware_vsel_register()
• regulator_list_hardware_vsel()
Mixed model - hidden subsystem
• Microcontroller arbitrates between users
• Core SoC supplies
• Supplies shared with external components
• Ideally microcontroller offers regulator API interface
• Zero effort?
Mixed model - visible subsystem
• Linux idea of system state can diverge from hardware
• Qualcomm RPM - two modes for Linux system active
• Active - Linux running
• CPU supplies
• Idle - Linux in idle
• WiFi
System mode mapping
• Generic devices get mapped in DT
• Default is all modes that apply outside of suspend
• Provide interface for drivers that know about modes
• regulator_set_voltage(regulator, mode, min, max);
• regulator_set_voltage_mode(regulator, mode, min,
max);
Mode specific configuration
• Some microcontrollers provide abstract modes
• Essentially OPPs
• Can be hidden subsystem model
• Simple to handle for platform specific devices
• regulator_set_mode() or equivalent
• Need mapping mechanism for more generic devices
• Yes, people do this
Abstracted settings
• Confirm designs with real systems
• Upstream it
• Improve support for specifying voltages by tolerance
• Support for resolving dependency loops between
PMICs
Next steps
• Qualcomm
• Bjorn Andersson
• Stephen Boyd
• Doug Anderson
• Javier Martinez Canillas
• Kevin Hilman
Thanks
More about Linaro Connect: http://connect.linaro.org
More about Linaro: http://www.linaro.org/about/
More about Linaro engineering: http://www.linaro.org/engineering/
Linaro members: www.linaro.org/members

Weitere ähnliche Inhalte

Was ist angesagt?

Alastair Worth — Introduction to BLE121LR
Alastair Worth — Introduction to BLE121LRAlastair Worth — Introduction to BLE121LR
Alastair Worth — Introduction to BLE121LR
Nick Brook
 
39245203 intro-es-iv
39245203 intro-es-iv39245203 intro-es-iv
39245203 intro-es-iv
Embeddedbvp
 
Microarchitecture
MicroarchitectureMicroarchitecture
Microarchitecture
meashi
 

Was ist angesagt? (20)

Micro programmed control
Micro programmed controlMicro programmed control
Micro programmed control
 
CiScoPresentation
CiScoPresentationCiScoPresentation
CiScoPresentation
 
Input output
Input outputInput output
Input output
 
Alastair Worth — Introduction to BLE121LR
Alastair Worth — Introduction to BLE121LRAlastair Worth — Introduction to BLE121LR
Alastair Worth — Introduction to BLE121LR
 
Micro programmed control
Micro programmed  controlMicro programmed  control
Micro programmed control
 
Paper Explaination : NoHype : Virtualized Cloud Infrastructure without the Vi...
Paper Explaination : NoHype : Virtualized Cloud Infrastructure without the Vi...Paper Explaination : NoHype : Virtualized Cloud Infrastructure without the Vi...
Paper Explaination : NoHype : Virtualized Cloud Infrastructure without the Vi...
 
Advanced Motion Control: Using the New 1500TF Processor and Siemens LAxis Lib...
Advanced Motion Control: Using the New 1500TF Processor and Siemens LAxis Lib...Advanced Motion Control: Using the New 1500TF Processor and Siemens LAxis Lib...
Advanced Motion Control: Using the New 1500TF Processor and Siemens LAxis Lib...
 
EMBEDDED SYSTEMS
EMBEDDED SYSTEMSEMBEDDED SYSTEMS
EMBEDDED SYSTEMS
 
Control unit design(1)
Control unit design(1)Control unit design(1)
Control unit design(1)
 
Webinar: How to captures and analyzes NetFlow, J-Flow and sFlow data
Webinar: How to captures and analyzes NetFlow, J-Flow and sFlow dataWebinar: How to captures and analyzes NetFlow, J-Flow and sFlow data
Webinar: How to captures and analyzes NetFlow, J-Flow and sFlow data
 
Core of the ES
Core of the ESCore of the ES
Core of the ES
 
39245203 intro-es-iv
39245203 intro-es-iv39245203 intro-es-iv
39245203 intro-es-iv
 
3 4- computer organization and archietecture- COA- CO- Computer organization
3 4- computer organization and archietecture- COA- CO- Computer organization3 4- computer organization and archietecture- COA- CO- Computer organization
3 4- computer organization and archietecture- COA- CO- Computer organization
 
Micro Programmed Control Unit
Micro Programmed Control UnitMicro Programmed Control Unit
Micro Programmed Control Unit
 
Summer training embedded system and its scope
Summer training  embedded system and its scopeSummer training  embedded system and its scope
Summer training embedded system and its scope
 
System on Chip (SoC)
System on Chip (SoC)System on Chip (SoC)
System on Chip (SoC)
 
Embedded Webinar #17 "Low-level Network Testing in Embedded Devices Development"
Embedded Webinar #17 "Low-level Network Testing in Embedded Devices Development"Embedded Webinar #17 "Low-level Network Testing in Embedded Devices Development"
Embedded Webinar #17 "Low-level Network Testing in Embedded Devices Development"
 
11. operating-systems-part-2
11. operating-systems-part-211. operating-systems-part-2
11. operating-systems-part-2
 
ankit
ankitankit
ankit
 
Microarchitecture
MicroarchitectureMicroarchitecture
Microarchitecture
 

Ähnlich wie Regulators learning to play with others

03_top-level-view-of-computer-function-and-interconnection.ppt
03_top-level-view-of-computer-function-and-interconnection.ppt03_top-level-view-of-computer-function-and-interconnection.ppt
03_top-level-view-of-computer-function-and-interconnection.ppt
AmirZaman21
 
1_to_10.pdf
1_to_10.pdf1_to_10.pdf
1_to_10.pdf
SHEHABALYAMANI
 
'EtherCat as a Master Machine Control Tool' Galil Webinar
'EtherCat as a Master Machine Control Tool' Galil Webinar'EtherCat as a Master Machine Control Tool' Galil Webinar
'EtherCat as a Master Machine Control Tool' Galil Webinar
Electromate
 

Ähnlich wie Regulators learning to play with others (20)

Embedded systems ppt
Embedded systems pptEmbedded systems ppt
Embedded systems ppt
 
Mces MOD 1.pptx
Mces MOD 1.pptxMces MOD 1.pptx
Mces MOD 1.pptx
 
03_top-level-view-of-computer-function-and-interconnection.ppt
03_top-level-view-of-computer-function-and-interconnection.ppt03_top-level-view-of-computer-function-and-interconnection.ppt
03_top-level-view-of-computer-function-and-interconnection.ppt
 
Embedded systems
Embedded systems Embedded systems
Embedded systems
 
1564.pptx
1564.pptx1564.pptx
1564.pptx
 
Plc basics
Plc   basicsPlc   basics
Plc basics
 
chapter1.ppt
chapter1.pptchapter1.ppt
chapter1.ppt
 
Fpga acquisition
Fpga acquisitionFpga acquisition
Fpga acquisition
 
1_to_10.pdf
1_to_10.pdf1_to_10.pdf
1_to_10.pdf
 
embedded systems ppt 2
embedded systems ppt 2embedded systems ppt 2
embedded systems ppt 2
 
'EtherCat as a Master Machine Control Tool' Galil Webinar
'EtherCat as a Master Machine Control Tool' Galil Webinar'EtherCat as a Master Machine Control Tool' Galil Webinar
'EtherCat as a Master Machine Control Tool' Galil Webinar
 
Embedded systems introduction
Embedded systems introductionEmbedded systems introduction
Embedded systems introduction
 
Embedded systems 101 final
Embedded systems 101 finalEmbedded systems 101 final
Embedded systems 101 final
 
chapter 2 IE.pptx
chapter 2 IE.pptxchapter 2 IE.pptx
chapter 2 IE.pptx
 
Introduction to embedded System.pptx
Introduction to embedded System.pptxIntroduction to embedded System.pptx
Introduction to embedded System.pptx
 
Lecture 1 Introduction.pptx
Lecture 1 Introduction.pptxLecture 1 Introduction.pptx
Lecture 1 Introduction.pptx
 
MK Sistem Operasi.pdf
MK Sistem Operasi.pdfMK Sistem Operasi.pdf
MK Sistem Operasi.pdf
 
Microprocessors & microcontrollers- The design Context
Microprocessors & microcontrollers- The design ContextMicroprocessors & microcontrollers- The design Context
Microprocessors & microcontrollers- The design Context
 
plc-basics.pptx
plc-basics.pptxplc-basics.pptx
plc-basics.pptx
 
07 input output
07 input output07 input output
07 input output
 

Mehr von Mark Brown (6)

Kernelci.org needs you!
Kernelci.org needs you!Kernelci.org needs you!
Kernelci.org needs you!
 
What's going on with SPI
What's going on with SPI What's going on with SPI
What's going on with SPI
 
LCU13: Linaro Stable Kernel
LCU13: Linaro Stable KernelLCU13: Linaro Stable Kernel
LCU13: Linaro Stable Kernel
 
LSK 13.07
LSK 13.07LSK 13.07
LSK 13.07
 
Linux audio for smartphones
Linux audio for smartphonesLinux audio for smartphones
Linux audio for smartphones
 
regmap: The power of subsystems and abstractions
regmap: The power of subsystems and abstractionsregmap: The power of subsystems and abstractions
regmap: The power of subsystems and abstractions
 

Kürzlich hochgeladen

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Kürzlich hochgeladen (20)

ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 

Regulators learning to play with others

  • 1. Mark Brown, ELC 2015, San Jose regulators: Learning to play with others
  • 2. • Regulator API overview • Modern systems • Non-regulator solutions • Microcontroller interfacing • Suspend/idle integration • Future work Introduction
  • 3. • For Linux we mean voltage regulators • Takes an input supply, produces a target voltage • Many different kinds • LDO • DCDC • Boost • All very similar to software • Enable/disable • Set voltage • Set performance requirements • Typically I2C or SPI devices grouping several regulators • Current regulators do exist, not relevant here What is a regulator?
  • 4. How does it fit into a system? PMIC CPU Audio WiFi BT HDMI
  • 5. • Power saving • Hardware interfacing • MMC • Fix hardware defaults Why do regulators need drivers?
  • 6. • Drivers register as devices as normal • Provide set/get operations • Enable • Voltage • Set performance characteristics • Provide parameters • Voltage ranges • Time to implement changes • Standard regmap operations provided • Many regulators need only data regulator API - regulator devices
  • 7. • Request supply using device side supply name • Special interface if supply might be missing • Read status • Request configuration • Range based interface for voltages • Notifications provided when configuration changes • Details of regulator hidden regulator API - consumer devices
  • 8. • Firmware or board file maps regulators to devices • Explicitly says what operations are allowed • Range of voltages to set • Supported operating modes • If supply can be turned off • Default behaviour is read only • Any problems due to system integration! • Core applies settings from consumers within constraints • Combines requests from consumers • Settings may not take effect due to other devices or constraints • Kernel knows exact hardware state at all times regulator API - system integration
  • 9. • Typically handled with hard coded configuration • Sometimes Linux needs to tweak setup for suspend • DT bindings Suspend mode configuration
  • 14. • Suspending main AP no longer fixed process • Multi-cluster systems • Runtime configurable functionality • Blurring of distinction between suspend and idle • Other processors running while main AP is suspended • Baseband • WiFi • Always on sensor monitoring • Fine grained power optimization • Tuning for individual chip characteristics • Often need real time response • Security considerations Motivation
  • 15. • Completely hide power control details • OS provides device on/off information • System integration done in firmware • Great for servers/laptops • Limiting for mobile • Fine grained power control • Too much hardware variation • Schedules too tight Ultra simplified model - ACPI
  • 16. • Key subsystems hidden from OS • Normally CPUs • Any OS control via higher level interfaces • May use some regulators on a shared chip • regulator_get_hardware_vsel_register() • regulator_list_hardware_vsel() Mixed model - hidden subsystem
  • 17. • Microcontroller arbitrates between users • Core SoC supplies • Supplies shared with external components • Ideally microcontroller offers regulator API interface • Zero effort? Mixed model - visible subsystem
  • 18. • Linux idea of system state can diverge from hardware • Qualcomm RPM - two modes for Linux system active • Active - Linux running • CPU supplies • Idle - Linux in idle • WiFi System mode mapping
  • 19. • Generic devices get mapped in DT • Default is all modes that apply outside of suspend • Provide interface for drivers that know about modes • regulator_set_voltage(regulator, mode, min, max); • regulator_set_voltage_mode(regulator, mode, min, max); Mode specific configuration
  • 20. • Some microcontrollers provide abstract modes • Essentially OPPs • Can be hidden subsystem model • Simple to handle for platform specific devices • regulator_set_mode() or equivalent • Need mapping mechanism for more generic devices • Yes, people do this Abstracted settings
  • 21. • Confirm designs with real systems • Upstream it • Improve support for specifying voltages by tolerance • Support for resolving dependency loops between PMICs Next steps
  • 22. • Qualcomm • Bjorn Andersson • Stephen Boyd • Doug Anderson • Javier Martinez Canillas • Kevin Hilman Thanks
  • 23. More about Linaro Connect: http://connect.linaro.org More about Linaro: http://www.linaro.org/about/ More about Linaro engineering: http://www.linaro.org/engineering/ Linaro members: www.linaro.org/members