Commit Graph

15 Commits

Author SHA1 Message Date
Jae Hyun Yoo 301a5d3ad2
soc: aspeed: lpc-ctrl: Block error printing on probe defer cases
Add a checking code when it gets -EPROBE_DEFER while getting a clock
resource. In this case, it doesn't need to print out an error message
because the probing will be re-visited.

Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
Signed-off-by: Joel Stanley <joel@jms.id.au>
Reviewed-by: Andrew Jeffery <andrew@aj.id.au>
Reviewed-by: Iwona Winiarska <iwona.winiarska@intel.com>
Link: https://lore.kernel.org/r/20211104173709.222912-1-jae.hyun.yoo@intel.com
Link: https://lore.kernel.org/r/20220201070118.196372-1-joel@jms.id.au'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-02-08 09:52:59 +01:00
Yang Yingliang 51e321fed0
soc: aspeed-lpc-ctrl: Fix clock cleanup in error path
Move syscon_regmap_lookup_by_compatible() above the
devm_clk_get() to avoid missing clk_disable_unprepare().

Fixes: 2f9b25fa66 ("soc: aspeed: Re-enable FWH2AHB on AST2600")
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Signed-off-by: Joel Stanley <joel@jms.id.au>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Link: https://lore.kernel.org/r/20210824085522.1849410-1-yangyingliang@huawei.com
Link: https://lore.kernel.org/r/20210825001214.3056193-1-joel@jms.id.au'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-08-26 11:31:22 +02:00
Joel Stanley 2f9b25fa66 soc: aspeed: Re-enable FWH2AHB on AST2600
Recent builds of the vendor u-boot tree disable features of the
BMC that may allow unwanted access if not correctly configured. This
includes the firmware hub to ahb bridge (FWH2AHB), which is used by this
driver.

The bit to "un-disable" it is in the SCU. Set it only when the ioctl is
called and we are running on the ast2600, as to not open up the
'backdoor' unless there's userspace trying to use it.

Fixes: deb50313ba83 ("soc: aspeed-lpc-ctrl: LPC to AHB mapping on ast2600")
Link: https://lore.kernel.org/r/20210629073520.318514-2-joel@jms.id.au
Signed-off-by: Joel Stanley <joel@jms.id.au>
2021-08-19 13:59:28 +09:30
Iwona Winiarska b49a0e69a7 soc: aspeed: lpc-ctrl: Fix boundary check for mmap
The check mixes pages (vm_pgoff) with bytes (vm_start, vm_end) on one
side of the comparison, and uses resource address (rather than just the
resource size) on the other side of the comparison.
This can allow malicious userspace to easily bypass the boundary check and
map pages that are located outside memory-region reserved by the driver.

Fixes: 6c4e976785 ("drivers/misc: Add Aspeed LPC control driver")
Cc: stable@vger.kernel.org
Signed-off-by: Iwona Winiarska <iwona.winiarska@intel.com>
Reviewed-by: Andrew Jeffery <andrew@aj.id.au>
Tested-by: Andrew Jeffery <andrew@aj.id.au>
Reviewed-by: Joel Stanley <joel@aj.id.au>
Signed-off-by: Joel Stanley <joel@jms.id.au>
2021-08-17 17:58:42 +09:30
Chia-Wei, Wang 489774ff5d soc: aspeed: Adapt to new LPC device tree layout
Add check against LPC device v2 compatible string to
ensure that the fixed device tree layout is adopted.
The LPC register offsets are also fixed accordingly.

Signed-off-by: Chia-Wei Wang <chiawei_wang@aspeedtech.com>
Reviewed-by: Andrew Jeffery <andrew@aj.id.au>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Link: https://lore.kernel.org/r/20210319062752.145730-5-andrew@aj.id.au
Signed-off-by: Joel Stanley <joel@jms.id.au>
2021-04-09 13:39:22 +09:30
Joel Stanley cd460be046 soc: aspeed-lpc-ctrl: Fix driver name
Clarify the string now that it supports the AST2600 too.

Signed-off-by: Joel Stanley <joel@jms.id.au>
2020-09-25 14:54:42 +09:30
Joel Stanley 4d1d81dbc9 soc: aspeed-lpc-ctrl: Fix whitespace
Some misaligned indentation I noticed when applying another patch.

Signed-off-by: Joel Stanley <joel@jms.id.au>
2020-09-25 14:54:42 +09:30
Joel Stanley 5042d3f278 soc: aspeed-lpc-ctrl: LPC to AHB mapping on ast2600
The ast2600 disables the mapping of AHB memory regions by default,
only allowing the LPC window to point to SPI NOR. In order to point the
window to any AHB address, an ast2600 specific bit must be toggled.

Reviewed-by: Andrew Jeffery <andrew@aj.id.au>
Link: https://lore.kernel.org/r/20200312121413.294384-1-joel@jms.id.au
Signed-off-by: Joel Stanley <joel@jms.id.au>
2020-09-25 14:54:42 +09:30
Andrew Jeffery 6bf4ddbe2b soc: aspeed-lpc-ctrl: Fail probe of lpc-ctrl if reserved memory is not aligned
Alignment is a hardware constraint of the LPC2AHB bridge, and misaligned
reserved memory will present as corrupted data.

Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Link: https://lore.kernel.org/r/20191016233950.10100-1-andrew@aj.id.au
Signed-off-by: Joel Stanley <joel@jms.id.au>
2020-09-25 14:08:14 +09:30
Brad Bishop 44ddc4de87 soc: aspeed: lpc: Add AST2600 compatible strings
The AST2600 has the same lpc-ctrl and lpc-snoop devices as the
AST2500.

Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Acked-by: Andrew Jeffery <andrew@aj.id.au>
Link: https://lore.kernel.org/r/20190925125610.12096-4-bradleyb@fuzziesquirrel.com
Signed-off-by: Joel Stanley <joel@jms.id.au>
2020-09-25 14:02:43 +09:30
Olof Johansson 0aa447e5ce ASPEED SoC updates for 5.3
LPC control driver changes and a fix.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEE+nHMAt9PCBDH63wBa3ZZB4FHcJ4FAl0N2bQACgkQa3ZZB4FH
 cJ4RoA/+IBClZauu9bGp6kdyGRtcNzjh3DmqIBx7veHqSD9X/+cU6wXw19FBDMps
 CShWgRaCShT/ITG7mIPaY6iiuQKuTOtBQp8S0xBvb+fvoLDHDhZ3BeAEQlg95qWL
 dZpfvhdNIJKGI4ZQsN/QcGJRLA6tooPFmTUS5tpH2ZjY8Rp3EKAm0l/yKfw6qzLx
 WbadEf0oFqpR7Ij35w19WEzT2guZAu5a+CTDudf/AFyOX5aPIKTGoBIKTlbLFsuS
 9gdejjso11IAZsS2rICLAdrmnkJOlJAWmaFxguIdCQGIzlgRyPnH1HtkI0SDfILn
 QddQZRIg31nOU9OBGELk+JMJAkRzM+pkynbbr1mSy4mlExKBow/oLcO9ZSeeWTni
 UiyW+3Duy/3WBDy2tfVEG9+b2df0Ow0hItolcCLKJK5JmqUROOWT82Tq2BiYRpbp
 EQmLYP4e5P2g6X7heUgtJtkL+HL2Wny3h60pv6XYJ63Y4waryXr9u0CmdvKeGv6I
 /YZESY/h/9n8kv6cdKKmV9IW/iiBHKphnqHoQjJpkudyQIoqEPGHFM9GKddOtKVi
 0cHN4cfhITDCKjJH0jt5Ke64JtGfCMpCVzecIPOuJ88xYBetK1CI+tINHVNshUtU
 vrdeo4MpR7uuV8v9nMICEtRImfs/dZGyQc3tl9kv/yDIAbEfdfQ=
 =N3Jm
 -----END PGP SIGNATURE-----

Merge tag 'aspeed-5.3-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/joel/aspeed into arm/drivers

ASPEED SoC updates for 5.3

LPC control driver changes and a fix.

* tag 'aspeed-5.3-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/joel/aspeed:
  soc: aspeed: lpc-ctrl: Fix probe error handling
  soc: aspeed: lpc-ctrl: make parameter optional

Signed-off-by: Olof Johansson <olof@lixom.net>
2019-06-25 05:43:16 -07:00
Joel Stanley c8a3b9b50d soc: aspeed: lpc-ctrl: Fix probe error handling
gcc warns that a mising "flash" phandle node leads to undefined
behavior later:

drivers/soc/aspeed/aspeed-lpc-ctrl.c: In function 'aspeed_lpc_ctrl_probe':
drivers/soc/aspeed/aspeed-lpc-ctrl.c:201:18: error: '*((void *)&resm+8)' may be used uninitialized in this function [-Werror=maybe-uninitialized]

Only set the flash base and size if we find a phandle in the device
tree.

Reported-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Andrew Jeffery <andrew@aj.id.au>
Reviewed-by: Vijay Khemka <vijaykhemka@fb.com>
Signed-off-by: Joel Stanley <joel@jms.id.au>
2019-06-22 16:56:35 +09:30
Vijay Khemka e4272af424 soc: aspeed: lpc-ctrl: make parameter optional
Making memory-region and flash as optional parameter in device
tree if user needs to use these parameter through ioctl then
need to define in devicetree.

Signed-off-by: Vijay Khemka <vijaykhemka@fb.com>
Reviewed-by: Andrew Jeffery <andrew@aj.id.au>
Signed-off-by: Joel Stanley <joel@jms.id.au>
2019-06-17 13:36:51 +09:30
Thomas Gleixner 2874c5fd28 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
Based on 1 normalized pattern(s):

  this program is free software you can redistribute it and or modify
  it under the terms of the gnu general public license as published by
  the free software foundation either version 2 of the license or at
  your option any later version

extracted by the scancode license scanner the SPDX license identifier

  GPL-2.0-or-later

has been chosen to replace the boilerplate/reference in 3029 file(s).

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Allison Randal <allison@lohutok.net>
Cc: linux-spdx@vger.kernel.org
Link: https://lkml.kernel.org/r/20190527070032.746973796@linutronix.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-05-30 11:26:32 -07:00
Patrick Venture 524feb7994 soc: add aspeed folder and misc drivers
Create a SoC folder for the ASPEED parts and place the misc drivers
currently present into this folder.  These drivers are not generic part
drivers, but rather only apply to the ASPEED SoCs.

Signed-off-by: Patrick Venture <venture@google.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Olof Johansson <olof@lixom.net>
2019-04-29 09:36:34 -07:00