* [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