• N
    dma: xlnx-zynq-devcfg: Fix up XLNX_ZYNQ_DEVCFG_R_MAX · a43639b1
    Nathan Rossi 提交于
    Whilst according to the Zynq TRM this device covers a register region of
    0x000 - 0x120. The register region is also shared with XADCIF prefix
    registers at 0x100 and above. Due to how the devcfg and the xadc devices
    are implemented in QEMU these are separate models with individual mmio
    regions. As such the region registered by the devcfg overlaps with the
    xadc when initialized in a machine model (e.g. xilinx-zynq-a9).
    
    This patch fixes up the incorrect region size, where
    XLNX_ZYNQ_DEVCFG_R_MAX is missing its '/ 4' causing it to be 0x460 in
    size. As well as setting the region size to the 0x0 - 0x100 region so
    that an xadc device instance can be registered in the correct region to
    pair with the devcfg device instance.
    
    Mapping with XLNX_ZYNQ_DEVCFG_R_MAX = 0x118:
      dev: xlnx.ps7-dev-cfg, id ""
        mmio 00000000f8007000/0000000000000460
      dev: xlnx,zynq-xadc, id ""
        mmio 00000000f8007100/0000000000000020
    
    Mapping with XLNX_ZYNQ_DEVCFG_R_MAX = 0x100 / 4:
      dev: xlnx.ps7-dev-cfg, id ""
        mmio 00000000f8007000/0000000000000100
      dev: xlnx,zynq-xadc, id ""
        mmio 00000000f8007100/0000000000000020
    Signed-off-by: NNathan Rossi <nathan@nathanrossi.com>
    Reviewed-by: NAlistair Francis <alistair.francis@xilinx.com>
    Message-id: 20160921180911.32289-1-nathan@nathanrossi.com
    Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
    a43639b1
xlnx-zynq-devcfg.h 2.0 KB