diff --git a/Makefile b/Makefile index 8cd526109c..10a9c1f019 100644 --- a/Makefile +++ b/Makefile @@ -45,6 +45,8 @@ include board/$(BOARD)/build.mk include chip/$(CHIP)/build.mk include core/$(CORE)/build.mk include common/build.mk +include driver/build.mk +include power/build.mk include test/build.mk include util/build.mk include util/lock/build.mk @@ -60,7 +62,10 @@ all-y+=$(call objs_from_dir,chip/$(CHIP),chip) all-y+=$(call objs_from_dir,board/$(BOARD),board) all-y+=$(call objs_from_dir,private,private) all-y+=$(call objs_from_dir,common,common) +all-y+=$(call objs_from_dir,driver,driver) +all-y+=$(call objs_from_dir,power,power) all-y+=$(call objs_from_dir,test,$(PROJECT)) -dirs=core/$(CORE) chip/$(CHIP) board/$(BOARD) private common test util +dirs=core/$(CORE) chip/$(CHIP) board/$(BOARD) private common power test util +dirs+=$(shell find driver -type d) include Makefile.rules diff --git a/Makefile.rules b/Makefile.rules index c14049c30a..527e0934ef 100644 --- a/Makefile.rules +++ b/Makefile.rules @@ -165,7 +165,8 @@ $(out)/util/burn_my_ec: $(out)/$(PROJECT).bin .PHONY: FORCE cscope.files: FORCE @-rm -f cscope.out - @find chip/${CHIP} board/${BOARD} common core include -name '*.[chS]' \ + @find chip/${CHIP} board/${BOARD} common core driver power include \ + -name '*.[chS]' \ -not -name '*test*' -not -name '*mock*' -not -name '*~*' \ > cscope.files diff --git a/common/battery_common.c b/common/battery.c similarity index 100% rename from common/battery_common.c rename to common/battery.c diff --git a/common/build.mk b/common/build.mk index 02d841e9ee..bd1bccdc82 100644 --- a/common/build.mk +++ b/common/build.mk @@ -7,28 +7,20 @@ # common-y=main.o util.o console_output.o uart_buffering.o -common-y+=memory_commands.o shared_mem.o system_common.o hooks.o -common-y+=gpio_common.o version.o printf.o queue.o +common-y+=memory_commands.o shared_mem.o system.o hooks.o +common-y+=gpio.o version.o printf.o queue.o common-y+=throttle_ap.o common-$(CONFIG_BACKLIGHT_LID)+=backlight_lid.o -common-$(CONFIG_BATTERY_BQ20Z453)+=battery_bq20z453.o -common-$(CONFIG_BATTERY_BQ27541)+=battery_common.o battery_bq27541.o -common-$(CONFIG_BATTERY_LINK)+=battery_link.o -common-$(CONFIG_BATTERY_SMART)+=battery_common.o battery_smart.o -common-$(CONFIG_CHARGER)+=charge_state.o charger_common.o -common-$(CONFIG_CHARGER_BQ24192)+=charger_bq24192.o -common-$(CONFIG_CHARGER_BQ24715)+=charger_bq24715.o -common-$(CONFIG_CHARGER_BQ24725)+=charger_bq24725.o -common-$(CONFIG_CHARGER_BQ24707A)+=charger_bq24707a.o -common-$(CONFIG_CHARGER_BQ24738)+=charger_bq24738.o +# TODO(rspangler): Why do these include battery_common but the other batteries +# don't? Perhaps should use CONFIG_CMD_BATTERY instead, since all that's in +# battery.c is the battery console command? +common-$(CONFIG_BATTERY_BQ27541)+=battery.o +common-$(CONFIG_BATTERY_SMART)+=battery.o +common-$(CONFIG_CHARGER)+=charge_state.o charger.o +# TODO(rspangler): This is really the charge state machine for ARM, not the +# charger driver for the tps65090. Rename. common-$(CONFIG_CHARGER_TPS65090)+=pmu_tps65090_charger.o -common-$(CONFIG_CHIPSET_BAYTRAIL)+=chipset_baytrail.o -common-$(CONFIG_CHIPSET_GAIA)+=chipset_gaia.o -common-$(CONFIG_CHIPSET_TEGRA)+=chipset_tegra.o -common-$(CONFIG_CHIPSET_HASWELL)+=chipset_haswell.o -common-$(CONFIG_CHIPSET_IVYBRIDGE)+=chipset_ivybridge.o -common-$(CONFIG_CHIPSET_X86)+=chipset_x86_common.o common-$(CONFIG_PMU_POWERINFO)+=pmu_tps65090_powerinfo.o common-$(CONFIG_PMU_TPS65090)+=pmu_tps65090.o common-$(CONFIG_EOPTION)+=eoption.o @@ -37,33 +29,28 @@ common-$(CONFIG_EXTPOWER_GPIO)+=extpower_gpio.o common-$(CONFIG_EXTPOWER_KIRBY)+=extpower_kirby.o common-$(CONFIG_EXTPOWER_SNOW)+=extpower_snow.o common-$(CONFIG_EXTPOWER_SPRING)+=extpower_spring.o +# TODO(rspangler): Rename to CONFIG_PWM_FAN. common-$(CONFIG_FAN)+=pwm_fan.o -common-$(CONFIG_FLASH)+=flash_common.o +common-$(CONFIG_FLASH)+=flash.o common-$(CONFIG_FMAP)+=fmap.o -common-$(CONFIG_I2C)+=i2c_common.o +common-$(CONFIG_I2C)+=i2c.o common-$(CONFIG_I2C_ARBITRATION)+=i2c_arbitration.o common-$(CONFIG_KEYBOARD_PROTOCOL_8042)+=keyboard_8042.o common-$(CONFIG_KEYBOARD_PROTOCOL_MKBP)+=keyboard_mkbp.o common-$(CONFIG_KEYBOARD_TEST)+=keyboard_test.o common-$(CONFIG_LED_COMMON)+=led_common.o -common-$(CONFIG_LED_DRIVER_DS2413)+=led_driver_ds2413.o -common-$(CONFIG_LED_DRIVER_LP5562)+=led_driver_lp5562.o common-$(CONFIG_LID_SWITCH)+=lid_switch.o common-$(CONFIG_LPC)+=port80.o common-$(CONFIG_ONEWIRE)+=onewire.o common-$(CONFIG_POWER_BUTTON)+=power_button.o common-$(CONFIG_POWER_BUTTON_X86)+=power_button_x86.o common-$(CONFIG_PSTORE)+=pstore_commands.o -common-$(CONFIG_PWM)+=pwm_common.o +common-$(CONFIG_PWM)+=pwm.o common-$(CONFIG_PWM_KBLIGHT)+=pwm_kblight.o -common-$(CONFIG_REGULATOR_IR357X)+=regulator_ir357x.o common-$(CONFIG_SWITCH)+=switch.o common-$(CONFIG_TEMP_SENSOR)+=temp_sensor.o thermal.o -common-$(CONFIG_TEMP_SENSOR_G781)+=temp_sensor_g781.o -common-$(CONFIG_TEMP_SENSOR_TMP006)+=temp_sensor_tmp006.o common-$(CONFIG_USB_PORT_POWER_DUMB)+=usb_port_power_dumb.o common-$(CONFIG_USB_PORT_POWER_SMART)+=usb_port_power_smart.o -common-$(CONFIG_USB_SWITCH_TSU6721)+=usb_switch_tsu6721.o common-$(CONFIG_WIRELESS)+=wireless.o common-$(HAS_TASK_CHIPSET)+=chipset.o common-$(HAS_TASK_CONSOLE)+=console.o diff --git a/common/charger_common.c b/common/charger.c similarity index 100% rename from common/charger_common.c rename to common/charger.c diff --git a/common/flash_common.c b/common/flash.c similarity index 100% rename from common/flash_common.c rename to common/flash.c diff --git a/common/gpio_common.c b/common/gpio.c similarity index 100% rename from common/gpio_common.c rename to common/gpio.c diff --git a/common/i2c_common.c b/common/i2c.c similarity index 100% rename from common/i2c_common.c rename to common/i2c.c diff --git a/common/pwm_common.c b/common/pwm.c similarity index 100% rename from common/pwm_common.c rename to common/pwm.c diff --git a/common/system_common.c b/common/system.c similarity index 100% rename from common/system_common.c rename to common/system.c diff --git a/common/battery_bq20z453.c b/driver/battery/bq20z453.c similarity index 100% rename from common/battery_bq20z453.c rename to driver/battery/bq20z453.c diff --git a/common/battery_bq27541.c b/driver/battery/bq27541.c similarity index 100% rename from common/battery_bq27541.c rename to driver/battery/bq27541.c diff --git a/common/battery_link.c b/driver/battery/link.c similarity index 100% rename from common/battery_link.c rename to driver/battery/link.c diff --git a/common/battery_smart.c b/driver/battery/smart.c similarity index 100% rename from common/battery_smart.c rename to driver/battery/smart.c diff --git a/driver/build.mk b/driver/build.mk new file mode 100644 index 0000000000..013cfb4159 --- /dev/null +++ b/driver/build.mk @@ -0,0 +1,34 @@ +# -*- makefile -*- +# Copyright (c) 2013 The Chromium OS Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. +# +# Drivers for off-chip devices +# + +# Batteries +driver-$(CONFIG_BATTERY_BQ20Z453)+=battery/bq20z453.o +driver-$(CONFIG_BATTERY_BQ27541)+=battery/bq27541.o +driver-$(CONFIG_BATTERY_LINK)+=battery/link.o +driver-$(CONFIG_BATTERY_SMART)+=battery/smart.o + +# Battery charger ICs +driver-$(CONFIG_CHARGER_BQ24192)+=charger/bq24192.o +driver-$(CONFIG_CHARGER_BQ24707A)+=charger/bq24707a.o +driver-$(CONFIG_CHARGER_BQ24715)+=charger/bq24715.o +driver-$(CONFIG_CHARGER_BQ24725)+=charger/bq24725.o +driver-$(CONFIG_CHARGER_BQ24738)+=charger/bq24738.o + +# LED drivers +driver-$(CONFIG_LED_DRIVER_DS2413)+=led/ds2413.o +driver-$(CONFIG_LED_DRIVER_LP5562)+=led/lp5562.o + +# Voltage regulators +driver-$(CONFIG_REGULATOR_IR357X)+=regulator_ir357x.o + +# Temperature sensors +driver-$(CONFIG_TEMP_SENSOR_G781)+=temp_sensor/g781.o +driver-$(CONFIG_TEMP_SENSOR_TMP006)+=temp_sensor/tmp006.o + +# USB switches +driver-$(CONFIG_USB_SWITCH_TSU6721)+=usb_switch_tsu6721.o diff --git a/common/charger_bq24192.c b/driver/charger/bq24192.c similarity index 100% rename from common/charger_bq24192.c rename to driver/charger/bq24192.c diff --git a/common/charger_bq24707a.c b/driver/charger/bq24707a.c similarity index 100% rename from common/charger_bq24707a.c rename to driver/charger/bq24707a.c diff --git a/common/charger_bq24715.c b/driver/charger/bq24715.c similarity index 100% rename from common/charger_bq24715.c rename to driver/charger/bq24715.c diff --git a/common/charger_bq24725.c b/driver/charger/bq24725.c similarity index 100% rename from common/charger_bq24725.c rename to driver/charger/bq24725.c diff --git a/common/charger_bq24738.c b/driver/charger/bq24738.c similarity index 100% rename from common/charger_bq24738.c rename to driver/charger/bq24738.c diff --git a/common/led_driver_ds2413.c b/driver/led/ds2413.c similarity index 100% rename from common/led_driver_ds2413.c rename to driver/led/ds2413.c diff --git a/common/led_driver_lp5562.c b/driver/led/lp5562.c similarity index 100% rename from common/led_driver_lp5562.c rename to driver/led/lp5562.c diff --git a/common/regulator_ir357x.c b/driver/regulator_ir357x.c similarity index 100% rename from common/regulator_ir357x.c rename to driver/regulator_ir357x.c diff --git a/common/temp_sensor_g781.c b/driver/temp_sensor/g781.c similarity index 100% rename from common/temp_sensor_g781.c rename to driver/temp_sensor/g781.c diff --git a/common/temp_sensor_tmp006.c b/driver/temp_sensor/tmp006.c similarity index 100% rename from common/temp_sensor_tmp006.c rename to driver/temp_sensor/tmp006.c diff --git a/common/usb_switch_tsu6721.c b/driver/usb_switch_tsu6721.c similarity index 100% rename from common/usb_switch_tsu6721.c rename to driver/usb_switch_tsu6721.c diff --git a/common/chipset_baytrail.c b/power/baytrail.c similarity index 100% rename from common/chipset_baytrail.c rename to power/baytrail.c diff --git a/power/build.mk b/power/build.mk new file mode 100644 index 0000000000..1c176a3db9 --- /dev/null +++ b/power/build.mk @@ -0,0 +1,15 @@ +# -*- makefile -*- +# Copyright (c) 2013 The Chromium OS Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. +# +# Power management for application processor and peripherals +# + +# TODO(rspangler): rename _CHIPSET to _POWER +power-$(CONFIG_CHIPSET_BAYTRAIL)+=baytrail.o +power-$(CONFIG_CHIPSET_GAIA)+=gaia.o +power-$(CONFIG_CHIPSET_HASWELL)+=haswell.o +power-$(CONFIG_CHIPSET_IVYBRIDGE)+=ivybridge.o +power-$(CONFIG_CHIPSET_TEGRA)+=tegra.o +power-$(CONFIG_CHIPSET_X86)+=x86_common.o diff --git a/common/chipset_gaia.c b/power/gaia.c similarity index 100% rename from common/chipset_gaia.c rename to power/gaia.c diff --git a/common/chipset_haswell.c b/power/haswell.c similarity index 100% rename from common/chipset_haswell.c rename to power/haswell.c diff --git a/common/chipset_ivybridge.c b/power/ivybridge.c similarity index 100% rename from common/chipset_ivybridge.c rename to power/ivybridge.c diff --git a/common/chipset_tegra.c b/power/tegra.c similarity index 100% rename from common/chipset_tegra.c rename to power/tegra.c diff --git a/common/chipset_x86_common.c b/power/x86_common.c similarity index 100% rename from common/chipset_x86_common.c rename to power/x86_common.c