* [PATCH 1/5] powerpc: dts: klondike: Add AHB, APB bus; remove OPB bus
@ 2012-04-02 6:39 Tanmay Inamdar
2012-04-02 6:39 ` [PATCH 2/5] powerpc: 40x: Add AHB, APB of_device_ids Tanmay Inamdar
0 siblings, 1 reply; 8+ messages in thread
From: Tanmay Inamdar @ 2012-04-02 6:39 UTC (permalink / raw)
To: benh, jwboyer, grant.likely, linuxppc-dev, linux-kernel,
devicetree-discuss
Cc: Tanmay Inamdar
Add entries in klondike device tree for AHB and APB bus and remove entry for
non-existent OPB bus inherited from legacy code.
Signed-off-by: Tanmay Inamdar <tinamdar@apm•com>
---
:100644 100644 8c94290... 4ff2852... M arch/powerpc/boot/dts/klondike.dts
arch/powerpc/boot/dts/klondike.dts | 167 ++++++++++++++++++-----------------
1 files changed, 86 insertions(+), 81 deletions(-)
diff --git a/arch/powerpc/boot/dts/klondike.dts b/arch/powerpc/boot/dts/klondike.dts
index 8c94290..4ff2852 100644
--- a/arch/powerpc/boot/dts/klondike.dts
+++ b/arch/powerpc/boot/dts/klondike.dts
@@ -132,96 +132,101 @@
/*RXDE*/ 0x3 0x4>;
};
- POB0: opb {
- compatible = "ibm,opb";
- #address-cells = <1>;
- #size-cells = <1>;
- ranges = <0x20000000 0x20000000 0x30000000
- 0x50000000 0x50000000 0x10000000
- 0x60000000 0x60000000 0x10000000
- 0xFE000000 0xFE000000 0x00010000>;
- dcr-reg = <0x100 0x020>;
- clock-frequency = <300000000>; /* Filled in by U-Boot */
+ RGMII0: emac-rgmii@400a2000 {
+ compatible = "ibm,rgmii";
+ reg = <0x400a2000 0x00000010>;
+ has-mdio;
+ };
- RGMII0: emac-rgmii@400a2000 {
- compatible = "ibm,rgmii";
- reg = <0x400a2000 0x00000010>;
- has-mdio;
- };
+ TAH0: emac-tah@400a3000 {
+ compatible = "ibm,tah";
+ reg = <0x400a3000 0x100>;
+ };
- TAH0: emac-tah@400a3000 {
- compatible = "ibm,tah";
- reg = <0x400a3000 0x100>;
- };
+ TAH1: emac-tah@400a4000 {
+ compatible = "ibm,tah";
+ reg = <0x400a4000 0x100>;
+ };
- TAH1: emac-tah@400a4000 {
- compatible = "ibm,tah";
- reg = <0x400a4000 0x100>;
- };
+ EMAC0: ethernet@400a0000 {
+ compatible = "ibm,emac4", "ibm-emac4sync";
+ interrupt-parent = <&EMAC0>;
+ interrupts = <0x0>;
+ #interrupt-cells = <1>;
+ #address-cells = <0>;
+ #size-cells = <0>;
+ interrupt-map = </*Status*/ 0x0 &UIC0 0x13 0x4>;
+ reg = <0x400a0000 0x00000100>;
+ local-mac-address = [000000000000]; /* Filled in by U-Boot */
+ mal-device = <&MAL0>;
+ mal-tx-channel = <0x0>;
+ mal-rx-channel = <0x0>;
+ cell-index = <0>;
+ max-frame-size = <9000>;
+ rx-fifo-size = <4096>;
+ tx-fifo-size = <2048>;
+ phy-mode = "rgmii";
+ phy-address = <0x2>;
+ turbo = "no";
+ phy-map = <0x00000000>;
+ rgmii-device = <&RGMII0>;
+ rgmii-channel = <0>;
+ tah-device = <&TAH0>;
+ tah-channel = <0>;
+ has-inverted-stacr-oc;
+ has-new-stacr-staopc;
+ };
- EMAC0: ethernet@400a0000 {
- compatible = "ibm,emac4", "ibm-emac4sync";
- interrupt-parent = <&EMAC0>;
- interrupts = <0x0>;
- #interrupt-cells = <1>;
- #address-cells = <0>;
- #size-cells = <0>;
- interrupt-map = </*Status*/ 0x0 &UIC0 0x13 0x4>;
- reg = <0x400a0000 0x00000100>;
- local-mac-address = [000000000000]; /* Filled in by U-Boot */
- mal-device = <&MAL0>;
- mal-tx-channel = <0x0>;
- mal-rx-channel = <0x0>;
- cell-index = <0>;
- max-frame-size = <9000>;
- rx-fifo-size = <4096>;
- tx-fifo-size = <2048>;
- phy-mode = "rgmii";
- phy-address = <0x2>;
- turbo = "no";
- phy-map = <0x00000000>;
- rgmii-device = <&RGMII0>;
- rgmii-channel = <0>;
- tah-device = <&TAH0>;
- tah-channel = <0>;
- has-inverted-stacr-oc;
- has-new-stacr-staopc;
- };
+ EMAC1: ethernet@400a1000 {
+ compatible = "ibm,emac4", "ibm-emac4sync";
+ status = "disabled";
+ interrupt-parent = <&EMAC1>;
+ interrupts = <0x0>;
+ #interrupt-cells = <1>;
+ #address-cells = <0>;
+ #size-cells = <0>;
+ interrupt-map = </*Status*/ 0x0 &UIC0 0x14 0x4>;
+ reg = <0x400a1000 0x00000100>;
+ local-mac-address = [000000000000]; /* Filled in by U-Boot */
+ mal-device = <&MAL0>;
+ mal-tx-channel = <1>;
+ mal-rx-channel = <8>;
+ cell-index = <1>;
+ max-frame-size = <9000>;
+ rx-fifo-size = <4096>;
+ tx-fifo-size = <2048>;
+ phy-mode = "rgmii";
+ phy-address = <0x3>;
+ turbo = "no";
+ phy-map = <0x00000000>;
+ rgmii-device = <&RGMII0>;
+ rgmii-channel = <1>;
+ tah-device = <&TAH1>;
+ tah-channel = <0>;
+ has-inverted-stacr-oc;
+ has-new-stacr-staopc;
+ mdio-device = <&EMAC0>;
+ };
- EMAC1: ethernet@400a1000 {
- compatible = "ibm,emac4", "ibm-emac4sync";
- status = "disabled";
- interrupt-parent = <&EMAC1>;
- interrupts = <0x0>;
- #interrupt-cells = <1>;
- #address-cells = <0>;
- #size-cells = <0>;
- interrupt-map = </*Status*/ 0x0 &UIC0 0x14 0x4>;
- reg = <0x400a1000 0x00000100>;
- local-mac-address = [000000000000]; /* Filled in by U-Boot */
- mal-device = <&MAL0>;
- mal-tx-channel = <1>;
- mal-rx-channel = <8>;
- cell-index = <1>;
- max-frame-size = <9000>;
- rx-fifo-size = <4096>;
- tx-fifo-size = <2048>;
- phy-mode = "rgmii";
- phy-address = <0x3>;
- turbo = "no";
- phy-map = <0x00000000>;
- rgmii-device = <&RGMII0>;
- rgmii-channel = <1>;
- tah-device = <&TAH1>;
- tah-channel = <0>;
- has-inverted-stacr-oc;
- has-new-stacr-staopc;
- mdio-device = <&EMAC0>;
+ AHB: ahb {
+ compatible = "apm,ahb";
+ dcr-reg = <0xc 0x2>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+ clock-frequency = <0>; /* Filled in by U-Boot */
+
+ APB: apb {
+ compatible = "apm,apb";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+ clock-frequency = <0>;
};
};
};
chosen {
- linux,stdout-path = "/plb/opb/serial@50001000";
+ linux,stdout-path = "/plb/ahb/apb/serial@50001000";
};
};
--
1.6.1.rc3
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 2/5] powerpc: 40x: Add AHB, APB of_device_ids
2012-04-02 6:39 [PATCH 1/5] powerpc: dts: klondike: Add AHB, APB bus; remove OPB bus Tanmay Inamdar
@ 2012-04-02 6:39 ` Tanmay Inamdar
2012-04-02 6:39 ` [PATCH 3/5] powerpc: dts: klondike: Add UART nodes Tanmay Inamdar
0 siblings, 1 reply; 8+ messages in thread
From: Tanmay Inamdar @ 2012-04-02 6:39 UTC (permalink / raw)
To: benh, jwboyer, grant.likely, linuxppc-dev, linux-kernel,
devicetree-discuss
Cc: Tanmay Inamdar
Adding of_device_id's for AHB and APB buses used in klondike (APM8018X) in
platforms/40x/ppc40x_simple.c file
Signed-off-by: Tanmay Inamdar <tinamdar@apm•com>
---
:100644 100644 9761206... 7b518ed... M arch/powerpc/platforms/40x/ppc40x_simple.c
arch/powerpc/platforms/40x/ppc40x_simple.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/arch/powerpc/platforms/40x/ppc40x_simple.c b/arch/powerpc/platforms/40x/ppc40x_simple.c
index 9761206..7b518ed 100644
--- a/arch/powerpc/platforms/40x/ppc40x_simple.c
+++ b/arch/powerpc/platforms/40x/ppc40x_simple.c
@@ -29,6 +29,8 @@ static __initdata struct of_device_id ppc40x_of_bus[] = {
{ .compatible = "ibm,plb4", },
{ .compatible = "ibm,opb", },
{ .compatible = "ibm,ebc", },
+ { .compatible = "apm,ahb", },
+ { .compatible = "apm,apb", },
{ .compatible = "simple-bus", },
{},
};
--
1.6.1.rc3
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 3/5] powerpc: dts: klondike: Add UART nodes
2012-04-02 6:39 ` [PATCH 2/5] powerpc: 40x: Add AHB, APB of_device_ids Tanmay Inamdar
@ 2012-04-02 6:39 ` Tanmay Inamdar
2012-04-02 6:39 ` [PATCH 4/5] powerpc: config: 40x: Add 16650 UART support in klondike defconfig Tanmay Inamdar
2012-04-03 15:57 ` [PATCH 3/5] powerpc: dts: klondike: Add UART nodes Grant Likely
0 siblings, 2 replies; 8+ messages in thread
From: Tanmay Inamdar @ 2012-04-02 6:39 UTC (permalink / raw)
To: benh, jwboyer, grant.likely, linuxppc-dev, linux-kernel,
devicetree-discuss
Cc: Tanmay Inamdar
Adding UART nodes in Klondike device tree file.
Signed-off-by: Tanmay Inamdar <tinamdar@apm•com>
---
:100644 100644 4ff2852... d5bf2e1... M arch/powerpc/boot/dts/klondike.dts
arch/powerpc/boot/dts/klondike.dts | 24 ++++++++++++++++++++++++
1 files changed, 24 insertions(+), 0 deletions(-)
diff --git a/arch/powerpc/boot/dts/klondike.dts b/arch/powerpc/boot/dts/klondike.dts
index 4ff2852..d5bf2e1 100644
--- a/arch/powerpc/boot/dts/klondike.dts
+++ b/arch/powerpc/boot/dts/klondike.dts
@@ -222,6 +222,30 @@
#size-cells = <1>;
ranges;
clock-frequency = <0>;
+
+ UART0: serial@50001000 {
+ device_type = "serial";
+ compatible = "ns16550";
+ reg = <0x50001000 0x00000100>;
+ virtual-reg = <0x50001000>;
+ clock-frequency = <0>; /* Filled in by U-Boot */
+ current-speed = <115200>;
+ interrupt-parent = <&UIC0>;
+ interrupts = <0x0 0x4>;
+ reg-shift = <2>;
+ };
+
+ UART1: serial@50002000 {
+ device_type = "serial";
+ compatible = "ns16550";
+ reg = <0x50002000 0x00000100>;
+ virtual-reg = <0x50002000>;
+ clock-frequency = <0>; /* Filled in by U-Boot */
+ current-speed = <115200>;
+ interrupt-parent = <&UIC0>;
+ interrupts = <0x1 0x4>;
+ reg-shift = <2>;
+ };
};
};
};
--
1.6.1.rc3
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 4/5] powerpc: config: 40x: Add 16650 UART support in klondike defconfig
2012-04-02 6:39 ` [PATCH 3/5] powerpc: dts: klondike: Add UART nodes Tanmay Inamdar
@ 2012-04-02 6:39 ` Tanmay Inamdar
2012-04-02 6:39 ` [PATCH 5/5] powerpc: kernel: 16650 UART reg-shift support Tanmay Inamdar
2012-04-03 15:57 ` [PATCH 3/5] powerpc: dts: klondike: Add UART nodes Grant Likely
1 sibling, 1 reply; 8+ messages in thread
From: Tanmay Inamdar @ 2012-04-02 6:39 UTC (permalink / raw)
To: benh, jwboyer, grant.likely, linuxppc-dev, linux-kernel,
devicetree-discuss
Cc: Tanmay Inamdar
Adding 16650 UART support in klondike_defconfig for APM8018X SOC
Signed-off-by: Tanmay Inamdar <tinamdar@apm•com>
---
:100644 100644 c0d228d... c35c345... M arch/powerpc/configs/40x/klondike_defconfig
arch/powerpc/configs/40x/klondike_defconfig | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/arch/powerpc/configs/40x/klondike_defconfig b/arch/powerpc/configs/40x/klondike_defconfig
index c0d228d..c35c345 100644
--- a/arch/powerpc/configs/40x/klondike_defconfig
+++ b/arch/powerpc/configs/40x/klondike_defconfig
@@ -30,6 +30,12 @@ CONFIG_SCSI_SAS_ATTRS=y
# CONFIG_UNIX98_PTYS is not set
# CONFIG_LEGACY_PTYS is not set
# CONFIG_DEVKMEM is not set
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_NR_UARTS=2
+CONFIG_SERIAL_8250_RUNTIME_UARTS=2
+CONFIG_SERIAL_8250_EXTENDED=y
+CONFIG_SERIAL_OF_PLATFORM=y
# CONFIG_HW_RANDOM is not set
# CONFIG_HWMON is not set
# CONFIG_USB_SUPPORT is not set
--
1.6.1.rc3
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 5/5] powerpc: kernel: 16650 UART reg-shift support
2012-04-02 6:39 ` [PATCH 4/5] powerpc: config: 40x: Add 16650 UART support in klondike defconfig Tanmay Inamdar
@ 2012-04-02 6:39 ` Tanmay Inamdar
0 siblings, 0 replies; 8+ messages in thread
From: Tanmay Inamdar @ 2012-04-02 6:39 UTC (permalink / raw)
To: benh, jwboyer, grant.likely, linuxppc-dev, linux-kernel,
devicetree-discuss
Cc: Tanmay Inamdar
In APM8018X SOC, UART register address space has been relocated to 32-bit
data boundaries for APB bus implementation.
Current legacy_serial driver ignores the reg-shift property. This patch
modifies legacy_serial.c and udbg_16550.c to work with above mentioned UARTs.
Signed-off-by: Tanmay Inamdar <tinamdar@apm•com>
---
:100644 100644 8338aef... f5fc106... M arch/powerpc/include/asm/udbg.h
:100644 100644 bedd12e... d523b7d... M arch/powerpc/kernel/legacy_serial.c
:100644 100644 6837f83... e0cb7dc... M arch/powerpc/kernel/udbg_16550.c
arch/powerpc/include/asm/udbg.h | 2 +-
arch/powerpc/kernel/legacy_serial.c | 16 +++++---
arch/powerpc/kernel/udbg_16550.c | 64 ++++++++++++++++++++++------------
3 files changed, 52 insertions(+), 30 deletions(-)
diff --git a/arch/powerpc/include/asm/udbg.h b/arch/powerpc/include/asm/udbg.h
index 8338aef..f5fc106 100644
--- a/arch/powerpc/include/asm/udbg.h
+++ b/arch/powerpc/include/asm/udbg.h
@@ -29,7 +29,7 @@ extern void udbg_printf(const char *fmt, ...)
extern void udbg_progress(char *s, unsigned short hex);
extern void udbg_init_uart(void __iomem *comport, unsigned int speed,
- unsigned int clock);
+ unsigned int clock, unsigned int regshift);
extern unsigned int udbg_probe_uart_speed(void __iomem *comport,
unsigned int clock);
diff --git a/arch/powerpc/kernel/legacy_serial.c b/arch/powerpc/kernel/legacy_serial.c
index bedd12e..d523b7d 100644
--- a/arch/powerpc/kernel/legacy_serial.c
+++ b/arch/powerpc/kernel/legacy_serial.c
@@ -33,6 +33,7 @@ static struct legacy_serial_info {
unsigned int clock;
int irq_check_parent;
phys_addr_t taddr;
+ unsigned int regshift;
} legacy_serial_infos[MAX_LEGACY_SERIAL_PORTS];
static struct __initdata of_device_id legacy_serial_parents[] = {
@@ -42,6 +43,7 @@ static struct __initdata of_device_id legacy_serial_parents[] = {
{.compatible = "ibm,opb",},
{.compatible = "simple-bus",},
{.compatible = "wrs,epld-localbus",},
+ {.compatible = "apm,apb",},
{},
};
@@ -163,11 +165,6 @@ static int __init add_legacy_soc_port(struct device_node *np,
if (of_get_property(np, "clock-frequency", NULL) == NULL)
return -1;
- /* if reg-shift or offset, don't try to use it */
- if ((of_get_property(np, "reg-shift", NULL) != NULL) ||
- (of_get_property(np, "reg-offset", NULL) != NULL))
- return -1;
-
/* if rtas uses this device, don't try to use it as well */
if (of_get_property(np, "used-by-rtas", NULL) != NULL)
return -1;
@@ -319,7 +316,7 @@ static void __init setup_legacy_serial_console(int console)
if (info->speed == 0)
info->speed = udbg_probe_uart_speed(addr, info->clock);
DBG("default console speed = %d\n", info->speed);
- udbg_init_uart(addr, info->speed, info->clock);
+ udbg_init_uart(addr, info->speed, info->clock, info->regshift);
}
/*
@@ -336,6 +333,7 @@ void __init find_legacy_serial_ports(void)
struct device_node *np, *stdout = NULL;
const char *path;
int index;
+ unsigned int regshift;
DBG(" -> find_legacy_serial_port()\n");
@@ -359,6 +357,12 @@ void __init find_legacy_serial_ports(void)
index = add_legacy_soc_port(np, np);
if (index >= 0 && np == stdout)
legacy_serial_console = index;
+ if (of_property_read_u32(np, "reg-shift",
+ ®shift) == 0) {
+ legacy_serial_infos
+ [legacy_serial_console].regshift =
+ regshift;
+ }
}
}
of_node_put(parent);
diff --git a/arch/powerpc/kernel/udbg_16550.c b/arch/powerpc/kernel/udbg_16550.c
index 6837f83..e0cb7dc 100644
--- a/arch/powerpc/kernel/udbg_16550.c
+++ b/arch/powerpc/kernel/udbg_16550.c
@@ -47,12 +47,29 @@ struct NS16550 {
#define LCR_DLAB 0x80
+static unsigned int reg_shift;
+#define ns16550_offset(addr) (addr - (unsigned char *)udbg_comport)
+
static struct NS16550 __iomem *udbg_comport;
+static inline u8 serial_read(unsigned char *addr)
+{
+ u32 offset = ns16550_offset(addr) << reg_shift;
+ return readb(udbg_comport + offset);
+}
+
+static inline void serial_write(unsigned char *addr, char val)
+{
+ u32 offset = ns16550_offset(addr) << reg_shift;
+ writeb(val, udbg_comport + offset);
+}
+
static void udbg_550_flush(void)
{
+ u32 timeout = 1000;
if (udbg_comport) {
- while ((in_8(&udbg_comport->lsr) & LSR_THRE) == 0)
+ while (((serial_read(&udbg_comport->lsr) & LSR_THRE) == 0)
+ && --timeout)
/* wait for idle */;
}
}
@@ -63,15 +80,15 @@ static void udbg_550_putc(char c)
if (c == '\n')
udbg_550_putc('\r');
udbg_550_flush();
- out_8(&udbg_comport->thr, c);
+ serial_write(&udbg_comport->thr, c);
}
}
static int udbg_550_getc_poll(void)
{
if (udbg_comport) {
- if ((in_8(&udbg_comport->lsr) & LSR_DR) != 0)
- return in_8(&udbg_comport->rbr);
+ if ((serial_read(&udbg_comport->lsr) & LSR_DR) != 0)
+ return serial_read(&udbg_comport->rbr);
else
return -1;
}
@@ -81,15 +98,15 @@ static int udbg_550_getc_poll(void)
static int udbg_550_getc(void)
{
if (udbg_comport) {
- while ((in_8(&udbg_comport->lsr) & LSR_DR) == 0)
+ while ((serial_read(&udbg_comport->lsr) & LSR_DR) == 0)
/* wait for char */;
- return in_8(&udbg_comport->rbr);
+ return serial_read(&udbg_comport->rbr);
}
return -1;
}
void udbg_init_uart(void __iomem *comport, unsigned int speed,
- unsigned int clock)
+ unsigned int clock, unsigned int regshift)
{
unsigned int dll, base_bauds;
@@ -103,22 +120,23 @@ void udbg_init_uart(void __iomem *comport, unsigned int speed,
if (comport) {
udbg_comport = (struct NS16550 __iomem *)comport;
- out_8(&udbg_comport->lcr, 0x00);
- out_8(&udbg_comport->ier, 0xff);
- out_8(&udbg_comport->ier, 0x00);
- out_8(&udbg_comport->lcr, LCR_DLAB);
- out_8(&udbg_comport->dll, dll & 0xff);
- out_8(&udbg_comport->dlm, dll >> 8);
+ serial_write(&udbg_comport->lcr, 0x00);
+ serial_write(&udbg_comport->ier, 0xff);
+ serial_write(&udbg_comport->ier, 0x00);
+ serial_write(&udbg_comport->lcr, LCR_DLAB);
+ serial_write(&udbg_comport->dll, dll & 0xff);
+ serial_write(&udbg_comport->dlm, dll >> 8);
/* 8 data, 1 stop, no parity */
- out_8(&udbg_comport->lcr, 0x03);
+ serial_write(&udbg_comport->lcr, 0x03);
/* RTS/DTR */
- out_8(&udbg_comport->mcr, 0x03);
+ serial_write(&udbg_comport->mcr, 0x03);
/* Clear & enable FIFOs */
- out_8(&udbg_comport->fcr ,0x07);
+ serial_write(&udbg_comport->fcr, 0x07);
udbg_putc = udbg_550_putc;
udbg_flush = udbg_550_flush;
udbg_getc = udbg_550_getc;
udbg_getc_poll = udbg_550_getc_poll;
+ reg_shift = regshift;
}
}
@@ -128,24 +146,24 @@ unsigned int udbg_probe_uart_speed(void __iomem *comport, unsigned int clock)
u8 old_lcr;
struct NS16550 __iomem *port = comport;
- old_lcr = in_8(&port->lcr);
+ old_lcr = serial_read(&port->lcr);
/* select divisor latch registers. */
- out_8(&port->lcr, LCR_DLAB);
+ serial_write(&port->lcr, LCR_DLAB);
/* now, read the divisor */
- dll = in_8(&port->dll);
- dlm = in_8(&port->dlm);
+ dll = serial_read(&port->dll);
+ dlm = serial_read(&port->dlm);
divisor = dlm << 8 | dll;
/* check prescaling */
- if (in_8(&port->mcr) & 0x80)
+ if (serial_read(&port->mcr) & 0x80)
prescaler = 4;
else
prescaler = 1;
/* restore the LCR */
- out_8(&port->lcr, old_lcr);
+ serial_write(&port->lcr, old_lcr);
/* calculate speed */
speed = (clock / prescaler) / (divisor * 16);
@@ -341,7 +359,7 @@ void __init udbg_init_wsp(void)
{
udbg_comport = (struct NS16550 __iomem *)WSP_UART_VIRT;
- udbg_init_uart(udbg_comport, 57600, 50000000);
+ udbg_init_uart(udbg_comport, 57600, 50000000, 0);
udbg_putc = udbg_wsp_putc;
udbg_flush = udbg_wsp_flush;
--
1.6.1.rc3
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH 3/5] powerpc: dts: klondike: Add UART nodes
2012-04-02 6:39 ` [PATCH 3/5] powerpc: dts: klondike: Add UART nodes Tanmay Inamdar
2012-04-02 6:39 ` [PATCH 4/5] powerpc: config: 40x: Add 16650 UART support in klondike defconfig Tanmay Inamdar
@ 2012-04-03 15:57 ` Grant Likely
2012-04-04 0:49 ` Josh Boyer
1 sibling, 1 reply; 8+ messages in thread
From: Grant Likely @ 2012-04-03 15:57 UTC (permalink / raw)
To: Tanmay Inamdar, benh, jwboyer, linuxppc-dev, linux-kernel,
devicetree-discuss
Cc: Tanmay Inamdar
On Mon, 2 Apr 2012 12:09:05 +0530, Tanmay Inamdar <tinamdar@apm•com> wrote:
> Adding UART nodes in Klondike device tree file.
>
> Signed-off-by: Tanmay Inamdar <tinamdar@apm•com>
> ---
> :100644 100644 4ff2852... d5bf2e1... M arch/powerpc/boot/dts/klondike.dts
> arch/powerpc/boot/dts/klondike.dts | 24 ++++++++++++++++++++++++
> 1 files changed, 24 insertions(+), 0 deletions(-)
>
> diff --git a/arch/powerpc/boot/dts/klondike.dts b/arch/powerpc/boot/dts/klondike.dts
> index 4ff2852..d5bf2e1 100644
> --- a/arch/powerpc/boot/dts/klondike.dts
> +++ b/arch/powerpc/boot/dts/klondike.dts
> @@ -222,6 +222,30 @@
> #size-cells = <1>;
> ranges;
> clock-frequency = <0>;
> +
> + UART0: serial@50001000 {
> + device_type = "serial";
> + compatible = "ns16550";
> + reg = <0x50001000 0x00000100>;
> + virtual-reg = <0x50001000>;
Why do you need virtual-reg? The kernel should handle all iomapping
properly without this.
g.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 3/5] powerpc: dts: klondike: Add UART nodes
2012-04-03 15:57 ` [PATCH 3/5] powerpc: dts: klondike: Add UART nodes Grant Likely
@ 2012-04-04 0:49 ` Josh Boyer
2012-04-04 5:39 ` Tanmay Inamdar
0 siblings, 1 reply; 8+ messages in thread
From: Josh Boyer @ 2012-04-04 0:49 UTC (permalink / raw)
To: Grant Likely
Cc: devicetree-discuss, linuxppc-dev, Tanmay Inamdar, linux-kernel
On Tue, Apr 3, 2012 at 11:57 AM, Grant Likely <grant.likely@secretlab•ca> w=
rote:
> On Mon, =A02 Apr 2012 12:09:05 +0530, Tanmay Inamdar <tinamdar@apm•com> w=
rote:
>> Adding UART nodes in Klondike device tree file.
>>
>> Signed-off-by: Tanmay Inamdar <tinamdar@apm•com>
>> ---
>> :100644 100644 4ff2852... d5bf2e1... M =A0 =A0 =A0 =A0arch/powerpc/boot/=
dts/klondike.dts
>> =A0arch/powerpc/boot/dts/klondike.dts | =A0 24 ++++++++++++++++++++++++
>> =A01 files changed, 24 insertions(+), 0 deletions(-)
>>
>> diff --git a/arch/powerpc/boot/dts/klondike.dts b/arch/powerpc/boot/dts/=
klondike.dts
>> index 4ff2852..d5bf2e1 100644
>> --- a/arch/powerpc/boot/dts/klondike.dts
>> +++ b/arch/powerpc/boot/dts/klondike.dts
>> @@ -222,6 +222,30 @@
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 #size-cells =
=3D <1>;
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 ranges;
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 clock-freque=
ncy =3D <0>;
>> +
>> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 UART0: serial@=
50001000 {
>> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0device_type =3D "serial";
>> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0compatible =3D "ns16550";
>> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0reg =3D <0x50001000 0x00000100>;
>> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0virtual-reg =3D <0x50001000>;
>
> Why do you need virtual-reg? =A0The kernel should handle all iomapping
> properly without this.
Right. It's been used for platforms that actually use the
zImage/treeImage wrapper for printf support, but this uses u-boot as
far as I know. It shouldn't need it.
josh
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 3/5] powerpc: dts: klondike: Add UART nodes
2012-04-04 0:49 ` Josh Boyer
@ 2012-04-04 5:39 ` Tanmay Inamdar
0 siblings, 0 replies; 8+ messages in thread
From: Tanmay Inamdar @ 2012-04-04 5:39 UTC (permalink / raw)
To: Josh Boyer; +Cc: devicetree-discuss, linuxppc-dev, linux-kernel
On Wed, Apr 4, 2012 at 6:19 AM, Josh Boyer <jwboyer@gmail•com> wrote:
> On Tue, Apr 3, 2012 at 11:57 AM, Grant Likely <grant.likely@secretlab•ca>=
wrote:
>> On Mon, =A02 Apr 2012 12:09:05 +0530, Tanmay Inamdar <tinamdar@apm•com> =
wrote:
>>> Adding UART nodes in Klondike device tree file.
>>>
>>> Signed-off-by: Tanmay Inamdar <tinamdar@apm•com>
>>> ---
>>> :100644 100644 4ff2852... d5bf2e1... M =A0 =A0 =A0 =A0arch/powerpc/boot=
/dts/klondike.dts
>>> =A0arch/powerpc/boot/dts/klondike.dts | =A0 24 ++++++++++++++++++++++++
>>> =A01 files changed, 24 insertions(+), 0 deletions(-)
>>>
>>> diff --git a/arch/powerpc/boot/dts/klondike.dts b/arch/powerpc/boot/dts=
/klondike.dts
>>> index 4ff2852..d5bf2e1 100644
>>> --- a/arch/powerpc/boot/dts/klondike.dts
>>> +++ b/arch/powerpc/boot/dts/klondike.dts
>>> @@ -222,6 +222,30 @@
>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 #size-cells=
=3D <1>;
>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 ranges;
>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 clock-frequ=
ency =3D <0>;
>>> +
>>> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 UART0: serial=
@50001000 {
>>> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0device_type =3D "serial";
>>> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0compatible =3D "ns16550";
>>> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0reg =3D <0x50001000 0x00000100>;
>>> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0virtual-reg =3D <0x50001000>;
>>
>> Why do you need virtual-reg? =A0The kernel should handle all iomapping
>> properly without this.
>
> Right. =A0It's been used for platforms that actually use the
> zImage/treeImage wrapper for printf support, but this uses u-boot as
> far as I know. =A0It shouldn't need it.
>
Agreed. 'virtual-reg' is not required here. I will remove it in next
version of patch.
> josh
CONFIDENTIALITY NOTICE: This e-mail message, including any attachments, =
is for the sole use of the intended recipient(s) and contains information=
=A0
that is confidential and proprietary to AppliedMicro Corporation or its s=
ubsidiaries. =
It is to be used solely for the purpose of furthering the parties' busine=
ss relationship. =
All unauthorized review, use, disclosure or distribution is prohibited. =
If you are not the intended recipient, please contact the sender by reply=
e-mail =
and destroy all copies of the original message.
=0D
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2012-04-04 5:45 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-04-02 6:39 [PATCH 1/5] powerpc: dts: klondike: Add AHB, APB bus; remove OPB bus Tanmay Inamdar
2012-04-02 6:39 ` [PATCH 2/5] powerpc: 40x: Add AHB, APB of_device_ids Tanmay Inamdar
2012-04-02 6:39 ` [PATCH 3/5] powerpc: dts: klondike: Add UART nodes Tanmay Inamdar
2012-04-02 6:39 ` [PATCH 4/5] powerpc: config: 40x: Add 16650 UART support in klondike defconfig Tanmay Inamdar
2012-04-02 6:39 ` [PATCH 5/5] powerpc: kernel: 16650 UART reg-shift support Tanmay Inamdar
2012-04-03 15:57 ` [PATCH 3/5] powerpc: dts: klondike: Add UART nodes Grant Likely
2012-04-04 0:49 ` Josh Boyer
2012-04-04 5:39 ` Tanmay Inamdar
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox