Skip to content

Commit

Permalink
MIPS: ath79: add initial support for the Atheros PB44 reference board
Browse files Browse the repository at this point in the history
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Cc: Imre Kaloz <kaloz@openwrt.org>
Cc: linux-mips@linux-mips.org
Cc: Luis R. Rodriguez <lrodriguez@atheros.com>
Cc: Cliff Holden <Cliff.Holden@Atheros.com>
Cc: Kathy Giori <Kathy.Giori@Atheros.com>
Patchwork: https://patchwork.linux-mips.org/patch/1950/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
  • Loading branch information
Gabor Juhos authored and Ralf Baechle committed Jan 18, 2011
1 parent 0aabf1a commit 0cde722
Show file tree
Hide file tree
Showing 4 changed files with 73 additions and 0 deletions.
11 changes: 11 additions & 0 deletions arch/mips/ath79/Kconfig
Original file line number Diff line number Diff line change
@@ -1,5 +1,16 @@
if ATH79

menu "Atheros AR71XX/AR724X/AR913X machine selection"

config ATH79_MACH_PB44
bool "Atheros PB44 reference board"
select SOC_AR71XX
help
Say 'Y' here if you want your kernel to support the
Atheros PB44 reference board.

endmenu

config SOC_AR71XX
def_bool n

Expand Down
5 changes: 5 additions & 0 deletions arch/mips/ath79/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,8 @@ obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
# Devices
#
obj-y += dev-common.o

#
# Machines
#
obj-$(CONFIG_ATH79_MACH_PB44) += mach-pb44.o
56 changes: 56 additions & 0 deletions arch/mips/ath79/mach-pb44.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
/*
* Atheros PB44 reference board support
*
* Copyright (C) 2009-2010 Gabor Juhos <juhosg@openwrt.org>
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 as published
* by the Free Software Foundation.
*/

#include <linux/init.h>
#include <linux/platform_device.h>
#include <linux/i2c.h>
#include <linux/i2c-gpio.h>
#include <linux/i2c/pcf857x.h>

#include "machtypes.h"

#define PB44_GPIO_I2C_SCL 0
#define PB44_GPIO_I2C_SDA 1

#define PB44_GPIO_EXP_BASE 16

static struct i2c_gpio_platform_data pb44_i2c_gpio_data = {
.sda_pin = PB44_GPIO_I2C_SDA,
.scl_pin = PB44_GPIO_I2C_SCL,
};

static struct platform_device pb44_i2c_gpio_device = {
.name = "i2c-gpio",
.id = 0,
.dev = {
.platform_data = &pb44_i2c_gpio_data,
}
};

static struct pcf857x_platform_data pb44_pcf857x_data = {
.gpio_base = PB44_GPIO_EXP_BASE,
};

static struct i2c_board_info pb44_i2c_board_info[] __initdata = {
{
I2C_BOARD_INFO("pcf8575", 0x20),
.platform_data = &pb44_pcf857x_data,
},
};

static void __init pb44_init(void)
{
i2c_register_board_info(0, pb44_i2c_board_info,
ARRAY_SIZE(pb44_i2c_board_info));
platform_device_register(&pb44_i2c_gpio_device);
}

MIPS_MACHINE(ATH79_MACH_PB44, "PB44", "Atheros PB44 reference board",
pb44_init);
1 change: 1 addition & 0 deletions arch/mips/ath79/machtypes.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@

enum ath79_mach_type {
ATH79_MACH_GENERIC = 0,
ATH79_MACH_PB44, /* Atheros PB44 reference board */
};

#endif /* _ATH79_MACHTYPE_H */

0 comments on commit 0cde722

Please sign in to comment.