Re: [PATCH v9 4/6] Documentation: DT: PL011: hi6220: add compatible string for Hisilicon designed UART

From: Bintian
Date: Tue Jun 02 2015 - 07:04:20 EST


On 2015/6/2 16:59, Linus Walleij wrote:
On Sat, May 30, 2015 at 3:50 AM, Bintian Wang <bintian.wang@xxxxxxxxxx> wrote:

Hisilicon does some performance enhancements based on PL011(e.g. larger
FIFO length), so add one compatible string "hisilicon,hi6220-uart" for

That compatible string in the commit message is not even
the same as in the patch.
The UART0 is PL011 compatible, the UART1/2 have some performance
enhancements features, so based on Mark's suggestion and I add this
compatible string just for future use.


future optimisations or workarounds works.

Signed-off-by: Bintian Wang <bintian.wang@xxxxxxxxxx>
Suggested-by: Mark Rutland <mark.rutland@xxxxxxx>

Maybe I missed out on the earlier conversation, but do you
mean that the PrimeCell ID has not been properly set up
to something unique in this HiSilicon version of the PL011
block?

Even if so: do not override the compatible string like this,
that is not the PrimeCell style.

Define an 8 bit vendor ID (like tha ASCII for 'H' 0x48
or whatever) and encode it for these variants, if the
hardware is just using the ARM default PrimeCell
ID, override it in the device tree like Broadcom
are doing in arch/arm/boot/dts/bcm2835.dtsi:

arm,primecell-periphid = <0x00241011>;

Maybe yours would be:

arm,primecell-periphid = <0x00048011>;

For a first HiSilicon variant, then do some
<include/linux/amba/bus.h>:

enum amba_vendor {
AMBA_VENDOR_ARM = 0x41,
+ AMBA_VENDOR_HISILICON = 0x48,

Then patch drivers/tty/serial/amba_pl011.c to add vendor_hisilicon
and a match table for 0x00048011 just like everyone else.

Thanks and BR,

Bintian
Yours,
Linus Walleij

.


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/