Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4d3a3469 authored by Ben Dooks's avatar Ben Dooks Committed by Ben Dooks
Browse files

ARM: S3C24XX: machine support for Simtec Audio



Add the platform/machine support for the audio devices fitted to
the Simtec range of boards since the move to ASoC.

Signed-off-by: default avatarBen Dooks <ben@simtec.co.uk>
Signed-off-by: default avatarSimtec Linux Team <linux@simtec.co.uk>
Signed-off-by: default avatarBen Dooks <ben-linux@fluff.org>
parent cf383678
Loading
Loading
Loading
Loading
+7 −0
Original line number Original line Diff line number Diff line
@@ -61,6 +61,7 @@
#include <plat/devs.h>
#include <plat/devs.h>
#include <plat/cpu.h>
#include <plat/cpu.h>
#include <plat/cpu-freq.h>
#include <plat/cpu-freq.h>
#include <plat/audio-simtec.h>


#include "usb-simtec.h"
#include "usb-simtec.h"
#include "nor-simtec.h"
#include "nor-simtec.h"
@@ -608,6 +609,11 @@ static struct s3c_cpufreq_board __initdata bast_cpufreq = {
	.need_io	= 1,
	.need_io	= 1,
};
};


static struct s3c24xx_audio_simtec_pdata __initdata bast_audio = {
	.have_mic	= 1,
	.have_lout	= 1,
};

static void __init bast_map_io(void)
static void __init bast_map_io(void)
{
{
	/* initialise the clocks */
	/* initialise the clocks */
@@ -647,6 +653,7 @@ static void __init bast_init(void)


	usb_simtec_init();
	usb_simtec_init();
	nor_simtec_init();
	nor_simtec_init();
	simtec_audio_add(NULL, true, &bast_audio);


	s3c_cpufreq_setboard(&bast_cpufreq);
	s3c_cpufreq_setboard(&bast_cpufreq);
}
}
+2 −0
Original line number Original line Diff line number Diff line
@@ -49,6 +49,7 @@
#include <plat/devs.h>
#include <plat/devs.h>
#include <plat/cpu.h>
#include <plat/cpu.h>
#include <plat/iic.h>
#include <plat/iic.h>
#include <plat/audio-simtec.h>


#include "usb-simtec.h"
#include "usb-simtec.h"
#include "nor-simtec.h"
#include "nor-simtec.h"
@@ -393,6 +394,7 @@ static void __init vr1000_init(void)
				ARRAY_SIZE(vr1000_i2c_devs));
				ARRAY_SIZE(vr1000_i2c_devs));


	nor_simtec_init();
	nor_simtec_init();
	simtec_audio_add(NULL, true, NULL);
}
}


MACHINE_START(VR1000, "Thorcom-VR1000")
MACHINE_START(VR1000, "Thorcom-VR1000")
+14 −1
Original line number Original line Diff line number Diff line
@@ -53,8 +53,9 @@
#include <plat/clock.h>
#include <plat/clock.h>
#include <plat/devs.h>
#include <plat/devs.h>
#include <plat/cpu.h>
#include <plat/cpu.h>
#include <plat/audio-simtec.h>


#define COPYRIGHT ", (c) 2005 Simtec Electronics"
#define COPYRIGHT ", (c) 2005-2009 Simtec Electronics"


static struct map_desc anubis_iodesc[] __initdata = {
static struct map_desc anubis_iodesc[] __initdata = {
  /* ISA IO areas */
  /* ISA IO areas */
@@ -437,6 +438,17 @@ static struct i2c_board_info anubis_i2c_devs[] __initdata = {
	}
	}
};
};


/* Audio setup */
static struct s3c24xx_audio_simtec_pdata __initdata anubis_audio = {
	.have_mic	= 1,
	.have_lout	= 1,
	.output_cdclk	= 1,
	.use_mpllin	= 1,
	.amp_gpio	= S3C2410_GPB(2),
	.amp_gain[0]	= S3C2410_GPD(10),
	.amp_gain[1]	= S3C2410_GPD(11),
};

static void __init anubis_map_io(void)
static void __init anubis_map_io(void)
{
{
	/* initialise the clocks */
	/* initialise the clocks */
@@ -476,6 +488,7 @@ static void __init anubis_map_io(void)
static void __init anubis_init(void)
static void __init anubis_init(void)
{
{
	s3c_i2c0_set_platdata(NULL);
	s3c_i2c0_set_platdata(NULL);
	simtec_audio_add(NULL, false, &anubis_audio);
	platform_add_devices(anubis_devices, ARRAY_SIZE(anubis_devices));
	platform_add_devices(anubis_devices, ARRAY_SIZE(anubis_devices));


	i2c_register_board_info(0, anubis_i2c_devs,
	i2c_register_board_info(0, anubis_i2c_devs,
+1 −1
Original line number Original line Diff line number Diff line
@@ -33,5 +33,5 @@ struct s3c24xx_audio_simtec_pdata {
	void	(*startup)(void);
	void	(*startup)(void);
};
};


extern int simtec_audio_add(const char *codec_name,
extern int simtec_audio_add(const char *codec_name, bool has_lr_routing,
			    struct s3c24xx_audio_simtec_pdata *pdata);
			    struct s3c24xx_audio_simtec_pdata *pdata);
+7 −0
Original line number Original line Diff line number Diff line
@@ -178,4 +178,11 @@ config MACH_SMDK
	help
	help
	  Common machine code for SMDK2410 and SMDK2440
	  Common machine code for SMDK2410 and SMDK2440


config S3C24XX_SIMTEC_AUDIO
	bool
	depends on (ARCH_BAST || MACH_VR1000 || MACH_OSIRIS || MACH_ANUBIS)
	default y
	help
	  Add audio devices for common Simtec S3C24XX boards

endif
endif
Loading