XP doesn't really talk about the process before you do to the planning game at all. If you are developing a complex project, this part can more complex than the coding.
That's because XP discourages BigDesignUpFront, XP says it's a bad practice and is a waste of time.
Are there any good tips developing the product definition for a hardware/software project such that it can be the input to the planning game?
Um.. write a feature, then another, then another, after a while... whala... a complex project. How does a mouse eat an elephant, um... one bite at a time. Complex project are built from many simple features, not from complex features.
An excellent book on this topic is LargeScaleCppSoftwareDesign
See: BigReductionUpFront