Re: [PATCH linux dev-5.3] fsi: aspeed: Clean up defines and documentation
Andrew Jeffery
andrew at aj.id.au
Mon Nov 4 15:09:30 AEDT 2019
On Mon, 4 Nov 2019, at 14:32, Joel Stanley wrote:
> Some of the registers lacked documetation but now can be properly named.
>
> Rename FW to FULLWORD so no one thinks it means 'firmware'.
>
> The "enable DMA" comment was setting the FSI access direction for DMA.
> As the driver does not yet use DMA it can be removed without effect.
>
> Signed-off-by: Joel Stanley <joel at jms.id.au>
This appears to go on top of my FSI series which goes on top of your other FSI that is a rework of my other FSI series. We should probably start merging these patches :D
Acked-by: Andrew Jeffery <andrew at aj.id.au>
> ---
> drivers/fsi/fsi-master-aspeed.c | 34 ++++++++++++++++++++-------------
> 1 file changed, 21 insertions(+), 13 deletions(-)
>
> diff --git a/drivers/fsi/fsi-master-aspeed.c b/drivers/fsi/fsi-master-aspeed.c
> index 94e9b4f3418a..8da29fb9a69e 100644
> --- a/drivers/fsi/fsi-master-aspeed.c
> +++ b/drivers/fsi/fsi-master-aspeed.c
> @@ -63,15 +63,23 @@ static const u32 fsi_base = 0xa0000000;
> #define OPB0_FSI_ADDR 0x1c
> #define OPB0_FSI_DATA_W 0x20
> #define OPB0_STATUS 0x80
> -/* half world */
> -#define STATUS_HW_ACK BIT(0)
> -/* full word */
> -#define STATUS_FW_ACK BIT(1)
> -#define STATUS_ERR_ACK BIT(2)
> #define OPB0_FSI_DATA_R 0x84
>
> -#define OPB0_W_ENDIAN 0x4c
> -#define OPB0_R_ENDIAN 0x5c
> +#define OPB0_WRITE_ORDER1 0x4c
> +#define OPB0_WRITE_ORDER2 0x50
> +#define OPB1_WRITE_ORDER1 0x54
> +#define OPB1_WRITE_ORDER2 0x58
> +#define OPB0_READ_ORDER1 0x5c
> +#define OPB1_READ_ORDER2 0x60
> +
> +#define OPB_RETRY_COUNTER 0x64
> +
> +/* OPBn_STATUS */
> +#define STATUS_HALFWORD_ACK BIT(0)
> +#define STATUS_FULLWORD_ACK BIT(1)
> +#define STATUS_ERR_ACK BIT(2)
> +#define STATUS_RETRY BIT(3)
> +#define STATUS_TIMEOUT BIT(4)
>
> /* OPB_IRQ_MASK */
> #define OPB1_XFER_ACK_EN BIT(17)
> @@ -575,19 +583,19 @@ static int fsi_master_aspeed_probe(struct
> platform_device *pdev)
> writel(0x1, aspeed->base + OPB_CLK_SYNC);
> writel(OPB1_XFER_ACK_EN | OPB0_XFER_ACK_EN,
> aspeed->base + OPB_IRQ_MASK);
> - /* TODO: Try without this */
> - writel(0x10, aspeed->base + 0x64); // Retry counter number ???
> - writel(0x0f, aspeed->base + 0xe4); // DMA Enable
> +
> + /* TODO: determine an appropriate value */
> + writel(0x10, aspeed->base + OPB_RETRY_COUNTER);
>
> writel(ctrl_base, aspeed->base + OPB_CTRL_BASE);
> writel(fsi_base, aspeed->base + OPB_FSI_BASE);
>
> /* Set read data order */
> - writel(0x00030b1b, aspeed->base + OPB0_R_ENDIAN);
> + writel(0x00030b1b, aspeed->base + OPB0_READ_ORDER1);
>
> /* Set write data order */
> - writel(0x0011101b, aspeed->base + OPB0_W_ENDIAN);
> - writel(0x0c330f3f, aspeed->base + 0x50);
> + writel(0x0011101b, aspeed->base + OPB0_WRITE_ORDER1);
> + writel(0x0c330f3f, aspeed->base + OPB0_WRITE_ORDER2);
>
> /*
> * Select OPB0 for all operations.
> --
> 2.24.0.rc1
>
>
More information about the openbmc
mailing list