Re: [PATCH 0/5] New mux code for 34xx

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



* Mike Rapoport <mike.rapoport@xxxxxxxxx> [091029 14:19]:
> Hi Tony,
> 
> On Thu, Oct 29, 2009 at 10:35 PM, Tony Lindgren <tony@xxxxxxxxxxx> wrote:
> > Hi all,
> >
> > Here's an initial version of the new mux code to play with.
> > Big thanks to Paul & Benoit for the 34xx mux data!
> >
> > To try out the new code, compile a kernel with CONFIG_OMAP_MUX
> > and CONFIG_DEBUG_FS and these patches. The series is also
> > availabe in the l-o git in mux branch.
> 
> Great work! I'm too sleepy now to make proper review, and I'm trying
> not to take work home, so I'll pull and test your patches only next
> week.

OK, I guess what we now need to figure out if can we just convert
all omap_cfg_reg() straight to omap_mux_set().

> And, still, I'm missing PXA-style defines for particular pin
> configuration :) I really like
>        OMAP3_CAM_D0_GPIO_99,
> more than
>        OMAP3_MUX(CAM_D0, OMAP_PIN_OUTPUT | OMAP_PIN_OFF_NONE |
> OMAP_MUX_MODE4, 0),
> :)

Yeah too many options.. Maybe we could have some macro like
OMAP_MUX_GPIO_OUT(99)? We should be able to find it now with
the gpio number during init, don't know if we want to keep
all the gpio to mux mappings in memory except for active gpio
pins.

Regards,

Tony

> 
> > To see the mux configuration on your board:
> >
> > # mount -t debugfs debugfs /sys/kernel/debug
> > # cat /sys/kernel/debug/omap_mux | less
> > OMAP3_MUX(CAM_D0, OMAP_PIN_INPUT | OMAP_PIN_OFF_NONE | OMAP_PIN_OFF_WAKEUPENABLE
> >  | OMAP_MUX_MODE4, 0),
> > padconf: cam_d0 signal: gpio_99:        offset: 0x0e6   value: 0x4104
> > m0: cam_d0      m1:             m2:             m3:
> > m4: gpio_99     m5:             m6:             m7: safe_mode
> > phys: 0x48002116        ball bottom: ag17        ball top:
> >
> > OMAP3_MUX(CAM_D10, OMAP_PIN_OUTPUT | OMAP_PIN_OFF_NONE | OMAP_MUX_MODE7, 0),
> > padconf: cam_d10        signal: safe_mode:      offset: 0x0fa   value: 0x0007
> > m0: cam_d10     m1:             m2:             m3:
> > m4: gpio_109    m5:             m6:             m7: safe_mode
> > phys: 0x4800212a        ball bottom: b25         ball top:
> > ...
> >
> > Then to produce a list of board mux entries from a working
> > system, do:
> >
> > # cat /sys/kernel/debug/omap_mux | grep OMAP3_MUX
> > OMAP3_MUX(CAM_D0, OMAP_PIN_INPUT | OMAP_PIN_OFF_NONE | OMAP_PIN_OFF_WAKEUPENABLE
> >  | OMAP_MUX_MODE4, 0),
> > OMAP3_MUX(CAM_D10, OMAP_PIN_OUTPUT | OMAP_PIN_OFF_NONE | OMAP_MUX_MODE7, 0),
> > OMAP3_MUX(CAM_D11, OMAP_PIN_INPUT | OMAP_PIN_OFF_NONE | OMAP_PIN_OFF_WAKEUPENABL
> > E | OMAP_MUX_MODE4, 0),
> > OMAP3_MUX(CAM_D1, OMAP_PIN_INPUT | OMAP_PIN_INPUT_PULLUP | OMAP_PIN_OFF_NONE | O
> > MAP_PIN_OFF_WAKEUPENABLE | OMAP_MUX_MODE4, 0),
> > ...
> >
> > Currenly no write support to tweak the pins via debugfs,
> > but I'll add that soon with command line support too.
> >
> > I have not really verified the data yet, but it mostly looks
> > right. Adding support for 3630 and omap4 should be easy
> > after generating the data. It's currently implemented only
> > for 34xx.
> >
> > I guess the next step would be to convert all omap3 calls
> > to omap_cfg_reg() to use omap_mux_set() instead with the
> > new data and make sure things work. Then we can remove the
> > old data for 34xx.
> >
> > Comments welcome as always.
> >
> > Regards,
> >
> > Tony
> >
> >
> > ---
> >
> > Mike Rapoport (1):
> >      omap2: mux: intoduce omap_mux_{read,write}
> >
> > Tony Lindgren (4):
> >      omap: mux: Add debugfs support for new mux code
> >      omap: mux: Add new style init functions to omap3 board-*.c files
> >      omap: mux: Add new style pin multiplexing data for 34xx
> >      omap: mux: Add new style pin multiplexing code for omap3
> >
> >
> >  arch/arm/mach-omap2/Makefile             |    4
> >  arch/arm/mach-omap2/board-3430sdp.c      |    9
> >  arch/arm/mach-omap2/board-cm-t35.c       |    9
> >  arch/arm/mach-omap2/board-ldp.c          |    9
> >  arch/arm/mach-omap2/board-omap3beagle.c  |    9
> >  arch/arm/mach-omap2/board-omap3evm.c     |    9
> >  arch/arm/mach-omap2/board-omap3pandora.c |    9
> >  arch/arm/mach-omap2/board-overo.c        |    8
> >  arch/arm/mach-omap2/board-rx51.c         |   10
> >  arch/arm/mach-omap2/board-zoom2.c        |    8
> >  arch/arm/mach-omap2/mux.c                |  424 ++++++++
> >  arch/arm/mach-omap2/mux.h                |  127 ++
> >  arch/arm/mach-omap2/mux34xx.c            | 1552 ++++++++++++++++++++++++++++++
> >  arch/arm/mach-omap2/mux34xx.h            |  352 +++++++
> >  14 files changed, 2533 insertions(+), 6 deletions(-)
> >  create mode 100644 arch/arm/mach-omap2/mux.h
> >  create mode 100644 arch/arm/mach-omap2/mux34xx.c
> >  create mode 100644 arch/arm/mach-omap2/mux34xx.h
> >
> > --
> > Signature
> >
> 
> 
> 
> -- 
> 	Sincerely Yours,
> 		Mike.
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux