All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH 0/2] MIPS: add support to support usb stack for mips and minor cleanup
@ 2015-08-19 18:19 Govindraj Raja
  2015-08-19 18:19 ` [U-Boot] [PATCH 1/2] MIPS: add clrbits and setbits and add phy_to_bus support Govindraj Raja
  2015-08-19 18:19 ` [U-Boot] [PATCH 2/2] MIPS: fix syntax for fdt_chosen/initrd Govindraj Raja
  0 siblings, 2 replies; 5+ messages in thread
From: Govindraj Raja @ 2015-08-19 18:19 UTC (permalink / raw)
  To: u-boot

Patch prepares to support usb stack compiled for mips platform.
Also fix fdt usage api's from bootm.

Govindraj Raja (2):
  MIPS: add clrbits and setbits and add phy_to_bus support.
  MIPS: fix syntax for fdt_chosen/initrd.

 arch/mips/include/asm/io.h | 71 +++++++++++++++++++++++++++++++++++++++++++++-
 arch/mips/lib/bootm.c      |  4 +--
 2 files changed, 72 insertions(+), 3 deletions(-)

-- 
1.9.1

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [U-Boot] [PATCH 1/2] MIPS: add clrbits and setbits and add phy_to_bus support.
  2015-08-19 18:19 [U-Boot] [PATCH 0/2] MIPS: add support to support usb stack for mips and minor cleanup Govindraj Raja
@ 2015-08-19 18:19 ` Govindraj Raja
  2015-08-20 12:06   ` Daniel Schwierzeck
  2015-08-19 18:19 ` [U-Boot] [PATCH 2/2] MIPS: fix syntax for fdt_chosen/initrd Govindraj Raja
  1 sibling, 1 reply; 5+ messages in thread
From: Govindraj Raja @ 2015-08-19 18:19 UTC (permalink / raw)
  To: u-boot

From: Govindraj Raja <Govindraj.Raja@imgtec.com>

usb stack utilizes the clr/set_bits macros
also usb stack needs phy_to_bus/bus_to_phys functions.
Thus adding these macro and functions for mips platform.

This makes usb stack usable with mips platform.
Also fixes a checkpatch warning with virt_to_phys
forward declaration.

Signed-off-by: Govindraj Raja <govindraj.raja@imgtec.com>
---
 arch/mips/include/asm/io.h | 71 +++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 70 insertions(+), 1 deletion(-)

diff --git a/arch/mips/include/asm/io.h b/arch/mips/include/asm/io.h
index a7ab087..8dc521c 100644
--- a/arch/mips/include/asm/io.h
+++ b/arch/mips/include/asm/io.h
@@ -117,7 +117,7 @@ static inline void set_io_port_base(unsigned long base)
  * Change virtual addresses to physical addresses and vv.
  * These are trivial on the 1:1 Linux/MIPS mapping
  */
-static inline phys_addr_t virt_to_phys(volatile void * address)
+static inline phys_addr_t virt_to_phys(volatile void *address)
 {
 #ifndef CONFIG_64BIT
 	return CPHYSADDR(address);
@@ -504,4 +504,73 @@ static inline void unmap_physmem(void *vaddr, unsigned long flags)
 
 }
 
+#define out_arch(type, endian, a, v)	__raw_write##type(cpu_to_##endian(v), a)
+#define in_arch(type, endian, a)	endian##_to_cpu(__raw_read##type(a))
+
+#define out_le32(a, v)	out_arch(l, le32, a, v)
+#define out_le16(a, v)	out_arch(w, le16, a, v)
+
+#define in_le32(a)	in_arch(l, le32, a)
+#define in_le16(a)	in_arch(w, le16, a)
+
+#define out_be32(a, v)	out_arch(l, be32, a, v)
+#define out_be16(a, v)	out_arch(w, be16, a, v)
+
+#define in_be32(a)	in_arch(l, be32, a)
+#define in_be16(a)	in_arch(w, be16, a)
+
+#define out_8(a, v)	__raw_writeb(v, a)
+#define in_8(a)		__raw_readb(a)
+
+/*
+ * Clear and set bits in one shot. These macros can be used to clear and
+ * set multiple bits in a register using a single call. These macros can
+ * also be used to set a multiple-bit bit pattern using a mask, by
+ * specifying the mask in the 'clear' parameter and the new bit pattern
+ * in the 'set' parameter.
+ */
+
+#define clrbits(type, addr, clear) \
+	out_##type((addr), in_##type(addr) & ~(clear))
+
+#define setbits(type, addr, set) \
+	out_##type((addr), in_##type(addr) | (set))
+
+#define clrsetbits(type, addr, clear, set) \
+	out_##type((addr), (in_##type(addr) & ~(clear)) | (set))
+
+#define clrbits_be32(addr, clear) clrbits(be32, addr, clear)
+#define setbits_be32(addr, set) setbits(be32, addr, set)
+#define clrsetbits_be32(addr, clear, set) clrsetbits(be32, addr, clear, set)
+
+#define clrbits_le32(addr, clear) clrbits(le32, addr, clear)
+#define setbits_le32(addr, set) setbits(le32, addr, set)
+#define clrsetbits_le32(addr, clear, set) clrsetbits(le32, addr, clear, set)
+
+#define clrbits_be16(addr, clear) clrbits(be16, addr, clear)
+#define setbits_be16(addr, set) setbits(be16, addr, set)
+#define clrsetbits_be16(addr, clear, set) clrsetbits(be16, addr, clear, set)
+
+#define clrbits_le16(addr, clear) clrbits(le16, addr, clear)
+#define setbits_le16(addr, set) setbits(le16, addr, set)
+#define clrsetbits_le16(addr, clear, set) clrsetbits(le16, addr, clear, set)
+
+#define clrbits_8(addr, clear) clrbits(8, addr, clear)
+#define setbits_8(addr, set) setbits(8, addr, set)
+
+#ifdef CONFIG_PHYS_TO_BUS
+
+extern inline unsigned long phys_to_bus(unsigned long phys)
+{
+	return (unsigned long)virt_to_phys((void *)phys);
+}
+
+extern inline unsigned long bus_to_phys(unsigned long bus)
+{
+	return (unsigned long)phys_to_virt(bus);
+}
+
+#endif
+
+
 #endif /* _ASM_IO_H */
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [U-Boot] [PATCH 2/2] MIPS: fix syntax for fdt_chosen/initrd.
  2015-08-19 18:19 [U-Boot] [PATCH 0/2] MIPS: add support to support usb stack for mips and minor cleanup Govindraj Raja
  2015-08-19 18:19 ` [U-Boot] [PATCH 1/2] MIPS: add clrbits and setbits and add phy_to_bus support Govindraj Raja
@ 2015-08-19 18:19 ` Govindraj Raja
  2015-08-20 11:47   ` Daniel Schwierzeck
  1 sibling, 1 reply; 5+ messages in thread
From: Govindraj Raja @ 2015-08-19 18:19 UTC (permalink / raw)
  To: u-boot

From: Govindraj Raja <Govindraj.Raja@imgtec.com>

The syntax for the fdt_chosen/initrd
functions seem to deprecated in usage
from MIPS bootm implementation.

Third parameter is no more used in these api's
Refer to : include/fdt_support.h

Signed-off-by: Govindraj Raja <govindraj.raja@imgtec.com>
---
 arch/mips/lib/bootm.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/mips/lib/bootm.c b/arch/mips/lib/bootm.c
index e289799..9c647aa 100644
--- a/arch/mips/lib/bootm.c
+++ b/arch/mips/lib/bootm.c
@@ -95,10 +95,10 @@ static void boot_setup_fdt(bootm_headers_t *images)
 
 	debug("## setup FDT\n");
 
-	fdt_chosen(images->ft_addr, 1);
+	fdt_chosen(images->ft_addr);
 	fdt_fixup_memory_banks(images->ft_addr, &mem_start, &mem_size, 1);
 	fdt_fixup_ethernet(images->ft_addr);
-	fdt_initrd(images->ft_addr, images->initrd_start, images->initrd_end, 1);
+	fdt_initrd(images->ft_addr, images->initrd_start, images->initrd_end);
 
 #if defined(CONFIG_OF_BOARD_SETUP)
 	ft_board_setup(images->ft_addr, gd->bd);
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [U-Boot] [PATCH 2/2] MIPS: fix syntax for fdt_chosen/initrd.
  2015-08-19 18:19 ` [U-Boot] [PATCH 2/2] MIPS: fix syntax for fdt_chosen/initrd Govindraj Raja
@ 2015-08-20 11:47   ` Daniel Schwierzeck
  0 siblings, 0 replies; 5+ messages in thread
From: Daniel Schwierzeck @ 2015-08-20 11:47 UTC (permalink / raw)
  To: u-boot

2015-08-19 20:19 GMT+02:00 Govindraj Raja <govindraj.raja@imgtec.com>:
> From: Govindraj Raja <Govindraj.Raja@imgtec.com>
>
> The syntax for the fdt_chosen/initrd
> functions seem to deprecated in usage
> from MIPS bootm implementation.
>
> Third parameter is no more used in these api's
> Refer to : include/fdt_support.h
>
> Signed-off-by: Govindraj Raja <govindraj.raja@imgtec.com>
> ---
>  arch/mips/lib/bootm.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>

applied to u-boot-mips/next, thanks

-- 
- Daniel

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [U-Boot] [PATCH 1/2] MIPS: add clrbits and setbits and add phy_to_bus support.
  2015-08-19 18:19 ` [U-Boot] [PATCH 1/2] MIPS: add clrbits and setbits and add phy_to_bus support Govindraj Raja
@ 2015-08-20 12:06   ` Daniel Schwierzeck
  0 siblings, 0 replies; 5+ messages in thread
From: Daniel Schwierzeck @ 2015-08-20 12:06 UTC (permalink / raw)
  To: u-boot

2015-08-19 20:19 GMT+02:00 Govindraj Raja <govindraj.raja@imgtec.com>:
> From: Govindraj Raja <Govindraj.Raja@imgtec.com>
>
> usb stack utilizes the clr/set_bits macros
> also usb stack needs phy_to_bus/bus_to_phys functions.
> Thus adding these macro and functions for mips platform.
>
> This makes usb stack usable with mips platform.
> Also fixes a checkpatch warning with virt_to_phys
> forward declaration.
>
> Signed-off-by: Govindraj Raja <govindraj.raja@imgtec.com>
> ---
>  arch/mips/include/asm/io.h | 71 +++++++++++++++++++++++++++++++++++++++++++++-
>  1 file changed, 70 insertions(+), 1 deletion(-)
>
> diff --git a/arch/mips/include/asm/io.h b/arch/mips/include/asm/io.h
> index a7ab087..8dc521c 100644
> --- a/arch/mips/include/asm/io.h
> +++ b/arch/mips/include/asm/io.h
> @@ -117,7 +117,7 @@ static inline void set_io_port_base(unsigned long base)
>   * Change virtual addresses to physical addresses and vv.
>   * These are trivial on the 1:1 Linux/MIPS mapping
>   */
> -static inline phys_addr_t virt_to_phys(volatile void * address)
> +static inline phys_addr_t virt_to_phys(volatile void *address)

please do not make cosmetic fixes and code changes in the same commit.
Because this file
is imported from Linux kernel, you could ignore this style error until
we do a resync with the
current kernel sources.

>  {
>  #ifndef CONFIG_64BIT
>         return CPHYSADDR(address);
> @@ -504,4 +504,73 @@ static inline void unmap_physmem(void *vaddr, unsigned long flags)
>
>  }
>
> +#define out_arch(type, endian, a, v)   __raw_write##type(cpu_to_##endian(v), a)
> +#define in_arch(type, endian, a)       endian##_to_cpu(__raw_read##type(a))
> +
> +#define out_le32(a, v) out_arch(l, le32, a, v)
> +#define out_le16(a, v) out_arch(w, le16, a, v)
> +
> +#define in_le32(a)     in_arch(l, le32, a)
> +#define in_le16(a)     in_arch(w, le16, a)
> +
> +#define out_be32(a, v) out_arch(l, be32, a, v)
> +#define out_be16(a, v) out_arch(w, be16, a, v)
> +
> +#define in_be32(a)     in_arch(l, be32, a)
> +#define in_be16(a)     in_arch(w, be16, a)
> +
> +#define out_8(a, v)    __raw_writeb(v, a)
> +#define in_8(a)                __raw_readb(a)
> +
> +/*
> + * Clear and set bits in one shot. These macros can be used to clear and
> + * set multiple bits in a register using a single call. These macros can
> + * also be used to set a multiple-bit bit pattern using a mask, by
> + * specifying the mask in the 'clear' parameter and the new bit pattern
> + * in the 'set' parameter.
> + */
> +
> +#define clrbits(type, addr, clear) \
> +       out_##type((addr), in_##type(addr) & ~(clear))
> +
> +#define setbits(type, addr, set) \
> +       out_##type((addr), in_##type(addr) | (set))
> +
> +#define clrsetbits(type, addr, clear, set) \
> +       out_##type((addr), (in_##type(addr) & ~(clear)) | (set))
> +
> +#define clrbits_be32(addr, clear) clrbits(be32, addr, clear)
> +#define setbits_be32(addr, set) setbits(be32, addr, set)
> +#define clrsetbits_be32(addr, clear, set) clrsetbits(be32, addr, clear, set)
> +
> +#define clrbits_le32(addr, clear) clrbits(le32, addr, clear)
> +#define setbits_le32(addr, set) setbits(le32, addr, set)
> +#define clrsetbits_le32(addr, clear, set) clrsetbits(le32, addr, clear, set)
> +
> +#define clrbits_be16(addr, clear) clrbits(be16, addr, clear)
> +#define setbits_be16(addr, set) setbits(be16, addr, set)
> +#define clrsetbits_be16(addr, clear, set) clrsetbits(be16, addr, clear, set)
> +
> +#define clrbits_le16(addr, clear) clrbits(le16, addr, clear)
> +#define setbits_le16(addr, set) setbits(le16, addr, set)
> +#define clrsetbits_le16(addr, clear, set) clrsetbits(le16, addr, clear, set)
> +
> +#define clrbits_8(addr, clear) clrbits(8, addr, clear)
> +#define setbits_8(addr, set) setbits(8, addr, set)
> +
> +#ifdef CONFIG_PHYS_TO_BUS
> +
> +extern inline unsigned long phys_to_bus(unsigned long phys)
> +{
> +       return (unsigned long)virt_to_phys((void *)phys);
> +}
> +
> +extern inline unsigned long bus_to_phys(unsigned long bus)
> +{
> +       return (unsigned long)phys_to_virt(bus);
> +}
> +
> +#endif

could you move those two functions to arch/mips/lib/io.c and mark it
with __weak?
Funtions declared with "extern inline" seems to have issues with gcc-5.x.
Also marking them with __weak would one allow to create SoC specific
implementations if needed.

> +
> +
>  #endif /* _ASM_IO_H */
> --
> 1.9.1
>

-- 
- Daniel

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2015-08-20 12:06 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-08-19 18:19 [U-Boot] [PATCH 0/2] MIPS: add support to support usb stack for mips and minor cleanup Govindraj Raja
2015-08-19 18:19 ` [U-Boot] [PATCH 1/2] MIPS: add clrbits and setbits and add phy_to_bus support Govindraj Raja
2015-08-20 12:06   ` Daniel Schwierzeck
2015-08-19 18:19 ` [U-Boot] [PATCH 2/2] MIPS: fix syntax for fdt_chosen/initrd Govindraj Raja
2015-08-20 11:47   ` Daniel Schwierzeck

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.