summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2010-04-10 09:24:06 +0000
committerMichael Sevakis <jethead71@rockbox.org>2010-04-10 09:24:06 +0000
commit79d90b9e763ab50b900b35bc6746fea9bbaacb53 (patch)
tree5e59311f7ff87c1137752874b8884ad62e06c0c0
parent0f6e79a22727eb77d76e31138514a17debfe66d2 (diff)
downloadrockbox-79d90b9e763ab50b900b35bc6746fea9bbaacb53.zip
rockbox-79d90b9e763ab50b900b35bc6746fea9bbaacb53.tar.gz
rockbox-79d90b9e763ab50b900b35bc6746fea9bbaacb53.tar.bz2
rockbox-79d90b9e763ab50b900b35bc6746fea9bbaacb53.tar.xz
Gigabeat S/i.MX31: Continue, and most likely complete, the platform/player-specific code/data shuffling begun in r25547.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25564 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/target/arm/imx31/gigabeat-s/mc13783-gigabeat-s.c20
-rw-r--r--firmware/target/arm/imx31/mc13783-imx31.c17
2 files changed, 21 insertions, 16 deletions
diff --git a/firmware/target/arm/imx31/gigabeat-s/mc13783-gigabeat-s.c b/firmware/target/arm/imx31/gigabeat-s/mc13783-gigabeat-s.c
index 2060b7b..22c9f3e 100644
--- a/firmware/target/arm/imx31/gigabeat-s/mc13783-gigabeat-s.c
+++ b/firmware/target/arm/imx31/gigabeat-s/mc13783-gigabeat-s.c
@@ -22,6 +22,7 @@
****************************************************************************/
#include "config.h"
#include "system.h"
+#include "spi-imx31.h"
#include "mc13783.h"
#include "mc13783-target.h"
#include "adc-target.h"
@@ -30,6 +31,25 @@
#include "power-gigabeat-s.h"
#include "powermgmt-target.h"
+/* Gigabeat S mc13783 serial interface node. */
+
+/* This is all based on communicating with the MC13783 PMU which is on
+ * CSPI2 with the chip select at 0. The LCD controller resides on
+ * CSPI3 cs1, but we have no idea how to communicate to it */
+struct spi_node mc13783_spi =
+{
+ CSPI2_NUM, /* CSPI module 2 */
+ CSPI_CONREG_CHIP_SELECT_SS0 | /* Chip select 0 */
+ CSPI_CONREG_DRCTL_DONT_CARE | /* Don't care about CSPI_RDY */
+ CSPI_CONREG_DATA_RATE_DIV_32 | /* Clock = IPG_CLK/32 = 2,062,500Hz. */
+ CSPI_BITCOUNT(32-1) | /* All 32 bits are to be transferred */
+ CSPI_CONREG_SSPOL | /* SS active high */
+ CSPI_CONREG_SSCTL | /* Negate SS between SPI bursts */
+ CSPI_CONREG_MODE, /* Master mode */
+ 0, /* SPI clock - no wait states */
+};
+
+
/* Gigabeat S definitions for static MC13783 event registration */
static const struct mc13783_event mc13783_events[] =
diff --git a/firmware/target/arm/imx31/mc13783-imx31.c b/firmware/target/arm/imx31/mc13783-imx31.c
index 9b7248d..1c43b3b 100644
--- a/firmware/target/arm/imx31/mc13783-imx31.c
+++ b/firmware/target/arm/imx31/mc13783-imx31.c
@@ -30,23 +30,8 @@
#define PMIC_DRIVER_CLOSE
#endif
-/* This is all based on communicating with the MC13783 PMU which is on
- * CSPI2 with the chip select at 0. The LCD controller resides on
- * CSPI3 cs1, but we have no idea how to communicate to it */
-static struct spi_node mc13783_spi =
-{
- CSPI2_NUM, /* CSPI module 2 */
- CSPI_CONREG_CHIP_SELECT_SS0 | /* Chip select 0 */
- CSPI_CONREG_DRCTL_DONT_CARE | /* Don't care about CSPI_RDY */
- CSPI_CONREG_DATA_RATE_DIV_32 | /* Clock = IPG_CLK/32 = 2,062,500Hz. */
- CSPI_BITCOUNT(32-1) | /* All 32 bits are to be transferred */
- CSPI_CONREG_SSPOL | /* SS active high */
- CSPI_CONREG_SSCTL | /* Negate SS between SPI bursts */
- CSPI_CONREG_MODE, /* Master mode */
- 0, /* SPI clock - no wait states */
-};
-
extern const struct mc13783_event_list mc13783_event_list;
+extern struct spi_node mc13783_spi;
static int mc13783_thread_stack[DEFAULT_STACK_SIZE/sizeof(int)];
static const char *mc13783_thread_name = "pmic";