1. 05 May, 2016 2 commits
    • Mitchell Tasman's avatar
      greybus: svc: reconfig APBridgeA-Switch link to handle required load · ee2f2074
      Mitchell Tasman authored
      SW-4894, SW-4389, and share a common root cause, namely that
      the power-on reset configuration of the APBridgeA-Switch link of PWM
      Gear 1, 1 Lane, Slow Auto, is insufficient to handle some required
      traffic loads, such as 3 audio streams plus boot-over-UniPro or 4 audio
      streams.
      
      The correct long-term solution is to implement a UniPro Power Mode
      Manager as in that considers the demands placed on the network,
      and adjusts power modes accordingly.
      
      The present commit implements a short-term, brute-force hack to allow
      continued system testing:
      - Upon receiving an SVC HELLO request, schedule deferred work to
        reconfigure the APB1-Switch link to PWM G2, 1 lane, Slow Auto
      - When the Camera driver transitions a White Camera module from active to
        inactive, return the APB1-Switch link to PWM G2, 1 lane, Slow Auto
      
      The Camera driver already steps up the APBridgeA-Camera link speed while a
      camera module is active, which affords sufficient margin for simultaneous
      audio and hotplug activity, and the Camera driver already steps down the
      link speed thereafter: the change made by the present patch is simply to
      tweak the stepped-down power mode to match the new baseline configuration.
      Signed-off-by: default avatarMitchell Tasman <tasman@leaflabs.com>
      Tested-by: default avatarMark Greer <mgreer@animalcreek.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
      ee2f2074
    • Sandeep Patil's avatar
      greybus: core: add MODULE uevent var for all control devices · 3e29bcf4
      Sandeep Patil authored
      The new ctrl device under interface is missing a MODULE uevent var,
      add it.
      
      Testing Done:
      cat 'uevent' from ctrl device.
      $ cat 1-3.3.ctrl/uevent
      DEVTYPE=greybus_control
      BUS=1
      MODULE=3
      INTERFACE=3
      GREYBUS_ID=fffe0001/ffee0011
      Signed-off-by: default avatarSandeep Patil <sspatil@google.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
      3e29bcf4
  2. 04 May, 2016 8 commits
  3. 29 Apr, 2016 13 commits
  4. 28 Apr, 2016 1 commit
  5. 27 Apr, 2016 1 commit
    • Viresh Kumar's avatar
      greybus: firmware: Add firmware management bundle driver · 9e04fb7b
      Viresh Kumar authored
      All firmware packages on the Modules or Interfaces are now managed by a
      special Firmware Management Protocol. The Interface Manifest shall
      at least contain the Firmware Management Bundle and a Firmware
      Management Protocol CPort within it.
      
      The bundle may contain additional CPorts based on the extra
      functionality required to manage firmware packages.
      
      For example, this is how the Firmware Management Bundle of the Interface
      Manifest may look like:
      
      	; Firmware Management Bundle (Bundle 1):
      	[bundle-descriptor 1]
      	class = 0x16
      
      	; (Mandatory) Firmware Management Protocol on CPort 1
      	[cport-descriptor 1]
      	bundle = 1
      	protocol = 0x18
      
      	; (Optional) Firmware Download Protocol on CPort 2
      	[cport-descriptor 2]
      	bundle = 1
      	protocol = 0x17
      
      	; (Optional) SPI protocol on CPort 3
      	[cport-descriptor 3]
      	bundle = 1
      	protocol = 0x0b
      
      	; (Optional) Component Authentication Protocol (CAP) on CPort 4
      	[cport-descriptor 4]
      	bundle = 1
      	protocol = 0xXX //TBD
      
      This patch adds the basic firmware-management bundle driver, which just
      creates a firmware-management connection. Support for individual
      protocols will be added separately.
      Signed-off-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
      9e04fb7b
  6. 26 Apr, 2016 4 commits
  7. 25 Apr, 2016 11 commits