Skip to content
Snippets Groups Projects
Select Git revision
  • master default protected
  • early-display
  • variant-emmc-nvme-boot
  • 2023-01-25
  • v3
  • variant-emmc-nvme-boot
  • 2020-06-01
7 results

designware_spi.c

Blame
  • Forked from Reform / reform-boundary-uboot
    Source project has a limited visibility.
    • Eugeniy Paltsev's avatar
      4b5f6c52
      DW SPI: use 32 bit access instead of 16 and 32 bit mix · 4b5f6c52
      Eugeniy Paltsev authored
      
      Current DW SPI driver uses 32 bit access for some registers and
      16 bit access for others. So if DW SPI IP is connected via bus
      which doesn't support 16 bit access we will get bus error.
      
      Fix that by switching to 32 bit access only instead of 16 and 32 bit mix
      
      Additional Documentation to Support this Change:
      The DW_apb_ssi databook states:
      "All registers in the DW_apb_ssi are addressed at 32-bit boundaries
      to remain consistent with the AHB bus. Where the physical size of
      any register is less than 32-bits wide, the upper unused bits of
      the 32-bit boundary are reserved. Writing to these bits has no
      effect; reading from these bits returns 0." [1]
      
      [1] Section 6.1 of dw_apb_ssi.pdf (version 3.22a)
      
      Signed-off-by: default avatarEugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
      Reviewed-by: default avatarJagan Teki <jagan@openedev.com>
      4b5f6c52
      History
      DW SPI: use 32 bit access instead of 16 and 32 bit mix
      Eugeniy Paltsev authored
      
      Current DW SPI driver uses 32 bit access for some registers and
      16 bit access for others. So if DW SPI IP is connected via bus
      which doesn't support 16 bit access we will get bus error.
      
      Fix that by switching to 32 bit access only instead of 16 and 32 bit mix
      
      Additional Documentation to Support this Change:
      The DW_apb_ssi databook states:
      "All registers in the DW_apb_ssi are addressed at 32-bit boundaries
      to remain consistent with the AHB bus. Where the physical size of
      any register is less than 32-bits wide, the upper unused bits of
      the 32-bit boundary are reserved. Writing to these bits has no
      effect; reading from these bits returns 0." [1]
      
      [1] Section 6.1 of dw_apb_ssi.pdf (version 3.22a)
      
      Signed-off-by: default avatarEugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
      Reviewed-by: default avatarJagan Teki <jagan@openedev.com>