lpc_ip3516: fix isochronous transfer scheduling

- Select one ISO service slot per transfer: the PTD uFrame field holds the
  frame number in [7:3] (UM11126 Table 814), and the microframe goes in
  uframe_active. The next slot keeps the endpoint's interval phase.
- Keep the ISO scheduling fields (S-mask, C-mask, split slot) per PTD and
  restore them on every transfer, since the controller consumes them;
  activate the PTD only afterwards. Each submission covers at most one
  endpoint packet.
- FS endpoints behind a HS hub use split transactions with windows from the
  shared best-effort allocator (hub_iso_split_slot()), keyed by the upstream
  HS hub and port, also through an intervening FS hub. IN is limited to
  564 bytes, OUT to 1023; split ISO intervals are limited to 16 ms and HS to
  32 ms by the five frame bits the controller compares.
- audio_host builds for LPCXpresso55S28/S69. Host audio needs RHPORT_HOST=1
  (IP3516); port 0 (OHCI) does not support ISO.

Signed-off-by: HiFiPhile <admin@hifiphile.com>
2 files changed