Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for lirc_odroid blaster, SPI flash and petitboot #1

Closed
wants to merge 68 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
68 commits
Select commit Hold shift + click to select a range
aaa12bf
net: wireless: rtl8723ds: fixed some issues
xiaoyao888888 Sep 25, 2018
71282b6
net: wireless: update bcmdhd driver to "1.579.77.41.9 (r)"
xiaoyao888888 Sep 4, 2018
1af4346
serial: 8250: fix cpu and dmac access uart fifo at the same time
Aug 31, 2018
00af0cf
serial: 8250: add line error log
Sep 12, 2018
b44340f
media: rockchip: isp1: change max value of isp input
Sep 21, 2018
df7228d
media: i2c: ov13850: add 4224x3136 setting
Sep 21, 2018
c3dd8a9
net: wireless: bcmdhd: fix some issues for driver "1.579.77.41.9 (r)"
xiaoyao888888 Sep 28, 2018
b37da06
arm64: rockchip_linux_defconfig: build the wifi as module by default
Caesar-github Sep 28, 2018
bb069f1
arm64: dts: rockchip: rk3399: change the parameter of vdd_log.
Sep 25, 2018
3c2e0e3
drm/rockchip: vop: Use Use pm_runtime_put_sync() in vop_crtc_disable()
finley1226 Sep 28, 2018
067752d
arm64: dts: rockchip: fixes the rk808's vddio-supply on rk3399-sapphire
Caesar-github Sep 28, 2018
d463ec3
media: i2c: add g_frame_interval function
Oct 12, 2018
746e0c0
media: i2c: ov13850: fix fps is not correct on full size mode
Oct 18, 2018
51b1df1
net: wireless: rkwifi: add SUPPORT_P2P_GO_PS to fix suspend issue
xiaoyao888888 Oct 10, 2018
35ff43b
media: rockchip: isp1: change list_del sequence for oops error
Oct 11, 2018
446d3c6
media: i2c: tc35874x: Fix tc35874x cannot work properly
wenleo Oct 18, 2018
f1b8f4c
arm64: config: rockchip_linux_defconfig: enable CONFIG_VIDEO_TC35874X
wenleo Oct 18, 2018
d2b2db9
arm64: dts: rockchip: Add tc358749x node for rk3399-sapphire-excavato…
wenleo Oct 18, 2018
c765b5a
dt-bindings: Document add imx323
Oct 17, 2018
863bdc0
media: i2c: add imx323 driver
Oct 16, 2018
7ac7947
media: rockchip: isp1: Support for RK1808
Oct 9, 2018
e6a6de2
media: rockchip: isp1: config grf dvp datawidth
Oct 16, 2018
ac3ca7a
media: soc_camera: ov13850: fix fps is not correct
Sep 26, 2018
5914172
drivers/input: remove unused lightsensor drivers
rkhuangtao Nov 1, 2018
c67f1f5
input: keyboard: rk_keys: remove include adc.h
rkhuangtao Nov 1, 2018
1588f44
drivers/power: remove unused adc battery drivers
rkhuangtao Nov 1, 2018
3d70659
drivers/headset_observe/rk_headset_irq_hook_adc: remove include adc.h
rkhuangtao Nov 1, 2018
e593c9c
drivers/input/sensors/lsensor: remove unused ls_photoresistor driver
rkhuangtao Nov 1, 2018
ae74496
drivers: remove unused adc driver
rkhuangtao Nov 1, 2018
afc9d7c
i2c: rk3x: Add slave_hold_scl ipd clean
SuperDavidWu Oct 18, 2018
f830131
i2c: rk3x: Leave the irq handle if received nack irq
SuperDavidWu Oct 18, 2018
fc6285b
i2c: rk3x: Disable i2c controller after i2c transfer finished
SuperDavidWu Oct 18, 2018
d34a3f3
i2c: rk3x: Disable irq after i2c transfer finished
SuperDavidWu Oct 18, 2018
4555532
devfreq_cooling: inline the of_devfreq_cooling_register_power()
ZhengShunQian Oct 19, 2018
3a80488
usb: dwc3: rockchip: fix usb reenumerated upon pm resume
wuliangfeng Oct 19, 2018
894cd84
ASoC: rockchip: rk817-codec: fix mic_in_differential as loopback fail…
Oct 23, 2018
e856e4f
spi: rockchip: support to set lsb into ROCKCHIP_SPI_CTRLR0
Sep 27, 2018
4700176
i2c: rk3x: Fix the smatch warning
SuperDavidWu Oct 25, 2018
6bcd35d
power: rk817_charger: fix up the system get usb plug in/out status error
power-xsf Jun 28, 2018
91f3f0b
pinctrl: rockchip: Call rockchip_pinctrl_get_soc_data() after regmap …
SuperDavidWu Oct 29, 2018
1b1ea70
video/rockchip: rga2 && rga add debug nod and some auto check case an…
Oct 1, 2018
ef3c733
video/rockchip: rga2: fix rgaColorFill bug and memory check bug
Oct 30, 2018
418f677
ASoC: codecs: rockchip_rt5651_tc358749x: add HDMIIN widget for comple…
Oct 26, 2018
0ee21a0
usb: gadget: uvc: add compat_ioctl
wuliangfeng Oct 31, 2018
77fddb5
LE: linux-0001-rockchip
Owersun Nov 17, 2018
a7a35e4
LE: linux-0004-audio.patch
Owersun Nov 17, 2018
3c95d5d
LE: linux-0005-dts.patch
Owersun Nov 17, 2018
686035f
LE: linux-0007-dtoverlay-configfs.patch
Owersun Nov 17, 2018
e8e3129
LE: linux-0008-mmc-pwrseq.patch
Owersun Nov 17, 2018
b746bf3
LE: linux-0010-dvb.patch
Owersun Nov 17, 2018
4ee69c9
LE: linux-1000-pl330.patch
Owersun Nov 17, 2018
66aa879
LE: linux-1000-vcodec.patch
Owersun Nov 17, 2018
cd6a295
net/rfkill: bt: improve to set the bt power
Caesar-github Nov 19, 2018
c9a29af
Remove function calls that are no longer compatible with definition a…
Owersun Nov 21, 2018
0fa9e4f
Adapt Odroid-N1 dts to sound changes from LE
Owersun Nov 21, 2018
8c98b8f
Merge branch 'odroidn1-4.4.y' into odroidn1-4.4.y-with-le-patches
Owersun Nov 21, 2018
462b93a
Merge remote-tracking branch 'rockchip/stable-4.4-rk3399-linux' into …
Owersun Nov 22, 2018
64a39a1
drm ioctl's of some calls passes invalid data, and they need to be fi…
Owersun Nov 24, 2018
c693db1
Merge branch 'odroidn1-4.4.y' into odroidn1-4.4.y-with-le-patches
Owersun Nov 27, 2018
e0e1a4f
Resolve conflicts after merge
Owersun Nov 28, 2018
41e5a8c
Merge branch 'odroidn1-4.4.y' into odroidn1-4.4.y-with-le-patches
Owersun Dec 1, 2018
179d67e
Merge branch 'odroidn1-4.4.y' into odroidn1-4.4.y-with-le-patches
Owersun Dec 13, 2018
7d40bfb
Merge branch 'odroidn1-4.4.y' into odroidn1-4.4.y-with-le-patches
Owersun Dec 17, 2018
ac26de6
Adapt get_user_pages() usage to changes it received in 4.4.168
Owersun Dec 18, 2018
6d68716
Merge branch 'odroidn1-4.4.y' into odroidn1-4.4.y-with-le-patches
Owersun Dec 21, 2018
52c61e0
Added 0003_n1_spi_mtd_config_dts.diff from @JOY for SPI NAND support
mad-ady Jan 11, 2019
d623428
Added kexec, petitboot patches by @JOY: 0001_n1_add_kexec.diff, 0002…
mad-ady Jan 11, 2019
3c53dff
Added lirc blaster driver from XU4 4.9 kernel
mad-ady Jan 11, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 35 additions & 0 deletions Documentation/devicetree/bindings/media/i2c/imx323.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
* Sony IMX323 DVP sensor

Required Properties:
- compatible: should be "sony,imx323"
- clocks: reference to the 37.125M xvclk input clock.
- clock-names: should be "xvclk".
- dovdd-supply: Digital I/O voltage supply, 1.8 volts
- avdd-supply: Analog voltage supply, 2.8 volts
- dvdd-supply: Digital core voltage supply, 1.2 volts
- reset-gpios: Low active reset gpio

The device node must contain one 'port' child node for its digital output
video port, in accordance with the video interface bindings defined in
Documentation/devicetree/bindings/media/video-interfaces.txt.

Example:
&i2c3: imx323@1a {
compatible = "sony,imx323";
reg = <0x1a>;
clocks = <&cru SCLK_CIF_OUT>;
clock-names = "xvclk";
avdd-supply = <&vcc2v8_dvp>;
dovdd-supply = <&vcc1v8_dvp>;
dvdd-supply = <&vdd1v5_dvp>;
pwdn-gpios = <&gpio2 RK_PC4 GPIO_ACTIVE_HIGH>;
reset-gpios = <&gpio2 RK_PC5 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&dvp_d0d1_m0 &dvp_d2d9_m0
&dvp_d10d11_m0 &cif_clkout_m0>;
port {
imx323_out: endpoint {
remote-endpoint = <&isp0_dvp_in>;
};
};
};
4 changes: 4 additions & 0 deletions Documentation/devicetree/bindings/mmc/mmc-pwrseq-simple.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,10 @@ Optional properties:
See ../clocks/clock-bindings.txt for details.
- clock-names : Must include the following entry:
"ext_clock" (External clock provided to the card).
- post-power-on-delay-ms : Delay in ms after powering the card and
de-asserting the reset-gpios (if any)
- power-off-delay-us : Delay in us after asserting the reset-gpios (if any)
during power off of the card.

Example:

Expand Down
31 changes: 31 additions & 0 deletions Documentation/devicetree/configfs-overlays.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
Howto use the configfs overlay interface.

A device-tree configfs entry is created in /config/device-tree/overlays
and and it is manipulated using standard file system I/O.
Note that this is a debug level interface, for use by developers and
not necessarily something accessed by normal users due to the
security implications of having direct access to the kernel's device tree.

* To create an overlay you mkdir the directory:

# mkdir /config/device-tree/overlays/foo

* Either you echo the overlay firmware file to the path property file.

# echo foo.dtbo >/config/device-tree/overlays/foo/path

* Or you cat the contents of the overlay to the dtbo file

# cat foo.dtbo >/config/device-tree/overlays/foo/dtbo

The overlay file will be applied, and devices will be created/destroyed
as required.

To remove it simply rmdir the directory.

# rmdir /config/device-tree/overlays/foo

The rationalle of the dual interface (firmware & direct copy) is that each is
better suited to different use patterns. The firmware interface is what's
intended to be used by hardware managers in the kernel, while the copy interface
make sense for developers (since it avoids problems with namespaces).
57 changes: 48 additions & 9 deletions Documentation/filesystems/configfs/configfs.txt
Original file line number Diff line number Diff line change
Expand Up @@ -51,15 +51,27 @@ configfs tree is always there, whether mounted on /config or not.
An item is created via mkdir(2). The item's attributes will also
appear at this time. readdir(3) can determine what the attributes are,
read(2) can query their default values, and write(2) can store new
values. Like sysfs, attributes should be ASCII text files, preferably
with only one value per file. The same efficiency caveats from sysfs
apply. Don't mix more than one attribute in one attribute file.

Like sysfs, configfs expects write(2) to store the entire buffer at
once. When writing to configfs attributes, userspace processes should
first read the entire file, modify the portions they wish to change, and
then write the entire buffer back. Attribute files have a maximum size
of one page (PAGE_SIZE, 4096 on i386).
values. Don't mix more than one attribute in one attribute file.

There are two types of configfs attributes:

* Normal attributes, which similar to sysfs attributes, are small ASCII text
files, with a maximum size of one page (PAGE_SIZE, 4096 on i386). Preferably
only one value per file should be used, and the same caveats from sysfs apply.
Configfs expects write(2) to store the entire buffer at once. When writing to
normal configfs attributes, userspace processes should first read the entire
file, modify the portions they wish to change, and then write the entire
buffer back.

* Binary attributes, which are somewhat similar to sysfs binary attributes,
but with a few slight changes to semantics. The PAGE_SIZE limitation does not
apply, but the whole binary item must fit in single kernel vmalloc'ed buffer.
The write(2) calls from user space are buffered, and the attributes'
write_bin_attribute method will be invoked on the final close, therefore it is
imperative for user-space to check the return code of close(2) in order to
verify that the operation finished successfully.
To avoid a malicious user OOMing the kernel, there's a per-binary attribute
maximum buffer value.

When an item needs to be destroyed, remove it with rmdir(2). An
item cannot be destroyed if any other item has a link to it (via
Expand Down Expand Up @@ -171,6 +183,7 @@ among other things. For that, it needs a type.
struct configfs_item_operations *ct_item_ops;
struct configfs_group_operations *ct_group_ops;
struct configfs_attribute **ct_attrs;
struct configfs_bin_attribute **ct_bin_attrs;
};

The most basic function of a config_item_type is to define what
Expand Down Expand Up @@ -201,6 +214,32 @@ be called whenever userspace asks for a read(2) on the attribute. If an
attribute is writable and provides a ->store method, that method will be
be called whenever userspace asks for a write(2) on the attribute.

[struct configfs_bin_attribute]

struct configfs_attribute {
struct configfs_attribute cb_attr;
void *cb_private;
size_t cb_max_size;
};

The binary attribute is used when the one needs to use binary blob to
appear as the contents of a file in the item's configfs directory.
To do so add the binary attribute to the NULL-terminated array
config_item_type->ct_bin_attrs, and the item appears in configfs, the
attribute file will appear with the configfs_bin_attribute->cb_attr.ca_name
filename. configfs_bin_attribute->cb_attr.ca_mode specifies the file
permissions.
The cb_private member is provided for use by the driver, while the
cb_max_size member specifies the maximum amount of vmalloc buffer
to be used.

If binary attribute is readable and the config_item provides a
ct_item_ops->read_bin_attribute() method, that method will be called
whenever userspace asks for a read(2) on the attribute. The converse
will happen for write(2). The reads/writes are bufferred so only a
single read/write will occur; the attributes' need not concern itself
with it.

[struct config_group]

A config_item cannot live in a vacuum. The only way one can be created
Expand Down
64 changes: 53 additions & 11 deletions arch/arm/boot/dts/rk3288-miniarm.dts
Original file line number Diff line number Diff line change
Expand Up @@ -42,11 +42,22 @@
#include <dt-bindings/clock/rockchip,rk808.h>
#include "rk3288.dtsi"
#include "rk3288-rkisp1.dtsi"
#include "rk3288-linux.dtsi"
#include "rk3288cg-opp.dtsi"

/ {
model = "ASUS Tinker Board";
compatible = "rockchip,rk3288-miniarm", "rockchip,rk3288";

chosen {
bootargs = "earlyprintk=uart8250-32bit,0xff690000";
};

cpuinfo {
compatible = "rockchip,cpuinfo";
nvmem-cells = <&efuse_id>;
nvmem-cell-names = "id";
};

memory {
device_type = "memory";
reg = <0x0 0x0 0x0 0x80000000>;
Expand All @@ -67,7 +78,7 @@
wireless-wlan {
compatible = "wlan-platdata";
rockchip,grf = <&grf>;
wifi_chip_type = "ap6212";
wifi_chip_type = "rtl8723bs";
sdio_vref = <1800>;
WIFI,host_wake_irq = <&gpio4 30 GPIO_ACTIVE_HIGH>;
status = "okay";
Expand Down Expand Up @@ -129,16 +140,16 @@
linux,default-trigger="mmc0";
};

led1-led {
heartbeat-led {
gpios=<&gpio1 25 GPIO_ACTIVE_HIGH>;
linux,default-trigger="default-off";
linux,default-trigger="heartbeat";
};
};

sound {
compatible = "simple-audio-card";
simple-audio-card,format = "i2s";
simple-audio-card,name = "rockchip,miniarm-codec";
simple-audio-card,name = "HDMI";
simple-audio-card,mclk-fs = <512>;
simple-audio-card,cpu {
sound-dai = <&i2s>;
Expand Down Expand Up @@ -204,20 +215,34 @@
cpu0-supply = <&vdd_cpu>;
};

&emmc {
bus-width = <8>;
cap-mmc-highspeed;
disable-wp;
mmc-ddr-1_8v;
mmc-hs200-1_8v;
non-removable;
num-slots = <1>;
pinctrl-names = "default";
pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_pwr &emmc_bus8>;
status = "okay";
};

&gmac {
phy-supply = <&vcc33_lan>;
phy-mode = "rgmii";
clock_in_out = "input";
snps,force_thresh_dma_mode;
snps,reset-gpio = <&gpio4 7 0>;
snps,reset-active-low;
snps,reset-delays-us = <0 10000 1000000>;
snps,reset-delays-us = <0 10000 50000>;
assigned-clocks = <&cru SCLK_MAC>;
assigned-clock-parents = <&ext_gmac>;
pinctrl-names = "default";
pinctrl-0 = <&rgmii_pins>;
tx_delay = <0x30>;
rx_delay = <0x10>;
status = "ok";
status = "okay";
};

&dsi0 {
Expand All @@ -238,6 +263,11 @@
#address-cells = <1>;
#size-cells = <0>;
#sound-dai-cells = <0>;
rockchip,phy-table =
<74250000 0x8009 0x0004 0x0272>,
<165000000 0x802b 0x0004 0x0209>,
<371250000 0x802d 0x0001 0x0149>,
<0 0x0000 0x0000 0x0000>;
status = "okay";
/* Don't use vopl for HDMI */
ports {
Expand Down Expand Up @@ -545,6 +575,15 @@

&i2s {
#sound-dai-cells = <0>;
rockchip,bclk-fs = <128>;
status = "okay";
};

&iep {
status = "okay";
};

&iep_mmu {
status = "okay";
};

Expand All @@ -558,7 +597,7 @@
&sdio0 {
status = "okay";
clock-frequency = <50000000>;
clock-freq-min-max = <200000 50000000>;
max-frequency = <50000000>;
bus-width = <4>;
cap-sd-highspeed;
cap-sdio-irq;
Expand All @@ -579,7 +618,7 @@

&saradc {
vref-supply = <&vcc18_ldo1>;
status ="okay";
status = "okay";
};

&sdmmc {
Expand All @@ -604,7 +643,6 @@
&tsadc {
rockchip,hw-tshut-mode = <1>; /* tshut mode 0:CRU 1:GPIO */
rockchip,hw-tshut-polarity = <1>; /* tshut polarity 0:LOW 1:HIGH */
pinctrl-1 = <&otp_out>;
status = "okay";
};

Expand All @@ -615,6 +653,8 @@
};

&uart1 {
pinctrl-names = "default";
pinctrl-0 = <&uart1_xfer>, <&uart1_cts>, <&uart1_rts>;
status = "okay";
};

Expand All @@ -627,6 +667,8 @@
};

&uart4 {
pinctrl-names = "default";
pinctrl-0 = <&uart4_xfer>, <&uart4_cts>, <&uart4_rts>;
status = "okay";
};

Expand All @@ -644,7 +686,7 @@
};

&usb_otg {
status= "okay";
status = "okay";
};

&vopb {
Expand Down
Loading