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