Re: [U-Boot] [PATCH V2 09/14] ARM: AM43xx: mux: Update mux data
On Sun, Nov 24, 2013 at 11:59 PM, Lokesh Vutla wrote: > On Friday 22 November 2013 02:04 AM, Vaibhav Bedia wrote: >> On Thu, Nov 21, 2013 at 1:18 AM, Lokesh Vutla wrote: >>> Updating the mux data for UART, adding data for i2c0 and mmc. >>> And also updating pad_signals structure. >>> >>> Signed-off-by: Lokesh Vutla >>> --- >>> arch/arm/include/asm/arch-am33xx/mux_am43xx.h | 45 >>> + >>> board/ti/am43xx/mux.c | 22 ++-- >>> 2 files changed, 65 insertions(+), 2 deletions(-) >>> >>> diff --git a/arch/arm/include/asm/arch-am33xx/mux_am43xx.h >>> b/arch/arm/include/asm/arch-am33xx/mux_am43xx.h >>> index 0206912..98fc2b5 100644 >>> --- a/arch/arm/include/asm/arch-am33xx/mux_am43xx.h >>> +++ b/arch/arm/include/asm/arch-am33xx/mux_am43xx.h >>> @@ -137,6 +137,51 @@ struct pad_signals { >>> int mcasp0_fsr; >>> int mcasp0_axr1; >>> int mcasp0_ahclkx; >>> + int xdma_event_intr0; >>> + int xdma_event_intr1; >>> + int nresetin_out; >>> + int porz; >>> + int nnmi; >>> + int osc0_in; >>> + int osc0_out; >>> + int rsvd1; >>> + int tms; >>> + int tdi; >>> + int tdo; >>> + int tck; >>> + int ntrst; >>> + int emu0; >>> + int emu1; >>> + int osc1_in; >>> + int osc1_out; >>> + int pmic_power_en; >>> + int rtc_porz; >>> + int rsvd2; >>> + int ext_wakeup; >>> + int enz_kaldo_1p8v; >>> + int usb0_dm; >>> + int usb0_dp; >>> + int usb0_ce; >>> + int usb0_id; >>> + int usb0_vbus; >>> + int usb0_drvvbus; >>> + int usb1_dm; >>> + int usb1_dp; >>> + int usb1_ce; >>> + int usb1_id; >>> + int usb1_vbus; >>> + int usb1_drvvbus; >>> + int ddr_resetn; >>> + int ddr_csn0; >>> + int ddr_cke; >>> + int ddr_ck; >>> + int ddr_nck; >>> + int ddr_casn; >>> + int ddr_rasn; >>> + int ddr_wen; >>> + int ddr_ba0; >>> + int ddr_ba1; >>> + int ddr_ba2; >>> }; >> >> IIRC not all the pads over here have any IO control. Some are analog pins >> and some like JTAG, PORz really shouldn't be meddled with if the h/w does >> expose some configuration. Please revisit this change. > Nothing to be revisited here. I have to use ddr_ba2 for VTT, so I have > populated the structure till this point. > I don't see any error to update a structure so that I can use the desired > pins. > I am not using the pins what ever you have mentioned. I purposefully > populated those > because I don't want make them as reserved. I think i gave a good enough technical reason why that's not a good thing to do. If you really don't see the shortcomings of that i have nothing more to add here. >> >>> >>> #endif /* _MUX_AM43XX_H_ */ >>> diff --git a/board/ti/am43xx/mux.c b/board/ti/am43xx/mux.c >>> index 700e9a7..46bad01 100644 >>> --- a/board/ti/am43xx/mux.c >>> +++ b/board/ti/am43xx/mux.c >>> @@ -12,8 +12,24 @@ >>> #include "board.h" >>> >>> static struct module_pin_mux uart0_pin_mux[] = { >>> - {OFFSET(uart0_rxd), (MODE(0) | RXACTIVE)}, /* UART0_RXD */ >>> - {OFFSET(uart0_txd), (MODE(0))}, /* UART0_TXD */ >>> + {OFFSET(uart0_rxd), (MODE(0) | PULLUP_EN | RXACTIVE | SLEWCTRL)}, >>> + {OFFSET(uart0_txd), (MODE(0) | PULLUDDIS | PULLUP_EN | SLEWCTRL)}, >>> + {-1}, >> >> SLEWCTRL is typically not changed. You might want to double check this >> portion >> with the h/w folks. > I have checked with h/w folks, they said nothing wrong here. > Fine with me. Regards, Vaibhav ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH V2 09/14] ARM: AM43xx: mux: Update mux data
On Friday 22 November 2013 02:04 AM, Vaibhav Bedia wrote: > On Thu, Nov 21, 2013 at 1:18 AM, Lokesh Vutla wrote: >> Updating the mux data for UART, adding data for i2c0 and mmc. >> And also updating pad_signals structure. >> >> Signed-off-by: Lokesh Vutla >> --- >> arch/arm/include/asm/arch-am33xx/mux_am43xx.h | 45 >> + >> board/ti/am43xx/mux.c | 22 ++-- >> 2 files changed, 65 insertions(+), 2 deletions(-) >> >> diff --git a/arch/arm/include/asm/arch-am33xx/mux_am43xx.h >> b/arch/arm/include/asm/arch-am33xx/mux_am43xx.h >> index 0206912..98fc2b5 100644 >> --- a/arch/arm/include/asm/arch-am33xx/mux_am43xx.h >> +++ b/arch/arm/include/asm/arch-am33xx/mux_am43xx.h >> @@ -137,6 +137,51 @@ struct pad_signals { >> int mcasp0_fsr; >> int mcasp0_axr1; >> int mcasp0_ahclkx; >> + int xdma_event_intr0; >> + int xdma_event_intr1; >> + int nresetin_out; >> + int porz; >> + int nnmi; >> + int osc0_in; >> + int osc0_out; >> + int rsvd1; >> + int tms; >> + int tdi; >> + int tdo; >> + int tck; >> + int ntrst; >> + int emu0; >> + int emu1; >> + int osc1_in; >> + int osc1_out; >> + int pmic_power_en; >> + int rtc_porz; >> + int rsvd2; >> + int ext_wakeup; >> + int enz_kaldo_1p8v; >> + int usb0_dm; >> + int usb0_dp; >> + int usb0_ce; >> + int usb0_id; >> + int usb0_vbus; >> + int usb0_drvvbus; >> + int usb1_dm; >> + int usb1_dp; >> + int usb1_ce; >> + int usb1_id; >> + int usb1_vbus; >> + int usb1_drvvbus; >> + int ddr_resetn; >> + int ddr_csn0; >> + int ddr_cke; >> + int ddr_ck; >> + int ddr_nck; >> + int ddr_casn; >> + int ddr_rasn; >> + int ddr_wen; >> + int ddr_ba0; >> + int ddr_ba1; >> + int ddr_ba2; >> }; > > IIRC not all the pads over here have any IO control. Some are analog pins > and some like JTAG, PORz really shouldn't be meddled with if the h/w does > expose some configuration. Please revisit this change. Nothing to be revisited here. I have to use ddr_ba2 for VTT, so I have populated the structure till this point. I don't see any error to update a structure so that I can use the desired pins. I am not using the pins what ever you have mentioned. I purposefully populated those because I don't want make them as reserved. > >> >> #endif /* _MUX_AM43XX_H_ */ >> diff --git a/board/ti/am43xx/mux.c b/board/ti/am43xx/mux.c >> index 700e9a7..46bad01 100644 >> --- a/board/ti/am43xx/mux.c >> +++ b/board/ti/am43xx/mux.c >> @@ -12,8 +12,24 @@ >> #include "board.h" >> >> static struct module_pin_mux uart0_pin_mux[] = { >> - {OFFSET(uart0_rxd), (MODE(0) | RXACTIVE)}, /* UART0_RXD */ >> - {OFFSET(uart0_txd), (MODE(0))}, /* UART0_TXD */ >> + {OFFSET(uart0_rxd), (MODE(0) | PULLUP_EN | RXACTIVE | SLEWCTRL)}, >> + {OFFSET(uart0_txd), (MODE(0) | PULLUDDIS | PULLUP_EN | SLEWCTRL)}, >> + {-1}, > > SLEWCTRL is typically not changed. You might want to double check this portion > with the h/w folks. I have checked with h/w folks, they said nothing wrong here. Thanks Lokesh > > Regards, > Vaibhav > ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH V2 09/14] ARM: AM43xx: mux: Update mux data
On Thu, Nov 21, 2013 at 1:18 AM, Lokesh Vutla wrote: > Updating the mux data for UART, adding data for i2c0 and mmc. > And also updating pad_signals structure. > > Signed-off-by: Lokesh Vutla > --- > arch/arm/include/asm/arch-am33xx/mux_am43xx.h | 45 > + > board/ti/am43xx/mux.c | 22 ++-- > 2 files changed, 65 insertions(+), 2 deletions(-) > > diff --git a/arch/arm/include/asm/arch-am33xx/mux_am43xx.h > b/arch/arm/include/asm/arch-am33xx/mux_am43xx.h > index 0206912..98fc2b5 100644 > --- a/arch/arm/include/asm/arch-am33xx/mux_am43xx.h > +++ b/arch/arm/include/asm/arch-am33xx/mux_am43xx.h > @@ -137,6 +137,51 @@ struct pad_signals { > int mcasp0_fsr; > int mcasp0_axr1; > int mcasp0_ahclkx; > + int xdma_event_intr0; > + int xdma_event_intr1; > + int nresetin_out; > + int porz; > + int nnmi; > + int osc0_in; > + int osc0_out; > + int rsvd1; > + int tms; > + int tdi; > + int tdo; > + int tck; > + int ntrst; > + int emu0; > + int emu1; > + int osc1_in; > + int osc1_out; > + int pmic_power_en; > + int rtc_porz; > + int rsvd2; > + int ext_wakeup; > + int enz_kaldo_1p8v; > + int usb0_dm; > + int usb0_dp; > + int usb0_ce; > + int usb0_id; > + int usb0_vbus; > + int usb0_drvvbus; > + int usb1_dm; > + int usb1_dp; > + int usb1_ce; > + int usb1_id; > + int usb1_vbus; > + int usb1_drvvbus; > + int ddr_resetn; > + int ddr_csn0; > + int ddr_cke; > + int ddr_ck; > + int ddr_nck; > + int ddr_casn; > + int ddr_rasn; > + int ddr_wen; > + int ddr_ba0; > + int ddr_ba1; > + int ddr_ba2; > }; IIRC not all the pads over here have any IO control. Some are analog pins and some like JTAG, PORz really shouldn't be meddled with if the h/w does expose some configuration. Please revisit this change. > > #endif /* _MUX_AM43XX_H_ */ > diff --git a/board/ti/am43xx/mux.c b/board/ti/am43xx/mux.c > index 700e9a7..46bad01 100644 > --- a/board/ti/am43xx/mux.c > +++ b/board/ti/am43xx/mux.c > @@ -12,8 +12,24 @@ > #include "board.h" > > static struct module_pin_mux uart0_pin_mux[] = { > - {OFFSET(uart0_rxd), (MODE(0) | RXACTIVE)}, /* UART0_RXD */ > - {OFFSET(uart0_txd), (MODE(0))}, /* UART0_TXD */ > + {OFFSET(uart0_rxd), (MODE(0) | PULLUP_EN | RXACTIVE | SLEWCTRL)}, > + {OFFSET(uart0_txd), (MODE(0) | PULLUDDIS | PULLUP_EN | SLEWCTRL)}, > + {-1}, SLEWCTRL is typically not changed. You might want to double check this portion with the h/w folks. Regards, Vaibhav ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH V2 09/14] ARM: AM43xx: mux: Update mux data
Updating the mux data for UART, adding data for i2c0 and mmc. And also updating pad_signals structure. Signed-off-by: Lokesh Vutla --- arch/arm/include/asm/arch-am33xx/mux_am43xx.h | 45 + board/ti/am43xx/mux.c | 22 ++-- 2 files changed, 65 insertions(+), 2 deletions(-) diff --git a/arch/arm/include/asm/arch-am33xx/mux_am43xx.h b/arch/arm/include/asm/arch-am33xx/mux_am43xx.h index 0206912..98fc2b5 100644 --- a/arch/arm/include/asm/arch-am33xx/mux_am43xx.h +++ b/arch/arm/include/asm/arch-am33xx/mux_am43xx.h @@ -137,6 +137,51 @@ struct pad_signals { int mcasp0_fsr; int mcasp0_axr1; int mcasp0_ahclkx; + int xdma_event_intr0; + int xdma_event_intr1; + int nresetin_out; + int porz; + int nnmi; + int osc0_in; + int osc0_out; + int rsvd1; + int tms; + int tdi; + int tdo; + int tck; + int ntrst; + int emu0; + int emu1; + int osc1_in; + int osc1_out; + int pmic_power_en; + int rtc_porz; + int rsvd2; + int ext_wakeup; + int enz_kaldo_1p8v; + int usb0_dm; + int usb0_dp; + int usb0_ce; + int usb0_id; + int usb0_vbus; + int usb0_drvvbus; + int usb1_dm; + int usb1_dp; + int usb1_ce; + int usb1_id; + int usb1_vbus; + int usb1_drvvbus; + int ddr_resetn; + int ddr_csn0; + int ddr_cke; + int ddr_ck; + int ddr_nck; + int ddr_casn; + int ddr_rasn; + int ddr_wen; + int ddr_ba0; + int ddr_ba1; + int ddr_ba2; }; #endif /* _MUX_AM43XX_H_ */ diff --git a/board/ti/am43xx/mux.c b/board/ti/am43xx/mux.c index 700e9a7..46bad01 100644 --- a/board/ti/am43xx/mux.c +++ b/board/ti/am43xx/mux.c @@ -12,8 +12,24 @@ #include "board.h" static struct module_pin_mux uart0_pin_mux[] = { - {OFFSET(uart0_rxd), (MODE(0) | RXACTIVE)}, /* UART0_RXD */ - {OFFSET(uart0_txd), (MODE(0))}, /* UART0_TXD */ + {OFFSET(uart0_rxd), (MODE(0) | PULLUP_EN | RXACTIVE | SLEWCTRL)}, + {OFFSET(uart0_txd), (MODE(0) | PULLUDDIS | PULLUP_EN | SLEWCTRL)}, + {-1}, +}; + +static struct module_pin_mux mmc0_pin_mux[] = { + {OFFSET(mmc0_clk), (MODE(0) | PULLUDDIS | RXACTIVE)}, /* MMC0_CLK */ + {OFFSET(mmc0_cmd), (MODE(0) | PULLUP_EN | RXACTIVE)}, /* MMC0_CMD */ + {OFFSET(mmc0_dat0), (MODE(0) | PULLUP_EN | RXACTIVE)}, /* MMC0_DAT0 */ + {OFFSET(mmc0_dat1), (MODE(0) | PULLUP_EN | RXACTIVE)}, /* MMC0_DAT1 */ + {OFFSET(mmc0_dat2), (MODE(0) | PULLUP_EN | RXACTIVE)}, /* MMC0_DAT2 */ + {OFFSET(mmc0_dat3), (MODE(0) | PULLUP_EN | RXACTIVE)}, /* MMC0_DAT3 */ + {-1}, +}; + +static struct module_pin_mux i2c0_pin_mux[] = { + {OFFSET(i2c0_sda), (MODE(0) | PULLUP_EN | RXACTIVE | SLEWCTRL)}, + {OFFSET(i2c0_scl), (MODE(0) | PULLUP_EN | RXACTIVE | SLEWCTRL)}, {-1}, }; @@ -24,4 +40,6 @@ void enable_uart0_pin_mux(void) void enable_board_pin_mux(void) { + configure_module_pin_mux(mmc0_pin_mux); + configure_module_pin_mux(i2c0_pin_mux); } -- 1.7.9.5 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot