- ODP Documentation guide
- 1. Why ODP?
- 1.1. Secure Trust
- 1.2. Modularity
- 1.3. Cross-Domain Coherence
- 1.4. Developer Experience
- 1.5. Sustainability and Cost
- 1.6. Industry Standards
- 2. Introduction
- 2.1. Welcome Developer
- 2.2. Concepts
- 2.2.1. A Quick Look at Rust
- 2.2.2. Patina
- 2.2.3. Embedded Controller
- 2.2.4. EC Services
- 2.2.4.1. Sample System Implementation
- 2.2.4.2. Legacy EC Interface
- 2.2.4.3. Secure EC Services
- 2.3. Tutorials
- 2.3.1. Discovery
- 2.3.1.1. Button
- 2.3.1.2. Listener
- 2.3.1.3. Logic
- 3. Architecture
- 3.1. Patina Framework
- 3.1.1. Component Model
- 3.2. Embedded Controller
- 3.2.1. Component Model
- 3.3. EC Services
- 3.4. Security Model
- 3.4.1. Secure Boot
- 3.4.2. Firmware Updates
- 3.4.3. Secure EC Services
- 4. Tracks of ODP
- 5. What is in ODP?
- 6. Building a virtual laptop
- 6.1. Setting up Development
- 6.2. Embedded Controller
- 6.2.1. Battery
- 6.2.1.1. Battery Example Goals
- 6.2.1.2. Battery Example Approach
- 6.2.1.3. Battery Example Diagrams
- 6.2.1.4. Standard Build
- 6.2.1.4.1. Battery Project
- 6.2.1.4.2. Battery Traits
- 6.2.1.4.3. Virtual HAL
- 6.2.1.4.4. Battery Values
- 6.2.1.4.5. Service Prep
- 6.2.1.4.6. Battery Service
- 6.2.1.4.7. Battery Messages
- 6.2.1.4.8. Battery Behavior
- 6.2.1.4.9. Tests
- 6.2.1.4.9.1. Test Helper
- 6.2.1.4.9.2. Unit Tests
- 6.2.1.4.9.3. Integration Tests
- 6.2.2. Charger
- 6.2.2.1. Project Setup
- 6.2.2.2. Traits
- 6.2.2.3. Attach Controller
- 6.2.2.4. Unit Tests
- 6.2.3. Battery Subsystem Integration
- 6.2.3.1. Integration Start
- 6.2.3.2. Battery Tests
- 6.2.3.3. Charger Tests
- 6.2.3.4. Behavior Tests
- 6.2.4. Battery Subsystem Summary
- 6.2.5. Thermal
- 6.2.5.1. MPTF Example
- 6.2.5.1.1. Overview
- 6.2.5.1.2. MPTF Drivers
- 6.2.5.1.3. ACPI
- 6.2.5.1.4. Configuration Blob
- 6.2.5.1.5. Debugging
- 6.2.5.1.6. EC Service
- 6.2.5.1.7. ACPI
- 6.2.5.1.8. Debugging
- 6.2.5.1.9. MCU Firmware
- 6.2.5.1.10. Apps Interface
- 6.2.5.1.11. Debugging
- 6.2.5.1.12. Demo
- 6.2.5.2. Thermal Example Goals
- 6.2.5.3. Thermal Example Approach
- 6.2.5.4. Thermal Example Diagrams
- 6.2.5.5. Standard Build
- 6.2.5.5.1. Thermal Project
- 6.2.5.5.2. Thermal Traits
- 6.2.5.5.3. Device and Controller
- 6.2.5.5.4. Behavior
- 6.2.5.5.5. Tests
- 6.2.5.6. Integration
- 6.2.5.6.1. Move Events
- 6.2.5.6.2. Better Alloc
- 6.2.5.6.3. Update Controller
- 6.2.5.6.4. Structure Steps
- 6.2.5.6.5. Scaffold Start
- 6.2.5.6.6. Setup and Tap
- 6.2.5.6.7. Battery Adapter
- 6.2.5.6.8. System Observer
- 6.2.5.6.9. Controller Core
- 6.2.5.6.10. First Tests
- 6.2.5.6.11. Tasks and Listeners
- 6.2.5.6.12. Integration Logic
- 6.2.5.6.13. Display Rendering
- 6.2.5.6.14. Interaction
- 6.2.5.6.15. In Place Rendering
- 6.2.5.6.16. Integration Test
- 6.2.5.6.17. Test Structure
- 6.2.5.6.18. Meaningful Tests
- 6.2.5.6.19. Charger Attach
- 6.2.5.6.20. Affecting Change
- 6.2.5.6.21. Summary Thoughts
- 6.2.5.7. Embedded Targeting
- 6.2.5.7.1. Project Board
- 6.2.5.7.2. Dependencies
- 6.2.5.7.3. Code Changes
- 6.2.5.7.4. Logging
- 6.2.5.7.5. Flashing
- 6.2.5.7.6. Testing
- 6.3. Integrating the Virtual Laptop
- 7. Summary and Takeaways
- 8. ODP Specification Documents
- 8.1. EC_Interface
- 8.1.1. EC SOC Interface
- 8.1.2. Legacy EC Interface
- 8.1.3. Secure EC Services Overview
- 8.1.4. EC Firmware Management
- 8.1.5. EC Power Service
- 8.1.6. Battery Service
- 8.1.7. Thermal Service
- 8.1.8. UCSI Interface
- 8.1.9. EC Input Management
- 8.1.10. EC Time Alarm Service
- 8.1.11. EC Debug Service
- 8.1.12. EC Manufacturing Service
- 8.1.13. EC OEM Service
- 8.1.14. Sample System Implementation