Files
OpenCellular/Makefile
Bill Richardson 497e292542 Start separating LM4 pwm logic from fan logic.
On the LM4, all pwm functions are implemented through hardware "fan"
modules. This change abstracts the hardware fan stuff from the higher level
pwm and fan control logic. Those are still chip-specific at the moment, but
may be moved into common with a future CL.

BUG=chrome-os-partner:23530
BRANCH=none
TEST=manual

Code refactoring only, no new behavior. All tests build and pass, and I
tested on Link with some manual pwm and fan commands on the EC console.

> fanduty 30
> faninfo

Should report ~4500 RPM

> fanset 7000
> faninfo

Should report ~48% duty cycle.

> fanauto

Back to automatic control.

> kblight 0
> kblight 10
> kblight 50
> kblight 100

Keyboard backlight should glow appropriately.

Change-Id: I7558f36b2626e555fc8dabdd12660fa484a93b7f
Signed-off-by: Bill Richardson <wfrichar@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/174991
Reviewed-by: Randall Spangler <rspangler@chromium.org>
2013-10-30 01:03:43 +00:00

72 lines
2.2 KiB
Makefile

# Copyright (c) 2011 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.
#
# Embedded Controller firmware build system
#
BOARD ?= bds
PROJECT?=ec
# output directory for build objects
out?=build/$(BOARD)
include Makefile.toolchain
# Get CHIP name
include board/$(BOARD)/build.mk
# Transform the configuration into make variables
includes=include core/$(CORE)/include $(dirs) $(out) test
ifeq "$(TEST_BUILD)" "y"
_tsk_lst:=$(shell echo "CONFIG_TASK_LIST CONFIG_TEST_TASK_LIST" | \
$(CPP) -P -Iboard/$(BOARD) -Itest \
-D"TASK_NOTEST(n, r, d, s)=" -D"TASK_ALWAYS(n, r, d, s)=n" \
-D"TASK_TEST(n, r, d, s)=n" -imacros ec.tasklist \
-imacros $(PROJECT).tasklist)
else
_tsk_lst:=$(shell echo "CONFIG_TASK_LIST" | $(CPP) -P \
-Iboard/$(BOARD) -D"TASK_NOTEST(n, r, d, s)=n" \
-D"TASK_ALWAYS(n, r, d, s)=n" -imacros ec.tasklist)
endif
_tsk_cfg:=$(foreach t,$(_tsk_lst) ,HAS_TASK_$(t))
CPPFLAGS+=$(foreach t,$(_tsk_cfg),-D$(t))
_flag_cfg:=$(shell $(CPP) $(CPPFLAGS) -P -dM -Ichip/$(CHIP) -Iboard/$(BOARD) \
include/config.h | grep -o "\#define CONFIG_[A-Za-z0-9_]*" | \
cut -c9- | sort)
$(foreach c,$(_tsk_cfg) $(_flag_cfg),$(eval $(c)=y))
$(eval BOARD_$(BOARD)=y)
# Get build configuration from sub-directories
-include private/build.mk
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
includes+=$(includes-y)
objs_from_dir=$(sort $(foreach obj, $($(2)-y), \
$(out)/$(1)/$(firstword $($(2)-mock-$(PROJECT)-$(obj)) $(obj))))
# Get all sources to build
all-y=$(call objs_from_dir,core/$(CORE),core)
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 power test util
dirs+=$(shell find driver -type d)
include Makefile.rules