1. 20 May, 2016 8 commits
  2. 19 May, 2016 2 commits
  3. 18 May, 2016 4 commits
  4. 17 May, 2016 7 commits
  5. 15 May, 2016 2 commits
    • Bryan O'Donoghue's avatar
      greybus: interface: Extract and store Interface feature byte · 8c81d460
      Bryan O'Donoghue authored
      The Interface description in the Greybus specification contains a
      'features' field which is currently not implemented on the AP side. The
      Interface features field provides information on optional attributes of an
      Interface as a bitmask. Currently only GREYBUS_INTERFACE_FEATURE_TIMESYNC
      is implemented in the specification but, the expectation is that other
      feature flags will be added over time.
      
      This patch adds support to extract the feature byte communicated in the
      features field of the Interface Descriptor header and extends struct
      interface to contain a features field through which any user with a pointer
      to struct interface may interrogate the features of an Interface.
      
      This is a necessary pre-cursor for TimeSync to ensure only Interfaces which
      declare GREYBUS_INTERFACE_FEATURE_TIMESYNC will be included when we go
      through the process of FrameTime synchronization.
      Signed-off-by: default avatarBryan O'Donoghue <bryan.odonoghue@linaro.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
      8c81d460
    • Bryan O'Donoghue's avatar
      greybus: hd: Add TimeSync APBridge commands · c8a657ba
      Bryan O'Donoghue authored
      This patch adds a number of USB Vendor commands to es2.c to enable TimeSync
      in the bridge.
      
      Adds:
      - es2.c::timesync_enable(u8 count, u64 frame_time, u32 strobe_delay,
      			 u32 refclk);
        Commands APBx to enable timers and clocks to track a pulse-train of
        incoming TIME_SYNC strobes with strobe_delay microseconds between each.
        Provides the reference clock the AP is using to track FrameTime. It is
        the responsibility of APBx to adequately track the FrameTime based on
        the indicated AP refclk. Once this command has succeeded APBx may not
        transition to a low-power state were FrameTime counters stop.
      
        This function is initiated from the timesync worker thread logic when
        re-synchronizing frame-time throughout the system.
      
        TimeSync is at this time enabled for all APBx active in the system i.e.
        currently APB2 will not receive TimeSync commands until it becomes a
        registered host-device in Greybus.
      
      - es2.c::timesync_disable(void)
        Commands APBx to discontinue tracking of FrameTime. After this operation
        completes APBx may transition to a low-power state where timer-clocks
        stop operating.
      
      - es2.c::timesync_authoritative(u64 *frame_time)
        Provides an authoritative time for each TIME_SYNC strobe to APBx.
        APBx must align its local FrameTime to the authoritative clock.
      
      - es2.c::timesync_get_last_event(u64 *frame_time)
        Returns the FrameTime at the last SVC_TIMESYNC_PING to the AP Module.
      Signed-off-by: default avatarBryan O'Donoghue <bryan.odonoghue@linaro.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
      c8a657ba
  6. 14 May, 2016 17 commits