mirror of
https://github.com/u-boot/u-boot.git
synced 2024-12-12 06:03:30 +08:00
mpc85xx/portals: Add qman and bman ip_cfg field into portal info
Because QMan3.0 and BMan2.1 used ip_cfg in ip_rev_2 register to differ the total portal number, buffer pool number etc, we can use this info to limit those resources in kernel driver. Signed-off-by: Haiying Wang <Haiying.Wang@freescale.com> Signed-off-by: Andy Fleming <afleming@freescale.com>
This commit is contained in:
parent
ee52b188ca
commit
b0e8115741
@ -182,14 +182,18 @@ void fdt_fixup_qportals(void *blob)
|
||||
{
|
||||
int off, err;
|
||||
unsigned int maj, min;
|
||||
unsigned int ip_cfg;
|
||||
u32 rev_1 = in_be32(&qman->ip_rev_1);
|
||||
u32 rev_2 = in_be32(&qman->ip_rev_2);
|
||||
char compat[64];
|
||||
int compat_len;
|
||||
|
||||
maj = (rev_1 >> 8) & 0xff;
|
||||
min = rev_1 & 0xff;
|
||||
ip_cfg = rev_2 & 0xff;
|
||||
|
||||
compat_len = sprintf(compat, "fsl,qman-portal-%u.%u", maj, min) + 1;
|
||||
compat_len = sprintf(compat, "fsl,qman-portal-%u.%u.%u",
|
||||
maj, min, ip_cfg) + 1;
|
||||
compat_len += sprintf(compat + compat_len, "fsl,qman-portal") + 1;
|
||||
|
||||
off = fdt_node_offset_by_compatible(blob, -1, "fsl,qman-portal");
|
||||
@ -267,14 +271,19 @@ void fdt_fixup_bportals(void *blob)
|
||||
{
|
||||
int off, err;
|
||||
unsigned int maj, min;
|
||||
unsigned int ip_cfg;
|
||||
u32 rev_1 = in_be32(&bman->ip_rev_1);
|
||||
u32 rev_2 = in_be32(&bman->ip_rev_2);
|
||||
char compat[64];
|
||||
int compat_len;
|
||||
|
||||
maj = (rev_1 >> 8) & 0xff;
|
||||
min = rev_1 & 0xff;
|
||||
|
||||
compat_len = sprintf(compat, "fsl,bman-portal-%u.%u", maj, min) + 1;
|
||||
ip_cfg = rev_2 & 0xff;
|
||||
|
||||
compat_len = sprintf(compat, "fsl,bman-portal-%u.%u.%u",
|
||||
maj, min, ip_cfg) + 1;
|
||||
compat_len += sprintf(compat + compat_len, "fsl,bman-portal") + 1;
|
||||
|
||||
off = fdt_node_offset_by_compatible(blob, -1, "fsl,bman-portal");
|
||||
|
Loading…
Reference in New Issue
Block a user