29 Oct, 2020

1 commit

  • The 7211a0 has a tca_drv_sel bit in the USB SETUP register that
    should never be enabled. This feature is only used if there is a
    USB Type-C PHY, and the 7211 does not have one. If the bit is
    enabled, the VBUS signal will never be asserted. In the 7211a0,
    the bit was incorrectly defaulted to on so the driver had to clear
    the bit. In the 7211c0 the state was inverted so the driver should
    no longer clear the bit. This hasn't been a problem because all
    current 7211 boards don't use the VBUS signal, but there are some
    future customer boards that may use it.

    Signed-off-by: Al Cooper
    Acked-by: Florian Fainelli
    Link: https://lore.kernel.org/r/20201002190115.48017-1-alcooperx@gmail.com
    Signed-off-by: Vinod Koul

    Al Cooper
     

08 Sep, 2020

3 commits


22 Jul, 2020

1 commit


18 May, 2020

4 commits

  • During different reboot cycles, USB PHY PLL may not always lock
    during initialization and therefore can cause USB to be not usable.

    Hence do not use internal FSM programming sequence for the USB
    PHY initialization.

    Fixes: 4dcddbb38b64 ("phy: sr-usb: Add Stingray USB PHY driver")
    Signed-off-by: Bharat Gooty
    Signed-off-by: Rayagonda Kokatanur
    Link: https://lore.kernel.org/r/20200513173947.10919-1-rayagonda.kokatanur@broadcom.com
    Signed-off-by: Kishon Vijay Abraham I

    Bharat Gooty
     
  • phy_ops are never modified and can therefore be made const to allow the
    compiler to put it in read-only memory.

    Before:
    text data bss dec hex filename
    7831 3144 128 11103 2b5f drivers/phy/broadcom/phy-bcm-ns2-usbdrd.o

    After:
    text data bss dec hex filename
    7959 3016 128 11103 2b5f drivers/phy/broadcom/phy-bcm-ns2-usbdrd.o

    Signed-off-by: Rikard Falkeborn
    Link: https://lore.kernel.org/r/20200516120441.7627-2-rikard.falkeborn@gmail.com
    Signed-off-by: Kishon Vijay Abraham I

    Rikard Falkeborn
     
  • A number of structs were not modified and can therefore be made const
    to allow the compiler to put them in read-only memory.

    In order to do so, update a few functions that don't modify there input
    to take pointers to const.

    Before:
    text data bss dec hex filename
    15511 6448 64 22023 5607 drivers/phy/broadcom/phy-brcm-usb.o

    After:
    text data bss dec hex filename
    16058 5936 64 22058 562a drivers/phy/broadcom/phy-brcm-usb.o

    Signed-off-by: Rikard Falkeborn
    Link: https://lore.kernel.org/r/20200516120441.7627-4-rikard.falkeborn@gmail.com
    Signed-off-by: Kishon Vijay Abraham I

    Rikard Falkeborn
     
  • phy_ops are never modified and can therefore be made const to allow the
    compiler to put it in read-only memory.

    Before:
    text data bss dec hex filename
    4310 1244 0 5554 15b2 drivers/phy/broadcom/phy-bcm-sr-usb.o

    After:
    text data bss dec hex filename
    4438 1116 0 5554 15b2 drivers/phy/broadcom/phy-bcm-sr-usb.o

    Signed-off-by: Rikard Falkeborn
    Link: https://lore.kernel.org/r/20200516120441.7627-3-rikard.falkeborn@gmail.com
    Signed-off-by: Kishon Vijay Abraham I

    Rikard Falkeborn
     

21 Feb, 2020

1 commit

  • The logic to write to MDIO registers on 40nm platforms was wrong
    because it would use the port number as an offset from the base address
    rather than the bank address of the PHY. This is hardly noticeable
    because the only programming we do is enabling SSC or not, which is not
    really causing an observable functional change.

    Correct that mistake by passing down the struct brcm_sata_port structure
    down to the brcm_sata_mdio_wr() and brcm_sata_mdio_rd() functions and do
    the proper offsetting for 28nm, respectively 40nm platforms from there.
    This means that brcm_sata_pcb_base() is now useless and is therefore
    removed.

    Fixes: c1602a1a0fbe ("phy: phy_brcmstb_sata: add support for MIPS-based platforms")
    Signed-off-by: Florian Fainelli
    Signed-off-by: Kishon Vijay Abraham I

    Florian Fainelli
     

14 Jan, 2020

1 commit


08 Jan, 2020

13 commits

  • Add support for 7211 USB wake. Disable all possible 7211 USB logic
    for S2/S5 if USB wake is not enabled.

    On the 7211, the XHCI wake signal was not connected properly and
    only goes to the USB1_USB1_CTRL_TP_DIAG1 diagonstic register.
    The workaround is to have VPU code running that polls for the
    proper bit in the DIAG register and to wake the system when
    the bit is asserted.

    Signed-off-by: Al Cooper
    Reviewed-by: Florian Fainelli
    Signed-off-by: Kishon Vijay Abraham I

    Al Cooper
     
  • This is a result of the USB 2.0 clocks not being disabled/enabled
    during suspend/resume on XHCI only systems.

    Signed-off-by: Al Cooper
    Reviewed-by: Florian Fainelli
    Signed-off-by: Kishon Vijay Abraham I

    Al Cooper
     
  • The BDC "Read Transaction Size" needs to be changed from 1024
    bytes to 256 bytes to prevent occasional transaction failures.

    Signed-off-by: Al Cooper
    Reviewed-by: Florian Fainelli
    Signed-off-by: Kishon Vijay Abraham I

    Al Cooper
     
  • When there is no device connected and FSM is enabled, the XHCI puts
    the PHY into suspend mode. When the PHY is put into suspend mode
    the USB LDO powers down the PHY. This causes the MDIO to be
    inaccessible and its registers reset to default. The fix is to
    disable FSM.

    Signed-off-by: Al Cooper
    Reviewed-by: Florian Fainelli
    Signed-off-by: Kishon Vijay Abraham I

    Al Cooper
     
  • Handle defer on clk_get because the new SCMI clock driver comes
    up after this driver.

    Signed-off-by: Al Cooper
    Reviewed-by: Florian Fainelli
    Signed-off-by: Kishon Vijay Abraham I

    Al Cooper
     
  • The 7211b0 has added the STB XHCI Synopsys controller and it
    will be used instead of the RPi based DWC USB controller. The new
    Synopsys XHCI controller core is the same one that is used on the
    7216, but because of the way the STB USB PHY is used on both the A0
    and B0, some of the PHY control is different.

    Signed-off-by: Al Cooper
    Reviewed-by: Florian Fainelli
    Signed-off-by: Kishon Vijay Abraham I

    Al Cooper
     
  • The 7216 has the new USB XHCI controller from Synopsys. While
    this new controller and the PHY are similar to the STB versions,
    the major differences are:

    - Many of the registers and fields in the CTRL block have been
    removed or changed.
    - A new set of Synopsys control registers, BCHP_USB_XHCI_GBL, were
    added.
    - MDIO functionality has been replaced with direct access registers
    in the BCHP_USB_XHCI_GBL block.
    - Power up PHY defaults that had to be changed by MDIO in previous
    chips will now power up with the correct defaults.

    A new init module was created for this new Synopsys USB controller.
    A new compatible string was added and the driver will dispatch
    into one of two init modules based on it. A "reg-names" field was
    added so the driver can more easily get optional registers.
    A DT bindings document was also added for this driver.

    Signed-off-by: Al Cooper
    Reviewed-by: Florian Fainelli
    Signed-off-by: Kishon Vijay Abraham I

    Al Cooper
     
  • The driver is being restructured in preparation for adding support
    for the new Synopsys USB conroller on the 7216. Since all the bugs
    and work-arounds in previous STB chips are supposed to be fixed,
    most of the code in phy-brcm-usb-init.c is not needed. Instead of
    adding more complexity to the already complicated phy-brcm-usb-init.c
    module, the driver will be restructured to use a vector table to
    dispatch into different C modules for the different controllers.

    There was also some general cleanup done including some ipp setup
    code that was incorrect.

    Signed-off-by: Al Cooper
    Reviewed-by: Florian Fainelli
    Signed-off-by: Kishon Vijay Abraham I

    Al Cooper
     
  • Add the ability to handle USB wake events from USB devices when
    in S2 mode. Typically there is some additional configuration
    needed to tell the USB device to generate the wake event when
    suspended but this varies with the different USB device classes.
    For example, on USB Ethernet dongles, ethtool should be used to
    enable the magic packet wake functionality in the dongle.
    NOTE: This requires that the "power/wakeup" sysfs entry for
    the USB device generating the wakeup be set to "enabled".

    This functionality requires a special hardware sideband path that
    will trigger the AON_PM_L2 interrupt needed to wake the system from
    S2 even though the USB host controllers are in IDDQ (low power state)
    and most USB related clocks are shut off. For the sideband signaling
    to work we need to leave the usbx_freerun clock running, but this
    clock consumes very little power by design. There's a bug in the
    XHCI wake hardware so only EHCI/OHCI wake is currently supported.

    Signed-off-by: Al Cooper
    Reviewed-by: Florian Fainelli
    Signed-off-by: Kishon Vijay Abraham I

    Al Cooper
     
  • Currently the Phy driver will put the USB phys into the max
    power saving mode (IDDQ) when there is no corresponding XHCI, EHCI
    or OHCI client (through rmmod, unbind or if the driver is not
    builtin). This change will also put the Phys into IDDQ mode
    on suspend so that S2 will get the additional power savings.

    Signed-off-by: Al Cooper
    Reviewed-by: Florian Fainelli
    Signed-off-by: Kishon Vijay Abraham I

    Al Cooper
     
  • The BRCM USB Phy, ohci, ehci and xhci drivers all use the USB clocks
    but not all drivers use the clk_prepare_enable/clk_disable_unprepare
    versions to enable/disable the clocks. This change gets all drivers
    using the prepare version.

    Signed-off-by: Al Cooper
    Reviewed-by: Florian Fainelli
    Signed-off-by: Kishon Vijay Abraham I

    Al Cooper
     
  • When the EHCI controller received a 512 byte USB packet that
    had to be broken into 2 256 byte bursts across the SCB bus AND
    there was a following 512 byte USB packet, the second burst of
    data from the first packet was sometimes being lost. If the
    burst size was changed to 128 bytes via the EBR_SCB_SIZE field
    in the USB_CTRL_EBRIDGE register we'd see the 4th 128 byte burst
    of the first packet being lost. This problem became much worse
    if other threads were running that accessed memory, like a memcpy
    test. Setting the EBR_SCB_SIZE to 512, which prevents breaking
    the EHCI USB packet (max size of 512 bytes) into bursts, fixed
    the problem.

    Signed-off-by: Al Cooper
    Reviewed-by: Florian Fainelli
    Signed-off-by: Kishon Vijay Abraham I

    Al Cooper
     
  • 7216 is a 16nm process chip with a slightly different version of the PHY
    SerdDeS/AFE that requires a specific tuning sequence. Key on the
    compatible string to perform that initialization.

    Signed-off-by: Florian Fainelli
    Signed-off-by: Kishon Vijay Abraham I

    Florian Fainelli
     

23 Oct, 2019

2 commits

  • The xhci_ec_base variable is a pointer, so don't compare
    it with an integer.

    Signed-off-by: Ben Dooks
    Reviewed-by: Andrew Murray
    Signed-off-by: Kishon Vijay Abraham I

    Ben Dooks
     
  • The register address should have __iomem attributes
    so fix this to remove the following sparse warnings:

    drivers/phy/broadcom/phy-brcm-usb-init.c:459:30: warning: cast removes address space '' of expression
    drivers/phy/broadcom/phy-brcm-usb-init.c:459:30: warning: incorrect type in argument 2 (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:459:30: expected void [noderef] *addr
    drivers/phy/broadcom/phy-brcm-usb-init.c:459:30: got void *
    drivers/phy/broadcom/phy-brcm-usb-init.c:461:30: warning: cast removes address space '' of expression
    drivers/phy/broadcom/phy-brcm-usb-init.c:461:30: warning: incorrect type in argument 2 (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:461:30: expected void [noderef] *addr
    drivers/phy/broadcom/phy-brcm-usb-init.c:461:30: got void *
    drivers/phy/broadcom/phy-brcm-usb-init.c:465:30: warning: cast removes address space '' of expression
    drivers/phy/broadcom/phy-brcm-usb-init.c:465:30: warning: incorrect type in argument 2 (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:465:30: expected void [noderef] *addr
    drivers/phy/broadcom/phy-brcm-usb-init.c:465:30: got void *
    drivers/phy/broadcom/phy-brcm-usb-init.c:469:30: warning: cast removes address space '' of expression
    drivers/phy/broadcom/phy-brcm-usb-init.c:469:30: warning: incorrect type in argument 1 (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:469:30: expected void [noderef] *addr
    drivers/phy/broadcom/phy-brcm-usb-init.c:469:30: got void *
    drivers/phy/broadcom/phy-brcm-usb-init.c:478:30: warning: cast removes address space '' of expression
    drivers/phy/broadcom/phy-brcm-usb-init.c:478:30: warning: incorrect type in argument 2 (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:478:30: expected void [noderef] *addr
    drivers/phy/broadcom/phy-brcm-usb-init.c:478:30: got void *
    drivers/phy/broadcom/phy-brcm-usb-init.c:480:30: warning: cast removes address space '' of expression
    drivers/phy/broadcom/phy-brcm-usb-init.c:480:30: warning: incorrect type in argument 2 (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:480:30: expected void [noderef] *addr
    drivers/phy/broadcom/phy-brcm-usb-init.c:480:30: got void *
    drivers/phy/broadcom/phy-brcm-usb-init.c:485:30: warning: cast removes address space '' of expression
    drivers/phy/broadcom/phy-brcm-usb-init.c:485:30: warning: incorrect type in argument 2 (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:485:30: expected void [noderef] *addr
    drivers/phy/broadcom/phy-brcm-usb-init.c:485:30: got void *
    drivers/phy/broadcom/phy-brcm-usb-init.c:494:9: warning: cast removes address space '' of expression
    drivers/phy/broadcom/phy-brcm-usb-init.c:494:9: warning: incorrect type in argument 1 (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:494:9: expected void [noderef] *reg
    drivers/phy/broadcom/phy-brcm-usb-init.c:494:9: got void *
    drivers/phy/broadcom/phy-brcm-usb-init.c:495:9: warning: cast removes address space '' of expression
    drivers/phy/broadcom/phy-brcm-usb-init.c:495:9: warning: incorrect type in argument 1 (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:495:9: expected void [noderef] *reg
    drivers/phy/broadcom/phy-brcm-usb-init.c:495:9: got void *
    drivers/phy/broadcom/phy-brcm-usb-init.c:498:9: warning: cast removes address space '' of expression
    drivers/phy/broadcom/phy-brcm-usb-init.c:498:9: warning: incorrect type in argument 1 (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:498:9: expected void [noderef] *reg
    drivers/phy/broadcom/phy-brcm-usb-init.c:498:9: got void *
    drivers/phy/broadcom/phy-brcm-usb-init.c:501:9: warning: cast removes address space '' of expression
    drivers/phy/broadcom/phy-brcm-usb-init.c:501:9: warning: incorrect type in argument 1 (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:501:9: expected void [noderef] *reg
    drivers/phy/broadcom/phy-brcm-usb-init.c:501:9: got void *
    drivers/phy/broadcom/phy-brcm-usb-init.c:613:9: warning: cast removes address space '' of expression
    drivers/phy/broadcom/phy-brcm-usb-init.c:613:9: warning: incorrect type in argument 1 (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:613:9: expected void [noderef] *reg
    drivers/phy/broadcom/phy-brcm-usb-init.c:613:9: got void *
    drivers/phy/broadcom/phy-brcm-usb-init.c:640:9: warning: cast removes address space '' of expression
    drivers/phy/broadcom/phy-brcm-usb-init.c:640:9: warning: incorrect type in argument 1 (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:640:9: expected void [noderef] *reg
    drivers/phy/broadcom/phy-brcm-usb-init.c:640:9: got void *
    drivers/phy/broadcom/phy-brcm-usb-init.c:422:13: warning: incorrect type in assignment (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:422:13: expected void *reg
    drivers/phy/broadcom/phy-brcm-usb-init.c:422:13: got void [noderef] *
    drivers/phy/broadcom/phy-brcm-usb-init.c:423:38: warning: incorrect type in argument 1 (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:423:38: expected void [noderef] *addr
    drivers/phy/broadcom/phy-brcm-usb-init.c:423:38: got void *reg
    drivers/phy/broadcom/phy-brcm-usb-init.c:423:52: warning: incorrect type in argument 2 (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:423:52: expected void [noderef] *addr
    drivers/phy/broadcom/phy-brcm-usb-init.c:423:52: got void *reg
    drivers/phy/broadcom/phy-brcm-usb-init.c:710:64: warning: Using plain integer as NULL pointer
    drivers/phy/broadcom/phy-brcm-usb-init.c:712:32: warning: cast removes address space '' of expression
    drivers/phy/broadcom/phy-brcm-usb-init.c:712:32: warning: incorrect type in argument 2 (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:712:32: expected void [noderef] *addr
    drivers/phy/broadcom/phy-brcm-usb-init.c:712:32: got void *
    drivers/phy/broadcom/phy-brcm-usb-init.c:713:29: warning: cast removes address space '' of expression
    drivers/phy/broadcom/phy-brcm-usb-init.c:713:29: warning: incorrect type in argument 1 (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:713:29: expected void [noderef] *addr
    drivers/phy/broadcom/phy-brcm-usb-init.c:713:29: got void *
    drivers/phy/broadcom/phy-brcm-usb-init.c:717:29: warning: cast removes address space '' of expression
    drivers/phy/broadcom/phy-brcm-usb-init.c:717:29: warning: incorrect type in argument 2 (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:717:29: expected void [noderef] *addr
    drivers/phy/broadcom/phy-brcm-usb-init.c:717:29: got void *
    drivers/phy/broadcom/phy-brcm-usb-init.c:720:9: warning: cast removes address space '' of expression
    drivers/phy/broadcom/phy-brcm-usb-init.c:720:9: warning: incorrect type in argument 1 (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:720:9: expected void [noderef] *reg
    drivers/phy/broadcom/phy-brcm-usb-init.c:720:9: got void *
    drivers/phy/broadcom/phy-brcm-usb-init.c:721:9: warning: cast removes address space '' of expression
    drivers/phy/broadcom/phy-brcm-usb-init.c:721:9: warning: incorrect type in argument 1 (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:721:9: expected void [noderef] *reg
    drivers/phy/broadcom/phy-brcm-usb-init.c:721:9: got void *
    drivers/phy/broadcom/phy-brcm-usb-init.c:422:13: warning: incorrect type in assignment (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:422:13: expected void *reg
    drivers/phy/broadcom/phy-brcm-usb-init.c:422:13: got void [noderef] *
    drivers/phy/broadcom/phy-brcm-usb-init.c:423:38: warning: incorrect type in argument 1 (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:423:38: expected void [noderef] *addr
    drivers/phy/broadcom/phy-brcm-usb-init.c:423:38: got void *reg
    drivers/phy/broadcom/phy-brcm-usb-init.c:423:52: warning: incorrect type in argument 2 (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:423:52: expected void [noderef] *addr
    drivers/phy/broadcom/phy-brcm-usb-init.c:423:52: got void *reg
    drivers/phy/broadcom/phy-brcm-usb-init.c:422:13: warning: incorrect type in assignment (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:422:13: expected void *reg
    drivers/phy/broadcom/phy-brcm-usb-init.c:422:13: got void [noderef] *
    drivers/phy/broadcom/phy-brcm-usb-init.c:423:38: warning: incorrect type in argument 1 (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:423:38: expected void [noderef] *addr
    drivers/phy/broadcom/phy-brcm-usb-init.c:423:38: got void *reg
    drivers/phy/broadcom/phy-brcm-usb-init.c:423:52: warning: incorrect type in argument 2 (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:423:52: expected void [noderef] *addr
    drivers/phy/broadcom/phy-brcm-usb-init.c:423:52: got void *reg
    drivers/phy/broadcom/phy-brcm-usb-init.c:434:13: warning: incorrect type in assignment (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:434:13: expected void *reg
    drivers/phy/broadcom/phy-brcm-usb-init.c:434:13: got void [noderef] *
    drivers/phy/broadcom/phy-brcm-usb-init.c:435:38: warning: incorrect type in argument 1 (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:435:38: expected void [noderef] *addr
    drivers/phy/broadcom/phy-brcm-usb-init.c:435:38: got void *reg
    drivers/phy/broadcom/phy-brcm-usb-init.c:435:51: warning: incorrect type in argument 2 (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:435:51: expected void [noderef] *addr
    drivers/phy/broadcom/phy-brcm-usb-init.c:435:51: got void *reg
    drivers/phy/broadcom/phy-brcm-usb-init.c:434:13: warning: incorrect type in assignment (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:434:13: expected void *reg
    drivers/phy/broadcom/phy-brcm-usb-init.c:434:13: got void [noderef] *
    drivers/phy/broadcom/phy-brcm-usb-init.c:435:38: warning: incorrect type in argument 1 (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:435:38: expected void [noderef] *addr
    drivers/phy/broadcom/phy-brcm-usb-init.c:435:38: got void *reg
    drivers/phy/broadcom/phy-brcm-usb-init.c:435:51: warning: incorrect type in argument 2 (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:435:51: expected void [noderef] *addr
    drivers/phy/broadcom/phy-brcm-usb-init.c:435:51: got void *reg
    drivers/phy/broadcom/phy-brcm-usb-init.c:434:13: warning: incorrect type in assignment (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:434:13: expected void *reg
    drivers/phy/broadcom/phy-brcm-usb-init.c:434:13: got void [noderef] *
    drivers/phy/broadcom/phy-brcm-usb-init.c:435:38: warning: incorrect type in argument 1 (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:435:38: expected void [noderef] *addr
    drivers/phy/broadcom/phy-brcm-usb-init.c:435:38: got void *reg
    drivers/phy/broadcom/phy-brcm-usb-init.c:435:51: warning: incorrect type in argument 2 (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:435:51: expected void [noderef] *addr
    drivers/phy/broadcom/phy-brcm-usb-init.c:435:51: got void *reg
    drivers/phy/broadcom/phy-brcm-usb-init.c:434:13: warning: incorrect type in assignment (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:434:13: expected void *reg
    drivers/phy/broadcom/phy-brcm-usb-init.c:434:13: got void [noderef] *
    drivers/phy/broadcom/phy-brcm-usb-init.c:435:38: warning: incorrect type in argument 1 (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:435:38: expected void [noderef] *addr
    drivers/phy/broadcom/phy-brcm-usb-init.c:435:38: got void *reg
    drivers/phy/broadcom/phy-brcm-usb-init.c:435:51: warning: incorrect type in argument 2 (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:435:51: expected void [noderef] *addr
    drivers/phy/broadcom/phy-brcm-usb-init.c:435:51: got void *reg
    drivers/phy/broadcom/phy-brcm-usb-init.c:794:29: warning: cast removes address space '' of expression
    drivers/phy/broadcom/phy-brcm-usb-init.c:794:29: warning: incorrect type in argument 1 (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:794:29: expected void [noderef] *addr
    drivers/phy/broadcom/phy-brcm-usb-init.c:794:29: got void *
    drivers/phy/broadcom/phy-brcm-usb-init.c:813:29: warning: cast removes address space '' of expression
    drivers/phy/broadcom/phy-brcm-usb-init.c:813:29: warning: incorrect type in argument 2 (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:813:29: expected void [noderef] *addr
    drivers/phy/broadcom/phy-brcm-usb-init.c:813:29: got void *
    drivers/phy/broadcom/phy-brcm-usb-init.c:829:37: warning: cast removes address space '' of expression
    drivers/phy/broadcom/phy-brcm-usb-init.c:829:37: warning: incorrect type in argument 1 (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:829:37: expected void [noderef] *addr
    drivers/phy/broadcom/phy-brcm-usb-init.c:829:37: got void *
    drivers/phy/broadcom/phy-brcm-usb-init.c:843:37: warning: cast removes address space '' of expression
    drivers/phy/broadcom/phy-brcm-usb-init.c:843:37: warning: incorrect type in argument 1 (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:843:37: expected void [noderef] *addr
    drivers/phy/broadcom/phy-brcm-usb-init.c:843:37: got void *
    drivers/phy/broadcom/phy-brcm-usb-init.c:847:37: warning: cast removes address space '' of expression
    drivers/phy/broadcom/phy-brcm-usb-init.c:847:37: warning: incorrect type in argument 2 (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:847:37: expected void [noderef] *addr
    drivers/phy/broadcom/phy-brcm-usb-init.c:847:37: got void *
    drivers/phy/broadcom/phy-brcm-usb-init.c:422:13: warning: incorrect type in assignment (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:422:13: expected void *reg
    drivers/phy/broadcom/phy-brcm-usb-init.c:422:13: got void [noderef] *
    drivers/phy/broadcom/phy-brcm-usb-init.c:423:38: warning: incorrect type in argument 1 (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:423:38: expected void [noderef] *addr
    drivers/phy/broadcom/phy-brcm-usb-init.c:423:38: got void *reg
    drivers/phy/broadcom/phy-brcm-usb-init.c:423:52: warning: incorrect type in argument 2 (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:423:52: expected void [noderef] *addr
    drivers/phy/broadcom/phy-brcm-usb-init.c:423:52: got void *reg
    drivers/phy/broadcom/phy-brcm-usb-init.c:422:13: warning: incorrect type in assignment (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:422:13: expected void *reg
    drivers/phy/broadcom/phy-brcm-usb-init.c:422:13: got void [noderef] *
    drivers/phy/broadcom/phy-brcm-usb-init.c:423:38: warning: incorrect type in argument 1 (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:423:38: expected void [noderef] *addr
    drivers/phy/broadcom/phy-brcm-usb-init.c:423:38: got void *reg
    drivers/phy/broadcom/phy-brcm-usb-init.c:423:52: warning: incorrect type in argument 2 (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:423:52: expected void [noderef] *addr
    drivers/phy/broadcom/phy-brcm-usb-init.c:423:52: got void *reg
    drivers/phy/broadcom/phy-brcm-usb-init.c:434:13: warning: incorrect type in assignment (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:434:13: expected void *reg
    drivers/phy/broadcom/phy-brcm-usb-init.c:434:13: got void [noderef] *
    drivers/phy/broadcom/phy-brcm-usb-init.c:435:38: warning: incorrect type in argument 1 (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:435:38: expected void [noderef] *addr
    drivers/phy/broadcom/phy-brcm-usb-init.c:435:38: got void *reg
    drivers/phy/broadcom/phy-brcm-usb-init.c:435:51: warning: incorrect type in argument 2 (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:435:51: expected void [noderef] *addr
    drivers/phy/broadcom/phy-brcm-usb-init.c:435:51: got void *reg
    drivers/phy/broadcom/phy-brcm-usb-init.c:878:9: warning: cast removes address space '' of expression
    drivers/phy/broadcom/phy-brcm-usb-init.c:878:9: warning: incorrect type in argument 1 (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:878:9: expected void [noderef] *reg
    drivers/phy/broadcom/phy-brcm-usb-init.c:878:9: got void *
    drivers/phy/broadcom/phy-brcm-usb-init.c:880:29: warning: cast removes address space '' of expression
    drivers/phy/broadcom/phy-brcm-usb-init.c:880:29: warning: incorrect type in argument 1 (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:880:29: expected void [noderef] *addr
    drivers/phy/broadcom/phy-brcm-usb-init.c:880:29: got void *
    drivers/phy/broadcom/phy-brcm-usb-init.c:896:29: warning: cast removes address space '' of expression
    drivers/phy/broadcom/phy-brcm-usb-init.c:896:29: warning: incorrect type in argument 2 (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:896:29: expected void [noderef] *addr
    drivers/phy/broadcom/phy-brcm-usb-init.c:896:29: got void *
    drivers/phy/broadcom/phy-brcm-usb-init.c:901:37: warning: cast removes address space '' of expression
    drivers/phy/broadcom/phy-brcm-usb-init.c:901:37: warning: incorrect type in argument 1 (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:901:37: expected void [noderef] *addr
    drivers/phy/broadcom/phy-brcm-usb-init.c:901:37: got void *
    drivers/phy/broadcom/phy-brcm-usb-init.c:905:37: warning: cast removes address space '' of expression
    drivers/phy/broadcom/phy-brcm-usb-init.c:905:37: warning: incorrect type in argument 2 (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:905:37: expected void [noderef] *addr
    drivers/phy/broadcom/phy-brcm-usb-init.c:905:37: got void *
    drivers/phy/broadcom/phy-brcm-usb-init.c:422:13: warning: incorrect type in assignment (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:422:13: expected void *reg
    drivers/phy/broadcom/phy-brcm-usb-init.c:422:13: got void [noderef] *
    drivers/phy/broadcom/phy-brcm-usb-init.c:423:38: warning: incorrect type in argument 1 (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:423:38: expected void [noderef] *addr
    drivers/phy/broadcom/phy-brcm-usb-init.c:423:38: got void *reg
    drivers/phy/broadcom/phy-brcm-usb-init.c:423:52: warning: incorrect type in argument 2 (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:423:52: expected void [noderef] *addr
    drivers/phy/broadcom/phy-brcm-usb-init.c:423:52: got void *reg
    drivers/phy/broadcom/phy-brcm-usb-init.c:422:13: warning: incorrect type in assignment (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:422:13: expected void *reg
    drivers/phy/broadcom/phy-brcm-usb-init.c:422:13: got void [noderef] *
    drivers/phy/broadcom/phy-brcm-usb-init.c:423:38: warning: incorrect type in argument 1 (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:423:38: expected void [noderef] *addr
    drivers/phy/broadcom/phy-brcm-usb-init.c:423:38: got void *reg
    drivers/phy/broadcom/phy-brcm-usb-init.c:423:52: warning: incorrect type in argument 2 (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:423:52: expected void [noderef] *addr
    drivers/phy/broadcom/phy-brcm-usb-init.c:423:52: got void *reg
    drivers/phy/broadcom/phy-brcm-usb-init.c:434:13: warning: incorrect type in assignment (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:434:13: expected void *reg
    drivers/phy/broadcom/phy-brcm-usb-init.c:434:13: got void [noderef] *
    drivers/phy/broadcom/phy-brcm-usb-init.c:435:38: warning: incorrect type in argument 1 (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:435:38: expected void [noderef] *addr
    drivers/phy/broadcom/phy-brcm-usb-init.c:435:38: got void *reg
    drivers/phy/broadcom/phy-brcm-usb-init.c:435:51: warning: incorrect type in argument 2 (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:435:51: expected void [noderef] *addr
    drivers/phy/broadcom/phy-brcm-usb-init.c:435:51: got void *reg
    drivers/phy/broadcom/phy-brcm-usb-init.c:434:13: warning: incorrect type in assignment (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:434:13: expected void *reg
    drivers/phy/broadcom/phy-brcm-usb-init.c:434:13: got void [noderef] *
    drivers/phy/broadcom/phy-brcm-usb-init.c:435:38: warning: incorrect type in argument 1 (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:435:38: expected void [noderef] *addr
    drivers/phy/broadcom/phy-brcm-usb-init.c:435:38: got void *reg
    drivers/phy/broadcom/phy-brcm-usb-init.c:435:51: warning: incorrect type in argument 2 (different address spaces)
    drivers/phy/broadcom/phy-brcm-usb-init.c:435:51: expected void [noderef] *addr
    drivers/phy/broadcom/phy-brcm-usb-init.c:435:51: got void *reg
    drivers/phy/broadcom/phy-brcm-usb-init.c:422:13: warning: too many warnings

    Signed-off-by: Ben Dooks
    Signed-off-by: Kishon Vijay Abraham I

    Ben Dooks
     

01 Jul, 2019

2 commits

  • …linux-phy into usb-next

    phy: for 5.3

    *) Add a new PHY driver for Qualcomm PCIe2 PHY
    *) Add a new PHY driver for Mixel DPHY present in i.MX8
    *) Fix Qualcomm QMP UFS PHY driver from incorrectly reporting that
    PHY enable failed
    *) Fix _BUG_ on Amlogic G12A USB3 + PCIE Combo PHY Driver due to
    calling a sleeping function from invalid context
    *) Fix WARN_ON dump on rcar-gen3-usb2 PHY driver caused due to
    imbalance powered flag
    *) Fix .cocci and sparse warnings

    Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>

    * tag 'phy-for-5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/kishon/linux-phy:
    phy: qcom-qmp: Raise qcom_qmp_phy_enable() polling delay
    phy: meson-g12a-usb3-pcie: disable locking for cr_regmap
    phy: Add driver for mixel mipi dphy found on NXP's i.MX8 SoCs
    dt-bindings: phy: Add documentation for mixel dphy
    dt-bindings: phy-pxa-usb: add bindings
    phy: renesas: rcar-gen3-usb2: fix imbalance powered flag
    phy: qcom-qmp: Drop useless msm8998_pciephy_cfg setting
    phy: qcom-qmp: Correct READY_STATUS poll break condition
    phy: ti: am654-serdes: Make serdes_am654_xlate() static
    phy: usb: phy-brcm-usb: Fix platform_no_drv_owner.cocci warnings
    phy: samsung: Use struct_size() in devm_kzalloc()
    phy: qcom: Add Qualcomm PCIe2 PHY driver
    dt-bindings: phy: Add binding for Qualcomm PCIe2 PHY

    Greg Kroah-Hartman
     
  • …ishon/linux-phy into usb-next

    Kishon writes:

    phy: for 5.2-rc

    *) Move Tegra124 PLL power supplies to be enabled by xusb-tegra124
    *) Move Tegra210 PLL power supplies to be enabled by xusb-tegra210
    *) Minor fixes: fix memory leaks at error path and addresses coverity.

    Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>

    * tag 'phy-for-5.2-rc_v2' of git://git.kernel.org/pub/scm/linux/kernel/git/kishon/linux-phy:
    phy: tegra: xusb: Add Tegra210 PLL power supplies
    phy: tegra: xusb: Add Tegra124 PLL power supplies
    dt-bindings: phy: tegra-xusb: List PLL power supplies
    phy: usb: phy-brcm-usb: Remove sysfs attributes upon driver removal
    phy: renesas: rcar-gen2: Fix memory leak at error paths
    phy: qcom-qusb2: fix missing assignment of ret when calling clk_prepare_enable

    Greg Kroah-Hartman
     

20 Jun, 2019

1 commit


19 Jun, 2019

1 commit

  • Based on 2 normalized pattern(s):

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license version 2 as
    published by the free software foundation

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license version 2 as
    published by the free software foundation #

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-only

    has been chosen to replace the boilerplate/reference in 4122 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Enrico Weigelt
    Reviewed-by: Kate Stewart
    Reviewed-by: Allison Randal
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190604081206.933168790@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     

12 Jun, 2019

1 commit

  • We are not destroying the sysfs attribute groupe we registered during
    the probe function which will make subsequent probe calls to that
    driver fail. Correct that with adding a remove function which only
    removes those attributes since the reference counting on clocks did its
    job already.

    Fixes: 415060b21f31 ("phy: usb: phy-brcm-usb: Add ability to force DRD mode to host or device")
    Signed-off-by: Florian Fainelli
    Signed-off-by: Kishon Vijay Abraham I

    Florian Fainelli
     

05 Jun, 2019

1 commit

  • Based on 1 normalized pattern(s):

    this software is licensed under the terms of the gnu general public
    license version 2 as published by the free software foundation and
    may be copied distributed and modified under those terms this
    program is distributed in the hope that it will be useful but
    without any warranty without even the implied warranty of
    merchantability or fitness for a particular purpose see the gnu
    general public license for more details

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-only

    has been chosen to replace the boilerplate/reference in 285 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Alexios Zavras
    Reviewed-by: Allison Randal
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190529141900.642774971@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     

24 May, 2019

1 commit

  • Based on 1 normalized pattern(s):

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license as published by
    the free software foundation either version 2 or at your option any
    later version this program is distributed in the hope that it will
    be useful but without any warranty without even the implied warranty
    of merchantability or fitness for a particular purpose see the gnu
    general public license for more details

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-or-later

    has been chosen to replace the boilerplate/reference in 44 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Richard Fontana
    Reviewed-by: Allison Randal
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190523091651.032047323@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     

21 May, 2019

1 commit


17 Apr, 2019

1 commit

  • USB PHY driver supports two types of stingray USB PHYs
    - Type 1 is a combo PHY contains two PHYs, one SS and one HS.
    - Type 2 is a single HS PHY.

    These two PHY versons support both Generic xHCI host controller driver
    and BDC Broadcom device controller driver.

    Signed-off-by: Srinath Mannam
    Signed-off-by: Kishon Vijay Abraham I

    Srinath Mannam
     

07 Feb, 2019

1 commit


25 Sep, 2018

3 commits


10 Sep, 2018

1 commit