Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
TASTE
uPython-mirror
Commits
330e21c9
Commit
330e21c9
authored
Jun 10, 2015
by
Daniel Campora
Browse files
cc3200: Use the pull up/down resistors on the antenna selection pins.
parent
f960d753
Changes
2
Hide whitespace changes
Inline
Side-by-side
cc3200/misc/antenna.c
View file @
330e21c9
...
...
@@ -55,32 +55,24 @@ static antenna_type_t antenna_type_selected = ANTENNA_TYPE_INTERNAL;
DEFINE PUBLIC FUNCTIONS
******************************************************************************/
void
antenna_init0
(
void
)
{
MAP_PRCMPeripheralClkEnable
(
PRCM_GPIOA3
,
PRCM_RUN_MODE_CLK
);
// enable the peripheral clock and set the gpio direction for
// both antenna 1 and antenna 2 pins
MAP_PRCMPeripheralClkEnable
(
PRCM_GPIOA3
,
PRCM_RUN_MODE_CLK
|
PRCM_SLP_MODE_CLK
);
MAP_GPIODirModeSet
(
GPIOA3_BASE
,
0x0C
,
GPIO_DIR_MODE_OUT
);
// configure PIN_29 for GPIOOutput
HWREG
(
REG_PAD_CONFIG_26
)
=
((
HWREG
(
REG_PAD_CONFIG_26
)
&
~
(
PAD_STRENGTH_MASK
|
PAD_TYPE_MASK
))
|
(
0x00000020
|
0x00000000
));
// configure antenna 1 pin type and strength
HWREG
(
REG_PAD_CONFIG_26
)
=
((
HWREG
(
REG_PAD_CONFIG_26
)
&
~
(
PAD_STRENGTH_MASK
|
PAD_TYPE_MASK
))
|
(
0x00000020
|
0x00000000
));
// set the mode
HWREG
(
REG_PAD_CONFIG_26
)
=
(((
HWREG
(
REG_PAD_CONFIG_26
)
&
~
PAD_MODE_MASK
)
|
0x00000000
)
&
~
(
3
<<
10
));
HWREG
(
REG_PAD_CONFIG_26
)
=
((
HWREG
(
REG_PAD_CONFIG_26
)
&
~
PAD_MODE_MASK
)
|
0x00000000
)
&
~
(
3
<<
10
);
// set the direction
HWREG
(
REG_PAD_CONFIG_26
)
=
((
HWREG
(
REG_PAD_CONFIG_26
)
&
~
0xC00
)
|
0x00000800
);
// configure PIN_30 for GPIOOutput
HWREG
(
REG_PAD_CONFIG_27
)
=
((
HWREG
(
REG_PAD_CONFIG_27
)
&
~
(
PAD_STRENGTH_MASK
|
PAD_TYPE_MASK
))
|
(
0x00000020
|
0x00000000
));
// configure antenna 2 pin type and strength
HWREG
(
REG_PAD_CONFIG_27
)
=
((
HWREG
(
REG_PAD_CONFIG_27
)
&
~
(
PAD_STRENGTH_MASK
|
PAD_TYPE_MASK
))
|
(
0x00000020
|
0x00000000
));
// set the mode
HWREG
(
REG_PAD_CONFIG_27
)
=
(((
HWREG
(
REG_PAD_CONFIG_27
)
&
~
PAD_MODE_MASK
)
|
0x00000000
)
&
~
(
3
<<
10
));
HWREG
(
REG_PAD_CONFIG_27
)
=
((
HWREG
(
REG_PAD_CONFIG_27
)
&
~
PAD_MODE_MASK
)
|
0x00000000
)
&
~
(
3
<<
10
);
// set the direction
HWREG
(
REG_PAD_CONFIG_2
6
)
=
((
HWREG
(
REG_PAD_CONFIG_27
)
&
~
0xC00
)
|
0x00000800
);
HWREG
(
REG_PAD_CONFIG_2
7
)
=
((
HWREG
(
REG_PAD_CONFIG_27
)
&
~
0xC00
)
|
0x00000800
);
// select the currently active antenna
antenna_select
(
antenna_type_selected
);
...
...
@@ -89,8 +81,14 @@ void antenna_init0(void) {
void
antenna_select
(
antenna_type_t
_antenna
)
{
if
(
_antenna
==
ANTENNA_TYPE_INTERNAL
)
{
MAP_GPIOPinWrite
(
GPIOA3_BASE
,
0x0C
,
0x04
);
// also configure the pull-up and pull-down accordingly
HWREG
(
REG_PAD_CONFIG_26
)
=
((
HWREG
(
REG_PAD_CONFIG_26
)
&
~
PAD_TYPE_MASK
))
|
PIN_TYPE_STD_PU
;
HWREG
(
REG_PAD_CONFIG_27
)
=
((
HWREG
(
REG_PAD_CONFIG_27
)
&
~
PAD_TYPE_MASK
))
|
PIN_TYPE_STD_PD
;
}
else
{
MAP_GPIOPinWrite
(
GPIOA3_BASE
,
0x0C
,
0x08
);
// also configure the pull-up and pull-down accordingly
HWREG
(
REG_PAD_CONFIG_26
)
=
((
HWREG
(
REG_PAD_CONFIG_26
)
&
~
PAD_TYPE_MASK
))
|
PIN_TYPE_STD_PD
;
HWREG
(
REG_PAD_CONFIG_27
)
=
((
HWREG
(
REG_PAD_CONFIG_27
)
&
~
PAD_TYPE_MASK
))
|
PIN_TYPE_STD_PU
;
}
antenna_type_selected
=
_antenna
;
}
...
...
cc3200/mods/pybsleep.c
View file @
330e21c9
...
...
@@ -499,9 +499,17 @@ STATIC void pybsleep_iopark (bool hibernate) {
if
(
hibernate
)
{
#endif
// park the antenna selection pins
// (tri-stated with pull down enabled)
HWREG
(
0x4402E108
)
=
0x00000E61
;
HWREG
(
0x4402E10C
)
=
0x00000E61
;
#if MICROPY_HW_ANTENNA_DIVERSITY
}
else
{
// park the antenna selection pins
// (tri-stated without changing the pull up/down resistors)
HWREG
(
0x4402E108
)
&=
~
0x000000FF
;
HWREG
(
0x4402E108
)
|=
0x00000C61
;
HWREG
(
0x4402E10C
)
&=
~
0x000000FF
;
HWREG
(
0x4402E10C
)
|=
0x00000C61
;
}
#endif
}
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment