Booting it successfully for the first time in mainline Enric - - PowerPoint PPT Presentation

booting it successfully for the first time in mainline
SMART_READER_LITE
LIVE PREVIEW

Booting it successfully for the first time in mainline Enric - - PowerPoint PPT Presentation

Booting it successfully for the first time in mainline Enric Balletb i Serra enric.balletbo@collabora.com Enric Balletbo i Serra Electronic Engineer Hardware and Linux enthusiast Kernel contributor More than 5 years of


slide-1
SLIDE 1

Booting it successfully for the first time in mainline

Enric Balletbò i Serra enric.balletbo@collabora.com

slide-2
SLIDE 2
  • Hardware and Linux enthusiast
  • Kernel contributor
  • More than 5 years of experience

bringing-up diferent kind of boards.

FOSDEM 2018 2

Enric Balletbo i Serra

eballetbo@collabora.com Electronic Engineer

slide-3
SLIDE 3

Agenda

  • What is Board Bring-Up?
  • Process of the development of a new board.
  • What’s wrong with this process.
  • How mainline can help us to improve this process.
  • Lessons learned.

FOSDEM 2018 3

slide-4
SLIDE 4

What is Board Bring-Up?

Board bring-up is the process of validating, both electrically and functionally, a new circuit board design including the porting of boot firmware and the development of a Board Support Package.

4 FOSDEM 2018

slide-5
SLIDE 5

Hardware

  • Component selection
  • Circuit Design (Schematic)
  • Bill of Materials (BOM)
  • PCB prototypes
  • Certifcation

5 FOSDEM 2018

slide-6
SLIDE 6

Software

  • Firmware programming
  • Bootloader
  • Kernel and device drivers
  • Software stack
  • Application development

6 FOSDEM 2018

slide-7
SLIDE 7

7

What’s the problem? Board Respin

H A R D W A R E SOFTWARE

B U G !

FOSDEM 2018

slide-8
SLIDE 8

8

Has this ever happened to you?

FOSDEM 2018

slide-9
SLIDE 9

9

And how we can do this? Software Hardware Work together!

FOSDEM 2018

slide-10
SLIDE 10

10

How mainline can help us to improve the process?

Components selection & Circuit Design (Schematic)

FOSDEM 2018

slide-11
SLIDE 11

Component selection

  • Main processor

– Evaluate the Board Support Package – Consider if it’s well supported in mainline

  • Other IC, sensors, displays, real time clocks ...

– Check that the driver is upstream.

  • Do NOT abuse of use of microcontrollers.

– Can an IC replace the microcontroller?

FOSDEM 2018 11

slide-12
SLIDE 12

12 FOSDEM 2018

Connecting two displays: First option

slide-13
SLIDE 13

13 FOSDEM 2018

Connecting two displays: Second option

slide-14
SLIDE 14

14 FOSDEM 2018

Critical components selection

slide-15
SLIDE 15

Circuit design (Schematic)

  • Let software team review the schematic

– Write the devicetree fle (architecture specifc)

  • Confgure properly the muxer settings of the pins.

– Enable of ICs. – Enable of regulators. – Look at pull-up and pull-down muxer possibilities.

FOSDEM 2018 15

slide-16
SLIDE 16

Lessons learned

  • Follow the rule. Upstream frst.
  • Work as close to mainline at early stages of

development.

  • Review the schematic from software POV can catch

lots of errors.

  • Try to do as much as possible the software

development even before you have the frst prototypes.

  • Don’t play ping-pong. Work together.

FOSDEM 2018 16

slide-17
SLIDE 17

We’re hiring: col.la/careers

Any questions?