Linux 5.6.7 rebase
This commit is contained in:
parent
8060d4018a
commit
d3b0fb72ea
256 changed files with 12217 additions and 8064 deletions
File diff suppressed because it is too large
Load diff
|
|
@ -1,559 +0,0 @@
|
|||
From MAILER-DAEMON Thu Mar 12 13:30:18 2020
|
||||
From: Chris Wilson <chris@chris-wilson.co.uk>
|
||||
To: stable@vger.kernel.org
|
||||
Cc: Chris Wilson <chris@chris-wilson.co.uk>, Tvrtko Ursulin <tvrtko.ursulin@intel.com>, Jani Nikula <jani.nikula@intel.com>
|
||||
Subject: [PATCH 1/5] drm/i915: Check activity on i915_vma after confirming pin_count==0
|
||||
Date: Tue, 10 Mar 2020 20:40:42 +0000
|
||||
Message-Id: <20200310204046.3995087-1-chris@chris-wilson.co.uk>
|
||||
Sender: stable-owner@vger.kernel.org
|
||||
List-ID: <stable.vger.kernel.org>
|
||||
X-Mailing-List: stable@vger.kernel.org
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
Content-Transfer-Encoding: 7bit
|
||||
|
||||
Only assert that the i915_vma is now idle if and only if no other pins
|
||||
are present. If another user has the i915_vma pinned, they may submit
|
||||
more work to the i915_vma skipping the vm->mutex used to serialise the
|
||||
unbind. We need to wait again, if we want to continue and unbind this
|
||||
vma.
|
||||
|
||||
However, if we own the i915_vma (we hold the vm->mutex for the unbind
|
||||
and the pin_count is 0), we can assert that the vma remains idle as we
|
||||
unbind.
|
||||
|
||||
Fixes: 2850748ef876 ("drm/i915: Pull i915_vma_pin under the vm->mutex")
|
||||
Closes: https://gitlab.freedesktop.org/drm/intel/issues/530
|
||||
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
||||
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
|
||||
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
|
||||
Link: https://patchwork.freedesktop.org/patch/msgid/20200123224459.38128-1-chris@chris-wilson.co.uk
|
||||
(cherry picked from commit 60e94557fff1f5514c7fc4da7ddc2c7a13ffff26)
|
||||
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
|
||||
(cherry picked from commit e4edd4fcbf4daf9d4319bef0bfaf350cb672239a)
|
||||
---
|
||||
drivers/gpu/drm/i915/i915_vma.c | 14 ++++++++++++--
|
||||
1 file changed, 12 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/gpu/drm/i915/i915_vma.c b/drivers/gpu/drm/i915/i915_vma.c
|
||||
index 01c822256b39..7c7e152cc5ff 100644
|
||||
--- a/drivers/gpu/drm/i915/i915_vma.c
|
||||
+++ b/drivers/gpu/drm/i915/i915_vma.c
|
||||
@@ -1149,16 +1149,26 @@ int __i915_vma_unbind(struct i915_vma *vma)
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
- GEM_BUG_ON(i915_vma_is_active(vma));
|
||||
if (i915_vma_is_pinned(vma)) {
|
||||
vma_print_allocator(vma, "is pinned");
|
||||
return -EBUSY;
|
||||
}
|
||||
|
||||
- GEM_BUG_ON(i915_vma_is_active(vma));
|
||||
+ /*
|
||||
+ * After confirming that no one else is pinning this vma, wait for
|
||||
+ * any laggards who may have crept in during the wait (through
|
||||
+ * a residual pin skipping the vm->mutex) to complete.
|
||||
+ */
|
||||
+ ret = i915_vma_sync(vma);
|
||||
+ if (ret)
|
||||
+ return ret;
|
||||
+
|
||||
if (!drm_mm_node_allocated(&vma->node))
|
||||
return 0;
|
||||
|
||||
+ GEM_BUG_ON(i915_vma_is_pinned(vma));
|
||||
+ GEM_BUG_ON(i915_vma_is_active(vma));
|
||||
+
|
||||
if (i915_vma_is_map_and_fenceable(vma)) {
|
||||
/*
|
||||
* Check that we have flushed all writes through the GGTT
|
||||
--
|
||||
2.25.1
|
||||
|
||||
|
||||
From MAILER-DAEMON Thu Mar 12 13:30:18 2020
|
||||
From: Chris Wilson <chris@chris-wilson.co.uk>
|
||||
To: stable@vger.kernel.org
|
||||
Cc: Chris Wilson <chris@chris-wilson.co.uk>, Matthew Auld <matthew.auld@intel.com>
|
||||
Subject: [PATCH 2/5] drm/i915/gem: Avoid parking the vma as we unbind
|
||||
Date: Tue, 10 Mar 2020 20:40:43 +0000
|
||||
Message-Id: <20200310204046.3995087-2-chris@chris-wilson.co.uk>
|
||||
In-Reply-To: <20200310204046.3995087-1-chris@chris-wilson.co.uk>
|
||||
References: <20200310204046.3995087-1-chris@chris-wilson.co.uk>
|
||||
Sender: stable-owner@vger.kernel.org
|
||||
List-ID: <stable.vger.kernel.org>
|
||||
X-Mailing-List: stable@vger.kernel.org
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
Content-Transfer-Encoding: 7bit
|
||||
|
||||
In order to avoid keeping a reference on the i915_vma (which is long
|
||||
overdue!) we have to coordinate all the possible lifetimes and only use
|
||||
the vma while we know it is alive. In this episode, we are reminded that
|
||||
while idle, the closed vma are destroyed. So if the GT idles while we are
|
||||
working with the vma, the vma itself becomes invalid.
|
||||
|
||||
First class i915_vma here we come, but in the meantime keep piling on
|
||||
the straw.
|
||||
|
||||
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
||||
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
|
||||
Link: https://patchwork.freedesktop.org/patch/msgid/20191203155032.3137263-1-chris@chris-wilson.co.uk
|
||||
(cherry picked from commit cb6c3d45f948f8f184687a23fea30017d01e892f)
|
||||
---
|
||||
drivers/gpu/drm/i915/i915_gem.c | 17 ++++++++++++++++-
|
||||
1 file changed, 16 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
|
||||
index 3f07948ea4da..f7c52b437f6a 100644
|
||||
--- a/drivers/gpu/drm/i915/i915_gem.c
|
||||
+++ b/drivers/gpu/drm/i915/i915_gem.c
|
||||
@@ -128,18 +128,33 @@ int i915_gem_object_unbind(struct drm_i915_gem_object *obj,
|
||||
struct i915_vma,
|
||||
obj_link))) {
|
||||
struct i915_address_space *vm = vma->vm;
|
||||
+ bool awake = false;
|
||||
|
||||
- ret = -EBUSY;
|
||||
+ ret = -EAGAIN;
|
||||
if (!i915_vm_tryopen(vm))
|
||||
break;
|
||||
|
||||
+ /* Prevent vma being freed by i915_vma_parked as we unbind */
|
||||
+ if (intel_gt_pm_get_if_awake(vm->gt)) {
|
||||
+ awake = true;
|
||||
+ } else {
|
||||
+ if (i915_vma_is_closed(vma)) {
|
||||
+ spin_unlock(&obj->vma.lock);
|
||||
+ goto err_vm;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
list_move_tail(&vma->obj_link, &still_in_list);
|
||||
spin_unlock(&obj->vma.lock);
|
||||
|
||||
+ ret = -EBUSY;
|
||||
if (flags & I915_GEM_OBJECT_UNBIND_ACTIVE ||
|
||||
!i915_vma_is_active(vma))
|
||||
ret = i915_vma_unbind(vma);
|
||||
|
||||
+ if (awake)
|
||||
+ intel_gt_pm_put(vm->gt);
|
||||
+err_vm:
|
||||
i915_vm_close(vm);
|
||||
spin_lock(&obj->vma.lock);
|
||||
}
|
||||
--
|
||||
2.25.1
|
||||
|
||||
|
||||
From MAILER-DAEMON Thu Mar 12 13:30:18 2020
|
||||
From: Chris Wilson <chris@chris-wilson.co.uk>
|
||||
To: stable@vger.kernel.org
|
||||
Cc: Chris Wilson <chris@chris-wilson.co.uk>, Imre Deak <imre.deak@intel.com>
|
||||
Subject: [PATCH 3/5] drm/i915: Add a simple is-bound check before unbinding
|
||||
Date: Tue, 10 Mar 2020 20:40:44 +0000
|
||||
Message-Id: <20200310204046.3995087-3-chris@chris-wilson.co.uk>
|
||||
In-Reply-To: <20200310204046.3995087-1-chris@chris-wilson.co.uk>
|
||||
References: <20200310204046.3995087-1-chris@chris-wilson.co.uk>
|
||||
Sender: stable-owner@vger.kernel.org
|
||||
List-ID: <stable.vger.kernel.org>
|
||||
X-Mailing-List: stable@vger.kernel.org
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
Content-Transfer-Encoding: 7bit
|
||||
|
||||
Only acquire the various atomic references required to unbind the vma if
|
||||
we do need to unbind the vma.
|
||||
|
||||
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
||||
Acked-by: Imre Deak <imre.deak@intel.com>
|
||||
Link: https://patchwork.freedesktop.org/patch/msgid/20191222210256.2066451-1-chris@chris-wilson.co.uk
|
||||
(cherry picked from commit f5af1659d809e264d619e5f483fd8f47bced3b6a)
|
||||
---
|
||||
drivers/gpu/drm/i915/i915_gem.c | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
|
||||
index f7c52b437f6a..998b67e3466e 100644
|
||||
--- a/drivers/gpu/drm/i915/i915_gem.c
|
||||
+++ b/drivers/gpu/drm/i915/i915_gem.c
|
||||
@@ -130,6 +130,10 @@ int i915_gem_object_unbind(struct drm_i915_gem_object *obj,
|
||||
struct i915_address_space *vm = vma->vm;
|
||||
bool awake = false;
|
||||
|
||||
+ list_move_tail(&vma->obj_link, &still_in_list);
|
||||
+ if (!i915_vma_is_bound(vma, I915_VMA_BIND_MASK))
|
||||
+ continue;
|
||||
+
|
||||
ret = -EAGAIN;
|
||||
if (!i915_vm_tryopen(vm))
|
||||
break;
|
||||
@@ -144,7 +148,6 @@ int i915_gem_object_unbind(struct drm_i915_gem_object *obj,
|
||||
}
|
||||
}
|
||||
|
||||
- list_move_tail(&vma->obj_link, &still_in_list);
|
||||
spin_unlock(&obj->vma.lock);
|
||||
|
||||
ret = -EBUSY;
|
||||
--
|
||||
2.25.1
|
||||
|
||||
|
||||
From MAILER-DAEMON Thu Mar 12 13:30:18 2020
|
||||
From: Chris Wilson <chris@chris-wilson.co.uk>
|
||||
To: stable@vger.kernel.org
|
||||
Cc: Chris Wilson <chris@chris-wilson.co.uk>, Imre Deak <imre.deak@intel.com>
|
||||
Subject: [PATCH 4/5] drm/i915: Introduce a vma.kref
|
||||
Date: Tue, 10 Mar 2020 20:40:45 +0000
|
||||
Message-Id: <20200310204046.3995087-4-chris@chris-wilson.co.uk>
|
||||
In-Reply-To: <20200310204046.3995087-1-chris@chris-wilson.co.uk>
|
||||
References: <20200310204046.3995087-1-chris@chris-wilson.co.uk>
|
||||
Sender: stable-owner@vger.kernel.org
|
||||
List-ID: <stable.vger.kernel.org>
|
||||
X-Mailing-List: stable@vger.kernel.org
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
Content-Transfer-Encoding: 7bit
|
||||
|
||||
Start introducing a kref on i915_vma in order to protect the vma unbind
|
||||
(i915_gem_object_unbind) from a parallel destruction (i915_vma_parked).
|
||||
Later, we will use the refcount to manage all access and turn i915_vma
|
||||
into a first class container.
|
||||
|
||||
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
||||
Cc: Imre Deak <imre.deak@intel.com>
|
||||
Acked-by: Imre Deak <imre.deak@intel.com>
|
||||
Link: https://patchwork.freedesktop.org/patch/msgid/20191222210256.2066451-2-chris@chris-wilson.co.uk
|
||||
(cherry picked from commit 76f9764cc3d538435262dea885bf69fac2415402)
|
||||
---
|
||||
drivers/gpu/drm/i915/gem/i915_gem_object.c | 2 +-
|
||||
.../gpu/drm/i915/gem/selftests/huge_pages.c | 3 +--
|
||||
.../drm/i915/gem/selftests/i915_gem_mman.c | 4 +--
|
||||
drivers/gpu/drm/i915/i915_gem.c | 26 +++++++------------
|
||||
drivers/gpu/drm/i915/i915_gem_gtt.c | 5 ++--
|
||||
drivers/gpu/drm/i915/i915_vma.c | 9 ++++---
|
||||
drivers/gpu/drm/i915/i915_vma.h | 25 +++++++++++++++---
|
||||
7 files changed, 44 insertions(+), 30 deletions(-)
|
||||
|
||||
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_object.c b/drivers/gpu/drm/i915/gem/i915_gem_object.c
|
||||
index a596548c07bf..b6937469ffd3 100644
|
||||
--- a/drivers/gpu/drm/i915/gem/i915_gem_object.c
|
||||
+++ b/drivers/gpu/drm/i915/gem/i915_gem_object.c
|
||||
@@ -174,7 +174,7 @@ static void __i915_gem_free_objects(struct drm_i915_private *i915,
|
||||
GEM_BUG_ON(vma->obj != obj);
|
||||
spin_unlock(&obj->vma.lock);
|
||||
|
||||
- i915_vma_destroy(vma);
|
||||
+ __i915_vma_put(vma);
|
||||
|
||||
spin_lock(&obj->vma.lock);
|
||||
}
|
||||
diff --git a/drivers/gpu/drm/i915/gem/selftests/huge_pages.c b/drivers/gpu/drm/i915/gem/selftests/huge_pages.c
|
||||
index 688c49a24f32..bd1e2c12de63 100644
|
||||
--- a/drivers/gpu/drm/i915/gem/selftests/huge_pages.c
|
||||
+++ b/drivers/gpu/drm/i915/gem/selftests/huge_pages.c
|
||||
@@ -1110,8 +1110,7 @@ static int __igt_write_huge(struct intel_context *ce,
|
||||
out_vma_unpin:
|
||||
i915_vma_unpin(vma);
|
||||
out_vma_close:
|
||||
- i915_vma_destroy(vma);
|
||||
-
|
||||
+ __i915_vma_put(vma);
|
||||
return err;
|
||||
}
|
||||
|
||||
diff --git a/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c b/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c
|
||||
index 29b2077b73d2..d226e55df8b2 100644
|
||||
--- a/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c
|
||||
+++ b/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c
|
||||
@@ -161,7 +161,7 @@ static int check_partial_mapping(struct drm_i915_gem_object *obj,
|
||||
kunmap(p);
|
||||
|
||||
out:
|
||||
- i915_vma_destroy(vma);
|
||||
+ __i915_vma_put(vma);
|
||||
return err;
|
||||
}
|
||||
|
||||
@@ -255,7 +255,7 @@ static int check_partial_mappings(struct drm_i915_gem_object *obj,
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
- i915_vma_destroy(vma);
|
||||
+ __i915_vma_put(vma);
|
||||
|
||||
if (igt_timeout(end_time,
|
||||
"%s: timed out after tiling=%d stride=%d\n",
|
||||
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
|
||||
index 998b67e3466e..67a8e7408e67 100644
|
||||
--- a/drivers/gpu/drm/i915/i915_gem.c
|
||||
+++ b/drivers/gpu/drm/i915/i915_gem.c
|
||||
@@ -128,7 +128,6 @@ int i915_gem_object_unbind(struct drm_i915_gem_object *obj,
|
||||
struct i915_vma,
|
||||
obj_link))) {
|
||||
struct i915_address_space *vm = vma->vm;
|
||||
- bool awake = false;
|
||||
|
||||
list_move_tail(&vma->obj_link, &still_in_list);
|
||||
if (!i915_vma_is_bound(vma, I915_VMA_BIND_MASK))
|
||||
@@ -139,25 +138,18 @@ int i915_gem_object_unbind(struct drm_i915_gem_object *obj,
|
||||
break;
|
||||
|
||||
/* Prevent vma being freed by i915_vma_parked as we unbind */
|
||||
- if (intel_gt_pm_get_if_awake(vm->gt)) {
|
||||
- awake = true;
|
||||
- } else {
|
||||
- if (i915_vma_is_closed(vma)) {
|
||||
- spin_unlock(&obj->vma.lock);
|
||||
- goto err_vm;
|
||||
- }
|
||||
- }
|
||||
-
|
||||
+ vma = __i915_vma_get(vma);
|
||||
spin_unlock(&obj->vma.lock);
|
||||
|
||||
- ret = -EBUSY;
|
||||
- if (flags & I915_GEM_OBJECT_UNBIND_ACTIVE ||
|
||||
- !i915_vma_is_active(vma))
|
||||
- ret = i915_vma_unbind(vma);
|
||||
+ if (vma) {
|
||||
+ ret = -EBUSY;
|
||||
+ if (flags & I915_GEM_OBJECT_UNBIND_ACTIVE ||
|
||||
+ !i915_vma_is_active(vma))
|
||||
+ ret = i915_vma_unbind(vma);
|
||||
+
|
||||
+ __i915_vma_put(vma);
|
||||
+ }
|
||||
|
||||
- if (awake)
|
||||
- intel_gt_pm_put(vm->gt);
|
||||
-err_vm:
|
||||
i915_vm_close(vm);
|
||||
spin_lock(&obj->vma.lock);
|
||||
}
|
||||
diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c
|
||||
index 44727806dfd7..dd2c20f7d4d2 100644
|
||||
--- a/drivers/gpu/drm/i915/i915_gem_gtt.c
|
||||
+++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
|
||||
@@ -522,7 +522,7 @@ void __i915_vm_close(struct i915_address_space *vm)
|
||||
|
||||
atomic_and(~I915_VMA_PIN_MASK, &vma->flags);
|
||||
WARN_ON(__i915_vma_unbind(vma));
|
||||
- i915_vma_destroy(vma);
|
||||
+ __i915_vma_put(vma);
|
||||
|
||||
i915_gem_object_put(obj);
|
||||
}
|
||||
@@ -1790,7 +1790,7 @@ static void gen6_ppgtt_cleanup(struct i915_address_space *vm)
|
||||
{
|
||||
struct gen6_ppgtt *ppgtt = to_gen6_ppgtt(i915_vm_to_ppgtt(vm));
|
||||
|
||||
- i915_vma_destroy(ppgtt->vma);
|
||||
+ __i915_vma_put(ppgtt->vma);
|
||||
|
||||
gen6_ppgtt_free_pd(ppgtt);
|
||||
free_scratch(vm);
|
||||
@@ -1878,6 +1878,7 @@ static struct i915_vma *pd_vma_create(struct gen6_ppgtt *ppgtt, int size)
|
||||
|
||||
i915_active_init(&vma->active, NULL, NULL);
|
||||
|
||||
+ kref_init(&vma->ref);
|
||||
mutex_init(&vma->pages_mutex);
|
||||
vma->vm = i915_vm_get(&ggtt->vm);
|
||||
vma->ops = &pd_vma_ops;
|
||||
diff --git a/drivers/gpu/drm/i915/i915_vma.c b/drivers/gpu/drm/i915/i915_vma.c
|
||||
index 7c7e152cc5ff..5309872442bc 100644
|
||||
--- a/drivers/gpu/drm/i915/i915_vma.c
|
||||
+++ b/drivers/gpu/drm/i915/i915_vma.c
|
||||
@@ -112,6 +112,7 @@ vma_create(struct drm_i915_gem_object *obj,
|
||||
if (vma == NULL)
|
||||
return ERR_PTR(-ENOMEM);
|
||||
|
||||
+ kref_init(&vma->ref);
|
||||
mutex_init(&vma->pages_mutex);
|
||||
vma->vm = i915_vm_get(vm);
|
||||
vma->ops = &vm->vma_ops;
|
||||
@@ -978,8 +979,10 @@ void i915_vma_reopen(struct i915_vma *vma)
|
||||
__i915_vma_remove_closed(vma);
|
||||
}
|
||||
|
||||
-void i915_vma_destroy(struct i915_vma *vma)
|
||||
+void i915_vma_release(struct kref *ref)
|
||||
{
|
||||
+ struct i915_vma *vma = container_of(ref, typeof(*vma), ref);
|
||||
+
|
||||
if (drm_mm_node_allocated(&vma->node)) {
|
||||
mutex_lock(&vma->vm->mutex);
|
||||
atomic_and(~I915_VMA_PIN_MASK, &vma->flags);
|
||||
@@ -1027,7 +1030,7 @@ void i915_vma_parked(struct intel_gt *gt)
|
||||
spin_unlock_irq(>->closed_lock);
|
||||
|
||||
if (obj) {
|
||||
- i915_vma_destroy(vma);
|
||||
+ __i915_vma_put(vma);
|
||||
i915_gem_object_put(obj);
|
||||
}
|
||||
|
||||
@@ -1202,7 +1205,7 @@ int __i915_vma_unbind(struct i915_vma *vma)
|
||||
i915_vma_detach(vma);
|
||||
vma_unbind_pages(vma);
|
||||
|
||||
- drm_mm_remove_node(&vma->node); /* pairs with i915_vma_destroy() */
|
||||
+ drm_mm_remove_node(&vma->node); /* pairs with i915_vma_release() */
|
||||
return 0;
|
||||
}
|
||||
|
||||
diff --git a/drivers/gpu/drm/i915/i915_vma.h b/drivers/gpu/drm/i915/i915_vma.h
|
||||
index 465932813bc5..ce1db908ad69 100644
|
||||
--- a/drivers/gpu/drm/i915/i915_vma.h
|
||||
+++ b/drivers/gpu/drm/i915/i915_vma.h
|
||||
@@ -51,14 +51,19 @@ enum i915_cache_level;
|
||||
*/
|
||||
struct i915_vma {
|
||||
struct drm_mm_node node;
|
||||
- struct drm_i915_gem_object *obj;
|
||||
+
|
||||
struct i915_address_space *vm;
|
||||
const struct i915_vma_ops *ops;
|
||||
- struct i915_fence_reg *fence;
|
||||
+
|
||||
+ struct drm_i915_gem_object *obj;
|
||||
struct dma_resv *resv; /** Alias of obj->resv */
|
||||
+
|
||||
struct sg_table *pages;
|
||||
void __iomem *iomap;
|
||||
void *private; /* owned by creator */
|
||||
+
|
||||
+ struct i915_fence_reg *fence;
|
||||
+
|
||||
u64 size;
|
||||
u64 display_alignment;
|
||||
struct i915_page_sizes page_sizes;
|
||||
@@ -71,6 +76,7 @@ struct i915_vma {
|
||||
* handles (but same file) for execbuf, i.e. the number of aliases
|
||||
* that exist in the ctx->handle_vmas LUT for this vma.
|
||||
*/
|
||||
+ struct kref ref;
|
||||
atomic_t open_count;
|
||||
atomic_t flags;
|
||||
/**
|
||||
@@ -333,7 +339,20 @@ int __must_check i915_vma_unbind(struct i915_vma *vma);
|
||||
void i915_vma_unlink_ctx(struct i915_vma *vma);
|
||||
void i915_vma_close(struct i915_vma *vma);
|
||||
void i915_vma_reopen(struct i915_vma *vma);
|
||||
-void i915_vma_destroy(struct i915_vma *vma);
|
||||
+
|
||||
+static inline struct i915_vma *__i915_vma_get(struct i915_vma *vma)
|
||||
+{
|
||||
+ if (kref_get_unless_zero(&vma->ref))
|
||||
+ return vma;
|
||||
+
|
||||
+ return NULL;
|
||||
+}
|
||||
+
|
||||
+void i915_vma_release(struct kref *ref);
|
||||
+static inline void __i915_vma_put(struct i915_vma *vma)
|
||||
+{
|
||||
+ kref_put(&vma->ref, i915_vma_release);
|
||||
+}
|
||||
|
||||
#define assert_vma_held(vma) dma_resv_assert_held((vma)->resv)
|
||||
|
||||
--
|
||||
2.25.1
|
||||
|
||||
|
||||
From MAILER-DAEMON Thu Mar 12 13:30:18 2020
|
||||
From: Chris Wilson <chris@chris-wilson.co.uk>
|
||||
To: stable@vger.kernel.org
|
||||
Cc: Chris Wilson <chris@chris-wilson.co.uk>, Kenneth Graunke <kenneth@whitecape.org>, Tvrtko Ursulin <tvrtko.ursulin@intel.com>, Matthew Auld <matthew.auld@intel.com>
|
||||
Subject: [PATCH 5/5] drm/i915: Serialise i915_active_acquire() with __active_retire()
|
||||
Date: Tue, 10 Mar 2020 20:40:46 +0000
|
||||
Message-Id: <20200310204046.3995087-5-chris@chris-wilson.co.uk>
|
||||
In-Reply-To: <20200310204046.3995087-1-chris@chris-wilson.co.uk>
|
||||
References: <20200310204046.3995087-1-chris@chris-wilson.co.uk>
|
||||
Sender: stable-owner@vger.kernel.org
|
||||
List-ID: <stable.vger.kernel.org>
|
||||
X-Mailing-List: stable@vger.kernel.org
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
Content-Transfer-Encoding: 7bit
|
||||
|
||||
As __active_retire() does it's final atomic_dec() under the
|
||||
ref->tree_lock spinlock, in order to prevent ourselves from reusing the
|
||||
ref->cache and ref->tree as they are being destroyed, we need to
|
||||
serialise with the retirement during i915_active_acquire().
|
||||
|
||||
[ +0.000005] kernel BUG at drivers/gpu/drm/i915/i915_active.c:157!
|
||||
[ +0.000011] invalid opcode: 0000 [#1] SMP
|
||||
[ +0.000004] CPU: 7 PID: 188 Comm: kworker/u16:4 Not tainted 5.4.0-rc8-03070-gac5e57322614 #89
|
||||
[ +0.000002] Hardware name: Razer Razer Blade Stealth 13 Late 2019/LY320, BIOS 1.02 09/10/2019
|
||||
[ +0.000082] Workqueue: events_unbound active_work [i915]
|
||||
[ +0.000059] RIP: 0010:__active_retire+0x115/0x120 [i915]
|
||||
[ +0.000003] Code: 75 28 48 8b 3d 8c 6e 1a 00 48 89 ee e8 e4 5f a5 c0 48 8b 44 24 10 65 48 33 04 25 28 00 00 00 75 0f 48 83 c4 18 5b 5d 41 5c c3 <0f> 0b 0f 0b 0f 0b e8 a0 90 87 c0 0f 1f 44 00 00 48 8b 3d 54 6e 1a
|
||||
[ +0.000002] RSP: 0018:ffffb833003f7e48 EFLAGS: 00010286
|
||||
[ +0.000003] RAX: ffff8d6e8d726d00 RBX: ffff8d6f9db4e840 RCX: 0000000000000000
|
||||
[ +0.000001] RDX: ffffffff82605930 RSI: ffff8d6f9adc4908 RDI: ffff8d6e96cefe28
|
||||
[ +0.000002] RBP: ffff8d6e96cefe00 R08: 0000000000000000 R09: ffff8d6f9ffe9a50
|
||||
[ +0.000002] R10: 0000000000000048 R11: 0000000000000018 R12: ffff8d6f9adc4930
|
||||
[ +0.000001] R13: ffff8d6f9e04fb00 R14: 0000000000000000 R15: ffff8d6f9adc4988
|
||||
[ +0.000002] FS: 0000000000000000(0000) GS:ffff8d6f9ffc0000(0000) knlGS:0000000000000000
|
||||
[ +0.000002] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
|
||||
[ +0.000002] CR2: 000055eb5a34cf10 CR3: 000000018d609002 CR4: 0000000000760ee0
|
||||
[ +0.000002] PKRU: 55555554
|
||||
[ +0.000001] Call Trace:
|
||||
[ +0.000010] process_one_work+0x1aa/0x350
|
||||
[ +0.000004] worker_thread+0x4d/0x3a0
|
||||
[ +0.000004] kthread+0xfb/0x130
|
||||
[ +0.000004] ? process_one_work+0x350/0x350
|
||||
[ +0.000003] ? kthread_park+0x90/0x90
|
||||
[ +0.000005] ret_from_fork+0x1f/0x40
|
||||
|
||||
Reported-by: Kenneth Graunke <kenneth@whitecape.org>
|
||||
Fixes: c9ad602feabe ("drm/i915: Split i915_active.mutex into an irq-safe spinlock for the rbtree")
|
||||
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
||||
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
|
||||
Cc: Kenneth Graunke <kenneth@whitecape.org>
|
||||
Cc: Matthew Auld <matthew.auld@intel.com>
|
||||
Tested-by: Kenneth Graunke <kenneth@whitecape.org>
|
||||
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
|
||||
Link: https://patchwork.freedesktop.org/patch/msgid/20191205183332.801237-1-chris@chris-wilson.co.uk
|
||||
(cherry picked from commit bbca083de291a03ffe1a1eb0832a0d74f8b64898)
|
||||
---
|
||||
drivers/gpu/drm/i915/i915_active.c | 5 +++--
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/gpu/drm/i915/i915_active.c b/drivers/gpu/drm/i915/i915_active.c
|
||||
index a19e7d89bc8a..378b52d1ab74 100644
|
||||
--- a/drivers/gpu/drm/i915/i915_active.c
|
||||
+++ b/drivers/gpu/drm/i915/i915_active.c
|
||||
@@ -91,10 +91,9 @@ static void debug_active_init(struct i915_active *ref)
|
||||
|
||||
static void debug_active_activate(struct i915_active *ref)
|
||||
{
|
||||
- spin_lock_irq(&ref->tree_lock);
|
||||
+ lockdep_assert_held(&ref->tree_lock);
|
||||
if (!atomic_read(&ref->count)) /* before the first inc */
|
||||
debug_object_activate(ref, &active_debug_desc);
|
||||
- spin_unlock_irq(&ref->tree_lock);
|
||||
}
|
||||
|
||||
static void debug_active_deactivate(struct i915_active *ref)
|
||||
@@ -407,8 +406,10 @@ int i915_active_acquire(struct i915_active *ref)
|
||||
if (!atomic_read(&ref->count) && ref->active)
|
||||
err = ref->active(ref);
|
||||
if (!err) {
|
||||
+ spin_lock_irq(&ref->tree_lock); /* vs __active_retire() */
|
||||
debug_active_activate(ref);
|
||||
atomic_inc(&ref->count);
|
||||
+ spin_unlock_irq(&ref->tree_lock);
|
||||
}
|
||||
|
||||
mutex_unlock(&ref->mutex);
|
||||
--
|
||||
2.25.1
|
||||
|
||||
|
||||
|
|
@ -1,905 +0,0 @@
|
|||
From patchwork Tue Jan 7 18:15:54 2020
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Stefan Wahren <wahrenst@gmx.net>
|
||||
X-Patchwork-Id: 11321573
|
||||
Return-Path:
|
||||
<SRS0=75uJ=24=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
|
||||
Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
|
||||
[172.30.200.123])
|
||||
by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 6D8381398
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Tue, 7 Jan 2020 18:16:25 +0000 (UTC)
|
||||
Received: from bombadil.infradead.org (bombadil.infradead.org
|
||||
[198.137.202.133])
|
||||
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
|
||||
(No client certificate requested)
|
||||
by mail.kernel.org (Postfix) with ESMTPS id 0478120848
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Tue, 7 Jan 2020 18:16:24 +0000 (UTC)
|
||||
Authentication-Results: mail.kernel.org;
|
||||
dkim=pass (2048-bit key) header.d=lists.infradead.org
|
||||
header.i=@lists.infradead.org header.b="SQ2gKFhN";
|
||||
dkim=fail reason="signature verification failed" (1024-bit key)
|
||||
header.d=gmx.net header.i=@gmx.net header.b="BJDhWiM+"
|
||||
DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0478120848
|
||||
Authentication-Results: mail.kernel.org;
|
||||
dmarc=none (p=none dis=none) header.from=gmx.net
|
||||
Authentication-Results: mail.kernel.org;
|
||||
spf=none
|
||||
smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
|
||||
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
|
||||
d=lists.infradead.org; s=bombadil.20170209; h=Sender:
|
||||
Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe:
|
||||
List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:References:
|
||||
In-Reply-To:Message-Id:Date:Subject:To:From:Reply-To:Content-ID:
|
||||
Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc
|
||||
:Resent-Message-ID:List-Owner;
|
||||
bh=YkqzhAYhCTWbi2xiP7xxu+Dn8Q8DmCRb4IJ4Bu0zhz8=; b=SQ2gKFhNqib/g5IS6Ax5bJ6+91
|
||||
NnToAV0XRtMvD+Mv//d/rvzEQuagdTXc7G1qFGgWXJVH3dbQAnlgt/iNOwtDxAT/4PcAn4h5HFAag
|
||||
66kkhMcZAbA7JExXlnqfMil9fKX3gFJPxRophEP+3IPQkJpQyaYcSgCT7q1qWI0ea7WoySKITupFB
|
||||
/zqJdAB1FovALLqUMblrq+3yz5V5mtmXHbZ9XlaH2vZivUkozyl7y2lTwVupfEMEOX3tMsZKKw7kO
|
||||
3zP1295r9jZD5AxI56MIxKUhe09ZgdaStZfRckzxKLVvphRbmbdj/a5lDLwebJ01BvFOZMnhxpSiD
|
||||
oPP03MfQ==;
|
||||
Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
|
||||
by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
|
||||
id 1iotOw-00044e-SA; Tue, 07 Jan 2020 18:16:22 +0000
|
||||
Received: from mout.gmx.net ([212.227.15.19])
|
||||
by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
|
||||
id 1iotOo-0003u6-Ni
|
||||
for linux-arm-kernel@lists.infradead.org; Tue, 07 Jan 2020 18:16:16 +0000
|
||||
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net;
|
||||
s=badeba3b8450; t=1578420965;
|
||||
bh=u7twVNjh2D9zy5OC10Di3QMaWd8qSsrGW9KSWjAYn3g=;
|
||||
h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References;
|
||||
b=BJDhWiM+5P9ZadhIRk4bTNFKVwW+JTvjQQxBte6Z9/lEi/hUMLjX6X6wI0UsdG/9q
|
||||
F4Cwa0tCAECdod5u4KiSRbsYOd1o4Z/dYru23Wk+v5LX/L1GSxqimU6Rt6Y750q8m7
|
||||
H8qhNz2GpltKbfQYfiCht8+4Noq2Ir1n+/dUhyGU=
|
||||
X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c
|
||||
Received: from localhost.localdomain ([37.4.249.154]) by mail.gmx.com
|
||||
(mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id
|
||||
1M6llE-1im9Zy3f6U-008MHP; Tue, 07 Jan 2020 19:16:05 +0100
|
||||
From: Stefan Wahren <wahrenst@gmx.net>
|
||||
To: Zhang Rui <rui.zhang@intel.com>,
|
||||
Daniel Lezcano <daniel.lezcano@linaro.org>,
|
||||
Amit Kucheria <amit.kucheria@verdurent.com>,
|
||||
Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>,
|
||||
Nicolas Saenz Julienne <nsaenzjulienne@suse.de>,
|
||||
Florian Fainelli <f.fainelli@gmail.com>,
|
||||
Catalin Marinas <catalin.marinas@arm.com>, Will Deacon <will@kernel.org>
|
||||
Subject: [PATCH V3 1/4] dt-bindings: Add Broadcom AVS RO thermal
|
||||
Date: Tue, 7 Jan 2020 19:15:54 +0100
|
||||
Message-Id: <1578420957-32229-2-git-send-email-wahrenst@gmx.net>
|
||||
X-Mailer: git-send-email 2.7.4
|
||||
In-Reply-To: <1578420957-32229-1-git-send-email-wahrenst@gmx.net>
|
||||
References: <1578420957-32229-1-git-send-email-wahrenst@gmx.net>
|
||||
X-Provags-ID: V03:K1:JNoVLD/m7l4v/En9GYWWvMF90Sn/VtIIReEvqeT1ahKtoJ1LkyQ
|
||||
iAtYBYTb+NwFUEidrSbyieU8GW35aLLzyYQnuJTNqPmnSbG2PnoXvhwHuDsxvWSwUy6mkwH
|
||||
8ZEA1Til7h0N3jLmIx+k620EBhcirK4sOEO1dRoCyQ0YuU8w1s6WymV1wzmIWI654AscZ9o
|
||||
J8IrwX+k75qsiQ2SovoOg==
|
||||
X-Spam-Flag: NO
|
||||
X-UI-Out-Filterresults: notjunk:1;V03:K0:1m7ABTNKeYs=:dwivK5EisaHNhkVyhbAPYp
|
||||
kvAhhRRErs0LcQc8ZbpEAx/yq5NZ5xne4VViuO86ljYW/FoCw48Pz8APxSxRAFasQ5XgUJLP5
|
||||
TwCvRfPRrdfLO3tE5KvLJTW7FJPetXyuRGB9vpPgp8f7UmdUL542Li3JvUZ33oouVIjMEPek6
|
||||
eJ7EymgiCWO2bamuE79cyu30HsDd1LGBBQrzvFwQleMU8BbbLmaiQtIfSxdPKqyjHm+bvLtDP
|
||||
uK/ei0MTgAsXPpgIdHoGsb71RQ0HY5PtjoLmMsNb3Nvcu9FNWgu+ybES1IfFGXvrkd1C8fgCB
|
||||
Q5VlqL1b7kUD0EHnh7rjg8rGKBiaqdQCE0rsj3GJDHLnhxpSblechYL1CIMYh0+YmL8VtDREe
|
||||
qzbJ3wdWDTKF1F8njEuuvjb05/C/4X6IzbpEWS5uxJ9wVdqWX2b6MpQQ7x7H4B88IHb0/IU+D
|
||||
vdYY8z+R3R5MkQzZJngkBLWIif2N/omDDhmHv+9TJcHmvbZJaDpHIfZ0rdtGe50zbA3DaQjjs
|
||||
bDwDylhHw0I+Hc8nBJUH7PN84Fiiime6VMByUd9PFiy9cpm2bP6AwEi1Mwefb1URWcmgwnYEe
|
||||
JmxWZoJ8JfGcW8ITKWyEuka8Ux5E2Ci1R82cWYUo5brxrZvFcYg2pUnUwpOysMZzLKCUWy2FL
|
||||
QwuEZfTk676yMpqbF1y0Xsuf+c9Q9pOvwzC3N+VKiDm3UOdnS5kmkaDAtRFJVCderrdeMv11a
|
||||
S2iZm2wNIvmHXsogK8savP05nVqWUbyf8h2vR0jlTRBz2kAyQmtZrJyPLBjww/6Vrx7SeElxk
|
||||
alcdmtEi3tdo6eMkRsFebFaCUPqItnfbJbHbXJ4udFSh4fsjduS3UppT4JbCCzqm+XNGVrUqR
|
||||
BT9vCmRbySk5wIT3D0Eg76wFeIZv4OSRzQguvVF9jkBp1Rpg++L8ryT16Wlox17PM5Er2T8Hn
|
||||
DvtQYG2N0H4cY1aJW/zPeQBWHH1uSqJfAew37CAL+skNaSTa0vFcZ767XBCfg6RLfXyKh85qm
|
||||
Gt8gRY7Js2eGw9uR74OlrgJ4TIun187UAelKzqsGADORGyoHo1fMJuk0Mdiowqu+iX5qn3+cE
|
||||
hCcZPwE2VuH0H9J8fUNRrotICpKdurbLvl40ubrd7Ke2b80dNLZfLbLnOKHSQyYy7TFJ8FgZ0
|
||||
eSlGh0KXP7kZU1n2gIGKqpYdthjTXDHyHw9QqRUStYpd/WtcY5d4gxnomwYCghPPhaIzjeHkD
|
||||
ifQLPwagP2YYxjG2ZH8f8ZQSh3kEP4r9bbTGpIw==
|
||||
X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
|
||||
X-CRM114-CacheID: sfid-20200107_101615_067475_AF11981B
|
||||
X-CRM114-Status: GOOD ( 11.10 )
|
||||
X-Spam-Score: -0.2 (/)
|
||||
X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary:
|
||||
Content analysis details: (-0.2 points)
|
||||
pts rule name description
|
||||
---- ----------------------
|
||||
--------------------------------------------------
|
||||
-0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/,
|
||||
no trust [212.227.15.19 listed in list.dnswl.org]
|
||||
0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail
|
||||
provider (wahrenst[at]gmx.net)
|
||||
-0.0 SPF_PASS SPF: sender matches SPF record
|
||||
0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
|
||||
-0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from
|
||||
envelope-from domain
|
||||
0.1 DKIM_SIGNED Message has a DKIM or DK signature,
|
||||
not necessarily
|
||||
valid
|
||||
-0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from
|
||||
author's domain
|
||||
-0.1 DKIM_VALID Message has at least one valid DKIM or DK signature
|
||||
X-BeenThere: linux-arm-kernel@lists.infradead.org
|
||||
X-Mailman-Version: 2.1.29
|
||||
Precedence: list
|
||||
List-Id: <linux-arm-kernel.lists.infradead.org>
|
||||
List-Unsubscribe:
|
||||
<http://lists.infradead.org/mailman/options/linux-arm-kernel>,
|
||||
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
|
||||
List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
|
||||
List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
|
||||
List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
|
||||
List-Subscribe:
|
||||
<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
|
||||
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
|
||||
Cc: devicetree@vger.kernel.org, bcm-kernel-feedback-list@broadcom.com,
|
||||
Stefan Wahren <wahrenst@gmx.net>, linux-arm-kernel@lists.infradead.org,
|
||||
linux-pm@vger.kernel.org
|
||||
MIME-Version: 1.0
|
||||
Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
|
||||
Errors-To:
|
||||
linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
|
||||
|
||||
Since the BCM2711 doesn't have a AVS TMON block, the thermal information
|
||||
must be retrieved from the AVS ring oscillator block. This block is part
|
||||
of the AVS monitor which contains a bunch of raw sensors.
|
||||
|
||||
Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
|
||||
Reviewed-by: Rob Herring <robh@kernel.org>
|
||||
Reviewed-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
---
|
||||
.../bindings/thermal/brcm,avs-ro-thermal.yaml | 45 ++++++++++++++++++++++
|
||||
1 file changed, 45 insertions(+)
|
||||
create mode 100644 Documentation/devicetree/bindings/thermal/brcm,avs-ro-thermal.yaml
|
||||
|
||||
--
|
||||
2.7.4
|
||||
|
||||
diff --git a/Documentation/devicetree/bindings/thermal/brcm,avs-ro-thermal.yaml b/Documentation/devicetree/bindings/thermal/brcm,avs-ro-thermal.yaml
|
||||
new file mode 100644
|
||||
index 0000000..98e7b57
|
||||
--- /dev/null
|
||||
+++ b/Documentation/devicetree/bindings/thermal/brcm,avs-ro-thermal.yaml
|
||||
@@ -0,0 +1,45 @@
|
||||
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
+%YAML 1.2
|
||||
+---
|
||||
+$id: http://devicetree.org/schemas/thermal/brcm,avs-ro-thermal.yaml#
|
||||
+$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
+
|
||||
+title: Broadcom AVS ring oscillator thermal
|
||||
+
|
||||
+maintainers:
|
||||
+ - Stefan Wahren <wahrenst@gmx.net>
|
||||
+
|
||||
+description: |+
|
||||
+ The thermal node should be the child of a syscon node with the
|
||||
+ required property:
|
||||
+
|
||||
+ - compatible: Should be one of the following:
|
||||
+ "brcm,bcm2711-avs-monitor", "syscon", "simple-mfd"
|
||||
+
|
||||
+ Refer to the the bindings described in
|
||||
+ Documentation/devicetree/bindings/mfd/syscon.txt
|
||||
+
|
||||
+properties:
|
||||
+ compatible:
|
||||
+ const: brcm,bcm2711-thermal
|
||||
+
|
||||
+ reg:
|
||||
+ maxItems: 1
|
||||
+
|
||||
+required:
|
||||
+ - compatible
|
||||
+ - reg
|
||||
+
|
||||
+examples:
|
||||
+ - |
|
||||
+ avs-monitor@7d5d2000 {
|
||||
+ compatible = "brcm,bcm2711-avs-monitor",
|
||||
+ "syscon", "simple-mfd";
|
||||
+ reg = <0x7d5d2000 0xf00>;
|
||||
+
|
||||
+ thermal: thermal {
|
||||
+ compatible = "brcm,bcm2711-thermal";
|
||||
+ #thermal-sensor-cells = <0>;
|
||||
+ };
|
||||
+ };
|
||||
+...
|
||||
|
||||
From patchwork Tue Jan 7 18:15:55 2020
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Stefan Wahren <wahrenst@gmx.net>
|
||||
X-Patchwork-Id: 11321579
|
||||
Return-Path:
|
||||
<SRS0=75uJ=24=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
|
||||
Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
|
||||
[172.30.200.123])
|
||||
by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 4EEC4138D
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Tue, 7 Jan 2020 18:17:14 +0000 (UTC)
|
||||
Received: from bombadil.infradead.org (bombadil.infradead.org
|
||||
[198.137.202.133])
|
||||
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
|
||||
(No client certificate requested)
|
||||
by mail.kernel.org (Postfix) with ESMTPS id 1A18F20848
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Tue, 7 Jan 2020 18:17:14 +0000 (UTC)
|
||||
Authentication-Results: mail.kernel.org;
|
||||
dkim=pass (2048-bit key) header.d=lists.infradead.org
|
||||
header.i=@lists.infradead.org header.b="WN1BmRCI";
|
||||
dkim=fail reason="signature verification failed" (1024-bit key)
|
||||
header.d=gmx.net header.i=@gmx.net header.b="JbSBDGbs"
|
||||
DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1A18F20848
|
||||
Authentication-Results: mail.kernel.org;
|
||||
dmarc=none (p=none dis=none) header.from=gmx.net
|
||||
Authentication-Results: mail.kernel.org;
|
||||
spf=none
|
||||
smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
|
||||
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
|
||||
d=lists.infradead.org; s=bombadil.20170209; h=Sender:
|
||||
Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe:
|
||||
List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:References:
|
||||
In-Reply-To:Message-Id:Date:Subject:To:From:Reply-To:Content-ID:
|
||||
Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc
|
||||
:Resent-Message-ID:List-Owner;
|
||||
bh=rd33uxZir356e7wb2uZqLp6zepYzCUaWcTH20TBa6Qk=; b=WN1BmRCI/FB6C4+ssKo3wCeIYT
|
||||
5K0oT/RSBHeB2bGbPVTr2hxGUgjDDUXvnyAUw5RMItV3h54Q8JS41AP+v6VpB99bd0X+8HrC3rHa9
|
||||
ZD6AcP0l8Qovx8Tk427GW5beomc7Z0mUK9NY2xfcEc81gfGAOa0+cOMBAoj7OSqAe3qXB4e/X0uWO
|
||||
Z8MrJvtd7wZzzvsXaEKac7C+gzrIZbm108W/rSS2205m8+TdzBCWB1PK23JgnqLZDzWt2Z0bfBI+W
|
||||
Yy4G5buoin/9QXdofS3uI/23A833iKxHljZL12/xWtwCy70/sqWVvTv13U3aKNh5SzqQ2zBi4nT+1
|
||||
ed+Q4ktg==;
|
||||
Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
|
||||
by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
|
||||
id 1iotPk-0004my-Pu; Tue, 07 Jan 2020 18:17:12 +0000
|
||||
Received: from mout.gmx.net ([212.227.15.18])
|
||||
by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
|
||||
id 1iotOp-0003ud-1M
|
||||
for linux-arm-kernel@lists.infradead.org; Tue, 07 Jan 2020 18:16:18 +0000
|
||||
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net;
|
||||
s=badeba3b8450; t=1578420965;
|
||||
bh=4mbXLn8R9HTqHSqjDYTVnf33y1TLbPgq1QZsQUXuORI=;
|
||||
h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References;
|
||||
b=JbSBDGbsT0C/YiJLKHHclDX+IekngU601r/NZUXbm7pEwIYsEG9Fpom2kM2knFKu6
|
||||
P8bgl9yGKGMF3bKRLNYwPzCNgXdBIDyzI8MsZOrBpZG4jgG62ofrIuBWMuCDJ2if7S
|
||||
9nt5L4RoIxNX7cPNA8tE7jX2d15dzT534YUlWCzQ=
|
||||
X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c
|
||||
Received: from localhost.localdomain ([37.4.249.154]) by mail.gmx.com
|
||||
(mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id
|
||||
1M7sDg-1il3eJ1VuE-0053xL; Tue, 07 Jan 2020 19:16:05 +0100
|
||||
From: Stefan Wahren <wahrenst@gmx.net>
|
||||
To: Zhang Rui <rui.zhang@intel.com>,
|
||||
Daniel Lezcano <daniel.lezcano@linaro.org>,
|
||||
Amit Kucheria <amit.kucheria@verdurent.com>,
|
||||
Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>,
|
||||
Nicolas Saenz Julienne <nsaenzjulienne@suse.de>,
|
||||
Florian Fainelli <f.fainelli@gmail.com>,
|
||||
Catalin Marinas <catalin.marinas@arm.com>, Will Deacon <will@kernel.org>
|
||||
Subject: [PATCH V3 2/4] thermal: Add BCM2711 thermal driver
|
||||
Date: Tue, 7 Jan 2020 19:15:55 +0100
|
||||
Message-Id: <1578420957-32229-3-git-send-email-wahrenst@gmx.net>
|
||||
X-Mailer: git-send-email 2.7.4
|
||||
In-Reply-To: <1578420957-32229-1-git-send-email-wahrenst@gmx.net>
|
||||
References: <1578420957-32229-1-git-send-email-wahrenst@gmx.net>
|
||||
X-Provags-ID: V03:K1:yFvB7JDgtfyjUut8k1Chkrb/ErSVsg3EvQyWqLPXb8cBJL7dcQK
|
||||
dsv56Ee8bmn70zRFQcp+ZxoKnJOLsQX8yr4SSStLpZInOQB1eFljwNlqO1yvOMTchBW9aNV
|
||||
8K/3K5y1XYvkIucOrqA4mcg/Abn6C2HRj+YX30kIzWXSZJYVPfGO7BlReGxXXeOS3RN/0+v
|
||||
AxjdzIeF7ITk0B2E8IlXg==
|
||||
X-Spam-Flag: NO
|
||||
X-UI-Out-Filterresults: notjunk:1;V03:K0:jTzlGkSo9bo=:dlU7pPc0rf9QUy9ZULoDP9
|
||||
8GSLL1VdjzaySpcK+jGdXJmnrTtTdrwOVCM13Yj+OFiXY9BhB02v3Y1/GACb0zByQF6m5R+HY
|
||||
E9rP1h/ZotZ106drpf22Cq8qEcdAIN5naIaEYooguO0tmeziCzo2zdEeRvJQpiw0XPxJzNMRM
|
||||
6r/2TRXgeXb53bBysAa4tCjXgXGwqtbF0WKTAsWBjogBF/6lwK2AgGFC8X4mY7XOv8GZOq+EO
|
||||
eCr92WcgDG5MIwJF7G+Q/SWbTCV+S7Fs8D52Iy3YYtdNKYJa8Mq2PmZs+zx2feLAmwfSxGctw
|
||||
EuEMw9cv1bA2tVzuUn7GiFQYGlJpxGvvCrxvU6F99yw9ECI3c3zIOHKmsXPlWMBQo9AuD/0rF
|
||||
P//MLHaS7rzJds2En+JKdP/bAR2XxC/qCtHnF7VIxMkbrXUU69CYWVTAz5gaxFv5CtBY5kqmi
|
||||
/AkDqAJimergmP6IIVtmEpgO5aE2KcbFFWtqt8e+OshhR/JDJ6JP8+kZUnbV9e0nY2cUJQqeT
|
||||
n30n/BPVfHDvMlXeHpI//Eo90SBCEVY9BRd90Q/9tmyRckXcLt+mK9USdZAkyrq7X+eXNlB2b
|
||||
QPHkn7XPbEso/0K2GzZCEO+kh5IKoYf4o53VM++6q7SDY48oU7MGG29P36RlK40W4wxgYcnbQ
|
||||
G6ofOpVasFvQlsfoWZAy3tMP3h7pzSXTMzfb+oBl+20O/5R32GpSWt/jO/Rfhyk+Ho+MGiQwA
|
||||
TqHZK+xG6BWesd9jIKv+A0n/NnxbHfylDpSRa0x4Al27WH1GQcN70HE+B91a58+3NmNd8cl1u
|
||||
nR++5B6h+UhxHjwY3mJFn6JaJE9tzHZYUcYYH6JeUq03cFXZC9Fxdns96ofekPi24KiO9T49q
|
||||
byceV+B8w4shzosvTwbuExqTP6JvIQU0VGVNzFhWlFvoMardYHn0PWKlIy16TPVaRXEL7yl2U
|
||||
+TRzGy2pXi4g1TkFMGGmRU17UYWsREIKw3+RqOSuq8riGSWZrUgVbk2wJLp/0kS4pLMUzaF/a
|
||||
QMemNPTBJfdX15J9IiNHnOMDGmEdpRucbFs9HYRn4HhWDMl1TskP5nyUiG8p+7ET3PLjS+r4K
|
||||
IFzT7g2tghwbdcDkMOjwK1CFXVblw2fUa5gjZoLCAb+psUornL0pyskLONpUQDgX+FONMdu5C
|
||||
gXIa+nu2CgDmi+mxoDIx4hSim5yfx1eGeryexRr5UiX4wdT0jXDx3nyfK+z9DTgBbIwY0D0qM
|
||||
gN5jbjyZRfDrlBl1cMJHAWyDEdL42xvNhWkeV0Q==
|
||||
X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
|
||||
X-CRM114-CacheID: sfid-20200107_101615_404914_F8328398
|
||||
X-CRM114-Status: GOOD ( 17.41 )
|
||||
X-Spam-Score: -0.2 (/)
|
||||
X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary:
|
||||
Content analysis details: (-0.2 points)
|
||||
pts rule name description
|
||||
---- ----------------------
|
||||
--------------------------------------------------
|
||||
-0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/,
|
||||
no trust [212.227.15.18 listed in list.dnswl.org]
|
||||
0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail
|
||||
provider (wahrenst[at]gmx.net)
|
||||
-0.0 SPF_PASS SPF: sender matches SPF record
|
||||
0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
|
||||
-0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from
|
||||
envelope-from domain
|
||||
0.1 DKIM_SIGNED Message has a DKIM or DK signature,
|
||||
not necessarily
|
||||
valid
|
||||
-0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from
|
||||
author's domain
|
||||
-0.1 DKIM_VALID Message has at least one valid DKIM or DK signature
|
||||
X-BeenThere: linux-arm-kernel@lists.infradead.org
|
||||
X-Mailman-Version: 2.1.29
|
||||
Precedence: list
|
||||
List-Id: <linux-arm-kernel.lists.infradead.org>
|
||||
List-Unsubscribe:
|
||||
<http://lists.infradead.org/mailman/options/linux-arm-kernel>,
|
||||
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
|
||||
List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
|
||||
List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
|
||||
List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
|
||||
List-Subscribe:
|
||||
<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
|
||||
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
|
||||
Cc: devicetree@vger.kernel.org, bcm-kernel-feedback-list@broadcom.com,
|
||||
Stefan Wahren <wahrenst@gmx.net>, linux-arm-kernel@lists.infradead.org,
|
||||
linux-pm@vger.kernel.org
|
||||
MIME-Version: 1.0
|
||||
Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
|
||||
Errors-To:
|
||||
linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
|
||||
|
||||
This adds the thermal sensor driver for the Broadcom BCM2711 SoC,
|
||||
which is placed on the Raspberry Pi 4. The driver only provides
|
||||
SoC temperature reading so far.
|
||||
|
||||
Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
|
||||
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
|
||||
Reviewed-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
Tested-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
---
|
||||
drivers/thermal/broadcom/Kconfig | 7 ++
|
||||
drivers/thermal/broadcom/Makefile | 1 +
|
||||
drivers/thermal/broadcom/bcm2711_thermal.c | 129 +++++++++++++++++++++++++++++
|
||||
3 files changed, 137 insertions(+)
|
||||
create mode 100644 drivers/thermal/broadcom/bcm2711_thermal.c
|
||||
|
||||
--
|
||||
2.7.4
|
||||
|
||||
diff --git a/drivers/thermal/broadcom/Kconfig b/drivers/thermal/broadcom/Kconfig
|
||||
index cf43e15..061f1db 100644
|
||||
--- a/drivers/thermal/broadcom/Kconfig
|
||||
+++ b/drivers/thermal/broadcom/Kconfig
|
||||
@@ -1,4 +1,11 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
+config BCM2711_THERMAL
|
||||
+ tristate "Broadcom AVS RO thermal sensor driver"
|
||||
+ depends on ARCH_BCM2835 || COMPILE_TEST
|
||||
+ depends on THERMAL_OF && MFD_SYSCON
|
||||
+ help
|
||||
+ Support for thermal sensors on Broadcom BCM2711 SoCs.
|
||||
+
|
||||
config BCM2835_THERMAL
|
||||
tristate "Thermal sensors on bcm2835 SoC"
|
||||
depends on ARCH_BCM2835 || COMPILE_TEST
|
||||
diff --git a/drivers/thermal/broadcom/Makefile b/drivers/thermal/broadcom/Makefile
|
||||
index 490ab1f..c917b24 100644
|
||||
--- a/drivers/thermal/broadcom/Makefile
|
||||
+++ b/drivers/thermal/broadcom/Makefile
|
||||
@@ -1,4 +1,5 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
+obj-$(CONFIG_BCM2711_THERMAL) += bcm2711_thermal.o
|
||||
obj-$(CONFIG_BCM2835_THERMAL) += bcm2835_thermal.o
|
||||
obj-$(CONFIG_BRCMSTB_THERMAL) += brcmstb_thermal.o
|
||||
obj-$(CONFIG_BCM_NS_THERMAL) += ns-thermal.o
|
||||
diff --git a/drivers/thermal/broadcom/bcm2711_thermal.c b/drivers/thermal/broadcom/bcm2711_thermal.c
|
||||
new file mode 100644
|
||||
index 0000000..b1d3c4d
|
||||
--- /dev/null
|
||||
+++ b/drivers/thermal/broadcom/bcm2711_thermal.c
|
||||
@@ -0,0 +1,129 @@
|
||||
+// SPDX-License-Identifier: GPL-2.0+
|
||||
+/*
|
||||
+ * Broadcom AVS RO thermal sensor driver
|
||||
+ *
|
||||
+ * based on brcmstb_thermal
|
||||
+ *
|
||||
+ * Copyright (C) 2020 Stefan Wahren
|
||||
+ */
|
||||
+
|
||||
+#include <linux/bitops.h>
|
||||
+#include <linux/clk.h>
|
||||
+#include <linux/device.h>
|
||||
+#include <linux/err.h>
|
||||
+#include <linux/io.h>
|
||||
+#include <linux/kernel.h>
|
||||
+#include <linux/mfd/syscon.h>
|
||||
+#include <linux/module.h>
|
||||
+#include <linux/platform_device.h>
|
||||
+#include <linux/of_device.h>
|
||||
+#include <linux/regmap.h>
|
||||
+#include <linux/thermal.h>
|
||||
+
|
||||
+#include "../thermal_hwmon.h"
|
||||
+
|
||||
+#define AVS_RO_TEMP_STATUS 0x200
|
||||
+ #define AVS_RO_TEMP_STATUS_valid_msk (BIT(16) | BIT(10))
|
||||
+ #define AVS_RO_TEMP_STATUS_data_msk GENMASK(9, 0)
|
||||
+
|
||||
+struct bcm2711_thermal_priv {
|
||||
+ struct regmap *regmap;
|
||||
+ struct device *dev;
|
||||
+ struct thermal_zone_device *thermal;
|
||||
+};
|
||||
+
|
||||
+static int bcm2711_get_temp(void *data, int *temp)
|
||||
+{
|
||||
+ struct bcm2711_thermal_priv *priv = data;
|
||||
+ int slope = thermal_zone_get_slope(priv->thermal);
|
||||
+ int offset = thermal_zone_get_offset(priv->thermal);
|
||||
+ u32 val;
|
||||
+ int ret;
|
||||
+ long t;
|
||||
+
|
||||
+ ret = regmap_read(priv->regmap, AVS_RO_TEMP_STATUS, &val);
|
||||
+ if (ret)
|
||||
+ return ret;
|
||||
+
|
||||
+ if (!(val & AVS_RO_TEMP_STATUS_valid_msk)) {
|
||||
+ dev_err(priv->dev, "reading not valid\n");
|
||||
+ return -EIO;
|
||||
+ }
|
||||
+
|
||||
+ val &= AVS_RO_TEMP_STATUS_data_msk;
|
||||
+
|
||||
+ /* Convert a HW code to a temperature reading (millidegree celsius) */
|
||||
+ t = slope * val + offset;
|
||||
+ if (t < 0)
|
||||
+ *temp = 0;
|
||||
+ else
|
||||
+ *temp = t;
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static const struct thermal_zone_of_device_ops bcm2711_thermal_of_ops = {
|
||||
+ .get_temp = bcm2711_get_temp,
|
||||
+};
|
||||
+
|
||||
+static const struct of_device_id bcm2711_thermal_id_table[] = {
|
||||
+ { .compatible = "brcm,bcm2711-thermal" },
|
||||
+ {},
|
||||
+};
|
||||
+MODULE_DEVICE_TABLE(of, bcm2711_thermal_id_table);
|
||||
+
|
||||
+static int bcm2711_thermal_probe(struct platform_device *pdev)
|
||||
+{
|
||||
+ struct thermal_zone_device *thermal;
|
||||
+ struct bcm2711_thermal_priv *priv;
|
||||
+ struct device *dev = &pdev->dev;
|
||||
+ struct device_node *parent;
|
||||
+ struct regmap *regmap;
|
||||
+ int ret;
|
||||
+
|
||||
+ priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL);
|
||||
+ if (!priv)
|
||||
+ return -ENOMEM;
|
||||
+
|
||||
+ /* get regmap from syscon node */
|
||||
+ parent = of_get_parent(dev->of_node); /* parent should be syscon node */
|
||||
+ regmap = syscon_node_to_regmap(parent);
|
||||
+ of_node_put(parent);
|
||||
+ if (IS_ERR(regmap)) {
|
||||
+ ret = PTR_ERR(regmap);
|
||||
+ dev_err(dev, "failed to get regmap: %d\n", ret);
|
||||
+ return ret;
|
||||
+ }
|
||||
+ priv->regmap = regmap;
|
||||
+ priv->dev = dev;
|
||||
+
|
||||
+ thermal = devm_thermal_zone_of_sensor_register(dev, 0, priv,
|
||||
+ &bcm2711_thermal_of_ops);
|
||||
+ if (IS_ERR(thermal)) {
|
||||
+ ret = PTR_ERR(thermal);
|
||||
+ dev_err(dev, "could not register sensor: %d\n", ret);
|
||||
+ return ret;
|
||||
+ }
|
||||
+
|
||||
+ priv->thermal = thermal;
|
||||
+
|
||||
+ thermal->tzp->no_hwmon = false;
|
||||
+ ret = thermal_add_hwmon_sysfs(thermal);
|
||||
+ if (ret)
|
||||
+ return ret;
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static struct platform_driver bcm2711_thermal_driver = {
|
||||
+ .probe = bcm2711_thermal_probe,
|
||||
+ .driver = {
|
||||
+ .name = "bcm2711_thermal",
|
||||
+ .of_match_table = bcm2711_thermal_id_table,
|
||||
+ },
|
||||
+};
|
||||
+module_platform_driver(bcm2711_thermal_driver);
|
||||
+
|
||||
+MODULE_LICENSE("GPL");
|
||||
+MODULE_AUTHOR("Stefan Wahren");
|
||||
+MODULE_DESCRIPTION("Broadcom AVS RO thermal sensor driver");
|
||||
|
||||
From patchwork Tue Jan 7 18:15:56 2020
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Stefan Wahren <wahrenst@gmx.net>
|
||||
X-Patchwork-Id: 11321577
|
||||
Return-Path:
|
||||
<SRS0=75uJ=24=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
|
||||
Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
|
||||
[172.30.200.123])
|
||||
by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 1E3DA138D
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Tue, 7 Jan 2020 18:17:03 +0000 (UTC)
|
||||
Received: from bombadil.infradead.org (bombadil.infradead.org
|
||||
[198.137.202.133])
|
||||
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
|
||||
(No client certificate requested)
|
||||
by mail.kernel.org (Postfix) with ESMTPS id D9D1920848
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Tue, 7 Jan 2020 18:17:02 +0000 (UTC)
|
||||
Authentication-Results: mail.kernel.org;
|
||||
dkim=pass (2048-bit key) header.d=lists.infradead.org
|
||||
header.i=@lists.infradead.org header.b="ik3qMsDb";
|
||||
dkim=fail reason="signature verification failed" (1024-bit key)
|
||||
header.d=gmx.net header.i=@gmx.net header.b="dq7Bd9O5"
|
||||
DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D9D1920848
|
||||
Authentication-Results: mail.kernel.org;
|
||||
dmarc=none (p=none dis=none) header.from=gmx.net
|
||||
Authentication-Results: mail.kernel.org;
|
||||
spf=none
|
||||
smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
|
||||
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
|
||||
d=lists.infradead.org; s=bombadil.20170209; h=Sender:
|
||||
Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe:
|
||||
List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:References:
|
||||
In-Reply-To:Message-Id:Date:Subject:To:From:Reply-To:Content-ID:
|
||||
Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc
|
||||
:Resent-Message-ID:List-Owner;
|
||||
bh=3Jmn1DTkt6iHJo4nKs/bZbMCywPz9fpkSPNvdSNQuD0=; b=ik3qMsDbyY7oIjPW5+6nccv1h7
|
||||
oTVZ+0E3fy/IjWBwKY5FfojiU4G096Dur2GDb1EeYQdJPYEusJkMhhogib+k9m2wcU+Ho8h2EZeKF
|
||||
Jll43seK5zjOJwQO8N/Jv0wOd2UqlWswRCLEoAUgGbDEU5gYR8Ue2MPlCFqJMBEeZ8KC3SeWIfYgi
|
||||
fLTUD74gERNQ7YL6u8uEq8Nx6BUgyW0/HUQ3Km8r9DMV7NbRoKm07M+5sKldGxSqxMRWUkW1aq9YV
|
||||
cQW+XybMtNHLfcTOJYOvyQApYP0CK8q+I+xtd4SM150gTyCKEhDUAk+UFEUnJ9pDgTeh6yGqQqv5I
|
||||
BmWUq8aQ==;
|
||||
Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
|
||||
by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
|
||||
id 1iotPZ-0004bP-3J; Tue, 07 Jan 2020 18:17:01 +0000
|
||||
Received: from mout.gmx.net ([212.227.15.18])
|
||||
by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
|
||||
id 1iotOp-0003ue-1N
|
||||
for linux-arm-kernel@lists.infradead.org; Tue, 07 Jan 2020 18:16:18 +0000
|
||||
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net;
|
||||
s=badeba3b8450; t=1578420966;
|
||||
bh=aWglA2PfdwtIHtm2mDExM6LOMnFuWnZiRAiujdoAMW8=;
|
||||
h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References;
|
||||
b=dq7Bd9O5pRIoP35pWiEbr3vIwPVUIZdztKslWibSe4sYkKnlLAbn2Tly+3mecxMX4
|
||||
plidbchinnJHsr1byo3468d32bXORW9ghvyBGxOn50Zs4URcLnZ6Mj9sUeBhkRs9yz
|
||||
afE9G4bQQvpFS9Aa/ELtd1yj+QyiHuLkxDC5oxSA=
|
||||
X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c
|
||||
Received: from localhost.localdomain ([37.4.249.154]) by mail.gmx.com
|
||||
(mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id
|
||||
1MoO2E-1jUaw13WDg-00onqT; Tue, 07 Jan 2020 19:16:05 +0100
|
||||
From: Stefan Wahren <wahrenst@gmx.net>
|
||||
To: Zhang Rui <rui.zhang@intel.com>,
|
||||
Daniel Lezcano <daniel.lezcano@linaro.org>,
|
||||
Amit Kucheria <amit.kucheria@verdurent.com>,
|
||||
Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>,
|
||||
Nicolas Saenz Julienne <nsaenzjulienne@suse.de>,
|
||||
Florian Fainelli <f.fainelli@gmail.com>,
|
||||
Catalin Marinas <catalin.marinas@arm.com>, Will Deacon <will@kernel.org>
|
||||
Subject: [PATCH V3 3/4] ARM: dts: bcm2711: Enable thermal
|
||||
Date: Tue, 7 Jan 2020 19:15:56 +0100
|
||||
Message-Id: <1578420957-32229-4-git-send-email-wahrenst@gmx.net>
|
||||
X-Mailer: git-send-email 2.7.4
|
||||
In-Reply-To: <1578420957-32229-1-git-send-email-wahrenst@gmx.net>
|
||||
References: <1578420957-32229-1-git-send-email-wahrenst@gmx.net>
|
||||
X-Provags-ID: V03:K1:nnCaGh26y5WZ7Y+Du8wo80ycqs5dd0zUOiU8IyxmRBut3vh+kbS
|
||||
hWpSdRT6jUdGy0zdQC4p0GWbndKZlE8PcisuGyj1O6JS+PZF0lvHyqMgg93jy1GqVcINVAT
|
||||
m9kwkGNF9DR+OKHvvajSgRYV5gRp3BIZpN7jBioSwAr2xEZCwI3aFYzZL0/nM1tdwZi08do
|
||||
f9kojNp6jUr4vT/oaeL8g==
|
||||
X-Spam-Flag: NO
|
||||
X-UI-Out-Filterresults: notjunk:1;V03:K0:eypfnYKWbbQ=:3vD1OpSV55xSk4yzLYUc8F
|
||||
ss17pikWe3sKTkGoI3BFvSL2dMCJntwyDYvcMBefgSpGcgd2z3eK3CjpAhx5Z35UkdK7cr6ep
|
||||
lsMn51ut2iKyCZ1FGpPY5mDJroBPqJFUDxNCh0BAQJn/Vyd5aWvtIStBX8vhSZeSLwOpkgYtq
|
||||
INAm+O2AD+nw7gqpqya1+fc2pMPvW9S2I6sYSLCuOP1gqJraZSDDgUp8hn2DbLlhVPgD5MSet
|
||||
VUMc8Crizcnnhu+3dx1SJtxS/Vykaw4X0YVr5/sV3mNPI9sqSWpndRywGkJfhs6ruCBSTZPqD
|
||||
lR/PwjRR58iwZ2J2O3oBfahA9dQYEQNQqxsQxIcJ296R7AyEpq8PePDjT6Z0qKPaIP1KiR9/8
|
||||
bq+HA6Be/peO7fvhwDxJNy0yQSnXJDjLqu8Gop7ybALxiK+c+alVEtyBJwd7wL+FCdL3hNnHi
|
||||
gGsohKQNAHfMWgJXcnYBqr/mcSjQf07IYNuidrfs7biH4SIVMneDFBM+bDyXpPKaHrAf3f8AJ
|
||||
6RwAQAuSBoGRrR6lOKFx63o3tmAI4R/vfyosXbLXm8nheUTCB3tmW+/J++QiCrafqCA8rzZCF
|
||||
eZgIaNncjMxPxyUmV608AjOWEnE6xf0cXC57Cw6mOq19oVtp3qesCkDvbyaAskyCX2IXZJ7hp
|
||||
R4RpokH33Uhu6IaIyGV2LuP3GZK9YmAOG1CZc6l5u7se8WRN7N1n2HkLLe2u6DM/WjZmdT7HR
|
||||
uOAbQn7NWoke1DXdnj57eY3h0Y+OJlYvhkdh7pWVUiWRLRqOOnD+ME2CRRRqD6RlKuSilEpeu
|
||||
qvPT2/eJFvIL4pejhNNrPB2C3RiHhHmyeUbQo+2Na5X/sLn3vwhfDac57ev5NKIeD7FPGPgzr
|
||||
4YF/E/rSQhXylqhqwomJMyE77jIsa09OD73gY0UYIW38Z3bfj1MlNpM3Dzq68Uy7ILcunYJgS
|
||||
JYdohNePZWLE8JBRj3z04HdTs4ogtDQLrJZEoPqWJwyYXpIblHXV3hcEm99M6ZiBCVeJQz2st
|
||||
narTYNER7iY19YC1Bc/z0ahz5Y/DiKEZI1KwPjmqzwl9DtgiFpahgvJ/htv/UFTl6UZHKBM9g
|
||||
k/uJbVQbreofaRz730uheNJu0ruz6QvWSAMa21Ge+vl84CGbcDOtC2ydUXhbjpVYa12n5Eg5A
|
||||
pQS244oqQTS3hWqK8xrFNm4jmBcCDAPGv3xVBW1Jg6pRqybLzta5jN+FfPaMbWh0yVV5VO6qu
|
||||
tKLGAzCzdsJVRK3ly7+y1msAZ7D0THx91qoghfQ==
|
||||
X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
|
||||
X-CRM114-CacheID: sfid-20200107_101615_402374_8C4F49A4
|
||||
X-CRM114-Status: GOOD ( 10.05 )
|
||||
X-Spam-Score: -0.2 (/)
|
||||
X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary:
|
||||
Content analysis details: (-0.2 points)
|
||||
pts rule name description
|
||||
---- ----------------------
|
||||
--------------------------------------------------
|
||||
0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail
|
||||
provider (wahrenst[at]gmx.net)
|
||||
-0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/,
|
||||
no trust [212.227.15.18 listed in list.dnswl.org]
|
||||
-0.0 SPF_PASS SPF: sender matches SPF record
|
||||
0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
|
||||
-0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from
|
||||
envelope-from domain
|
||||
0.1 DKIM_SIGNED Message has a DKIM or DK signature,
|
||||
not necessarily
|
||||
valid
|
||||
-0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from
|
||||
author's domain
|
||||
-0.1 DKIM_VALID Message has at least one valid DKIM or DK signature
|
||||
X-BeenThere: linux-arm-kernel@lists.infradead.org
|
||||
X-Mailman-Version: 2.1.29
|
||||
Precedence: list
|
||||
List-Id: <linux-arm-kernel.lists.infradead.org>
|
||||
List-Unsubscribe:
|
||||
<http://lists.infradead.org/mailman/options/linux-arm-kernel>,
|
||||
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
|
||||
List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
|
||||
List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
|
||||
List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
|
||||
List-Subscribe:
|
||||
<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
|
||||
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
|
||||
Cc: devicetree@vger.kernel.org, bcm-kernel-feedback-list@broadcom.com,
|
||||
Stefan Wahren <wahrenst@gmx.net>, linux-arm-kernel@lists.infradead.org,
|
||||
linux-pm@vger.kernel.org
|
||||
MIME-Version: 1.0
|
||||
Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
|
||||
Errors-To:
|
||||
linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
|
||||
|
||||
This enables thermal for the BCM2711 (used on Raspberry Pi 4) by adding
|
||||
the AVS monitor and a subnode for the thermal part.
|
||||
|
||||
Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
|
||||
Reviewed-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
Tested-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
---
|
||||
arch/arm/boot/dts/bcm2711.dtsi | 12 ++++++++++++
|
||||
1 file changed, 12 insertions(+)
|
||||
|
||||
--
|
||||
2.7.4
|
||||
|
||||
diff --git a/arch/arm/boot/dts/bcm2711.dtsi b/arch/arm/boot/dts/bcm2711.dtsi
|
||||
index 961bed8..96f341d 100644
|
||||
--- a/arch/arm/boot/dts/bcm2711.dtsi
|
||||
+++ b/arch/arm/boot/dts/bcm2711.dtsi
|
||||
@@ -66,6 +66,17 @@
|
||||
IRQ_TYPE_LEVEL_HIGH)>;
|
||||
};
|
||||
|
||||
+ avs_monitor: avs-monitor@7d5d2000 {
|
||||
+ compatible = "brcm,bcm2711-avs-monitor",
|
||||
+ "syscon", "simple-mfd";
|
||||
+ reg = <0x7d5d2000 0xf00>;
|
||||
+
|
||||
+ thermal: thermal {
|
||||
+ compatible = "brcm,bcm2711-thermal";
|
||||
+ #thermal-sensor-cells = <0>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
dma: dma@7e007000 {
|
||||
compatible = "brcm,bcm2835-dma";
|
||||
reg = <0x7e007000 0xb00>;
|
||||
@@ -363,6 +374,7 @@
|
||||
|
||||
&cpu_thermal {
|
||||
coefficients = <(-487) 410040>;
|
||||
+ thermal-sensors = <&thermal>;
|
||||
};
|
||||
|
||||
&dsi0 {
|
||||
|
||||
From patchwork Tue Jan 7 18:15:57 2020
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Stefan Wahren <wahrenst@gmx.net>
|
||||
X-Patchwork-Id: 11321575
|
||||
Return-Path:
|
||||
<SRS0=75uJ=24=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
|
||||
Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
|
||||
[172.30.200.123])
|
||||
by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id E84E3138D
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Tue, 7 Jan 2020 18:16:44 +0000 (UTC)
|
||||
Received: from bombadil.infradead.org (bombadil.infradead.org
|
||||
[198.137.202.133])
|
||||
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
|
||||
(No client certificate requested)
|
||||
by mail.kernel.org (Postfix) with ESMTPS id C25C220848
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Tue, 7 Jan 2020 18:16:44 +0000 (UTC)
|
||||
Authentication-Results: mail.kernel.org;
|
||||
dkim=pass (2048-bit key) header.d=lists.infradead.org
|
||||
header.i=@lists.infradead.org header.b="EHM8n8KN";
|
||||
dkim=fail reason="signature verification failed" (1024-bit key)
|
||||
header.d=gmx.net header.i=@gmx.net header.b="Idmw230V"
|
||||
DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C25C220848
|
||||
Authentication-Results: mail.kernel.org;
|
||||
dmarc=none (p=none dis=none) header.from=gmx.net
|
||||
Authentication-Results: mail.kernel.org;
|
||||
spf=none
|
||||
smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
|
||||
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
|
||||
d=lists.infradead.org; s=bombadil.20170209; h=Sender:
|
||||
Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe:
|
||||
List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:References:
|
||||
In-Reply-To:Message-Id:Date:Subject:To:From:Reply-To:Content-ID:
|
||||
Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc
|
||||
:Resent-Message-ID:List-Owner;
|
||||
bh=FI3zHZWFfRXQ5XfvKcNW0c7MrnTDIP/1CsQtLlw0qhk=; b=EHM8n8KNF/sE/U53eeci7J27D/
|
||||
L6VFKJctUZqFEOfeRIf3CEPuX3Pk7huocVD4K/yvqJnuSIC9Sje4gjYORUjtz0xEW8CKjxjf5sbo4
|
||||
iYEtnBsDYtEQWwTsMvpNbOtR9yZQiY7fMcQK8nhC4R5A9vtv43ytxgkV84YVL5SLBHhGZjzUmuRb9
|
||||
FKBtltjzocTcD8mbcVN6Lvjcu/a4J5A+/LHRH7nzuQ7ChaJ9Mw/y7zJHcaBuEOhba/3Dzd9+03jLD
|
||||
oOExZgjTpNtAXsLye/WHt/BTHen3PFAjAAMLvLPE6fEStapg1ZuOa2ueopvmsCSgQ7KMmBHUkX5NX
|
||||
8kfsNepQ==;
|
||||
Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
|
||||
by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
|
||||
id 1iotPH-0004Mo-B2; Tue, 07 Jan 2020 18:16:43 +0000
|
||||
Received: from mout.gmx.net ([212.227.15.19])
|
||||
by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
|
||||
id 1iotOo-0003u5-Ni
|
||||
for linux-arm-kernel@lists.infradead.org; Tue, 07 Jan 2020 18:16:16 +0000
|
||||
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net;
|
||||
s=badeba3b8450; t=1578420966;
|
||||
bh=ywvSvkZtxIFgQK2uzodzJ55BZghcFbFAXSLbAwo36wY=;
|
||||
h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References;
|
||||
b=Idmw230VWPBhZW2v+dAYw62P6JElxPEL/uqCuoHO0gDvDK3VOnfVdcv9d1ALNkZ2+
|
||||
Y+8kPpr9BiXxUfm8bw+Xmjv/SzBxlFpg2EK/a8Hg1b+OzEQC+AII1OlGsc5FjmhCdA
|
||||
PYd0h0yBiUAl3qCFDZaEL6GR5SqLeAQ2sKdGgVLY=
|
||||
X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c
|
||||
Received: from localhost.localdomain ([37.4.249.154]) by mail.gmx.com
|
||||
(mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id
|
||||
1M1HZo-1irdDo1LiM-002s6V; Tue, 07 Jan 2020 19:16:06 +0100
|
||||
From: Stefan Wahren <wahrenst@gmx.net>
|
||||
To: Zhang Rui <rui.zhang@intel.com>,
|
||||
Daniel Lezcano <daniel.lezcano@linaro.org>,
|
||||
Amit Kucheria <amit.kucheria@verdurent.com>,
|
||||
Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>,
|
||||
Nicolas Saenz Julienne <nsaenzjulienne@suse.de>,
|
||||
Florian Fainelli <f.fainelli@gmail.com>,
|
||||
Catalin Marinas <catalin.marinas@arm.com>, Will Deacon <will@kernel.org>
|
||||
Subject: [PATCH V3 4/4] ARM: configs: Build BCM2711 thermal as module
|
||||
Date: Tue, 7 Jan 2020 19:15:57 +0100
|
||||
Message-Id: <1578420957-32229-5-git-send-email-wahrenst@gmx.net>
|
||||
X-Mailer: git-send-email 2.7.4
|
||||
In-Reply-To: <1578420957-32229-1-git-send-email-wahrenst@gmx.net>
|
||||
References: <1578420957-32229-1-git-send-email-wahrenst@gmx.net>
|
||||
X-Provags-ID: V03:K1:KgT8/xCsDfTXBG/ZvIRxjN+W6EAwuQgL8jv7F25Vy4z+LXj8G1P
|
||||
FvRXVhgSwOlulZ964d6rnvX7HL7dcwoY5KFt4EhM20cYoQ7YJ90EDHTamYirCxIqbox1UqU
|
||||
ONycfR3lNn3uKEv5yBZAPy3RJBy/loio9XdwmoBs6tYkYaaVTtIztndrmforVufG7I03eQv
|
||||
W3OI55XFGJevmqp5FLjsQ==
|
||||
X-Spam-Flag: NO
|
||||
X-UI-Out-Filterresults: notjunk:1;V03:K0:XO0bOe0Ep8o=:kSgMi1gYunuPgzCu/XiJe8
|
||||
55cXkb2VEpp+0ZB7lgktyFvshluW/8SnuuoMm0yhsBOUju5moUy3EZx62VduAycSWKQ78+NnI
|
||||
nuuYaeMimJEZFIkXd/bIo8qA7TQgY5Ai7wFwAtnufeOK6yhqeXld+O6drS9SE7OUPwiRaFLvX
|
||||
a4z3zZIJ/WSdgxfIjZJl+1A8tbqJu7QHtc7BvlrnNqu0L7T9RP/4wKZFs+iqJxgb56ONYX6aW
|
||||
eJEAdrGioHnjoWK1N2opYc6mYPThXU7WIGI67W1LEp4sdfzemZwQzCuEX4itQkAnL2DeCQ5Ga
|
||||
TB3twKe/JfrKyCgWbB1LzE4zIekmdDkNCLP1O1ry0t5+zdTGCZqjgF0aW1XQwp7nUNAKqvnkR
|
||||
oGFH00fcZrTjP7GTsAHM1SFbj/j8S4XbS2KGdNqEc+X3ozKoe941uA4inBhtY+DCHFbDc82RB
|
||||
saG1XiaXGsPKwjXuAqFoy+XoGrMHnHWh5g9mP7Zd8K8eY9UW2y2qLVLlIfRct6viL+vCIg5bq
|
||||
bBOs7WNQuQK66Q8JwSFVNkWe5cjQ4sjCurxBOCJu6414eyACNqp75abbUH3UXbZ1ZWeQB05gV
|
||||
pAQjr6XZtxFBUpzRIscP1mp92bxLC60clMvMwMY7L3J2tmJzvf+8KaEZ46/AXpMn/5UHILhV8
|
||||
RHgsmsQOZtPYbgegdxdoBc4kR22+31P9QayG4NNZpKN6TEFlqDfoNUbNez4dIJleG22IlSiAm
|
||||
HnfbzPvVXjeK2JiZBcfGTDhAuoGbB8Fj+2eQ26gxDe6zKM6e+8/ggitNae4Dbbw0frlGYT/H6
|
||||
Wawodx5tZYYdi+XZ6h7xR7gVz+qUtDxU3/g+269QUGswvjIS+a6z7lzkEuyK7V6ieV8u7Eh4X
|
||||
sN1khUObrdWcgax2sqRsD0RD05hMRw3yVlf9xuWpUo/SWo+mVR/rXK6YkXDiRCL5kmMzaJ/ZF
|
||||
b4PktMNM1fUynsV780QqPYKWWfAdvMlDCWnofVBqBUPHArgmZeAkiFzfCcecwEBz+jAxwUZmE
|
||||
ANzUWQENqeKB/qYYpxtBwoBTpfvKT9aAuk83/Xxf8kHjFo2JE0BLWXqe+/i6FQUtXR4VmNd2G
|
||||
UVWlOQJHCJCaXerv7dUwcdFH2tluzwimauf3xv9Suhg06gzqG2AzZefj6DSqfSFAESG+a1r9m
|
||||
u1k2ZLky+lFSekVHbbxsc5W/2rXnl7YvbHVJ1NqvR0HhNJjn7ISBZGvzeJz7kFQCKjXZiQA76
|
||||
XprBZmCVmQkyOoIyjE6h4g5xdzecqsXUyniZ7MA==
|
||||
X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
|
||||
X-CRM114-CacheID: sfid-20200107_101615_064044_029A3653
|
||||
X-CRM114-Status: GOOD ( 10.12 )
|
||||
X-Spam-Score: -0.2 (/)
|
||||
X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary:
|
||||
Content analysis details: (-0.2 points)
|
||||
pts rule name description
|
||||
---- ----------------------
|
||||
--------------------------------------------------
|
||||
0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail
|
||||
provider (wahrenst[at]gmx.net)
|
||||
-0.0 SPF_PASS SPF: sender matches SPF record
|
||||
0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
|
||||
-0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/,
|
||||
no trust [212.227.15.19 listed in list.dnswl.org]
|
||||
-0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from
|
||||
envelope-from domain
|
||||
0.1 DKIM_SIGNED Message has a DKIM or DK signature,
|
||||
not necessarily
|
||||
valid
|
||||
-0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from
|
||||
author's domain
|
||||
-0.1 DKIM_VALID Message has at least one valid DKIM or DK signature
|
||||
X-BeenThere: linux-arm-kernel@lists.infradead.org
|
||||
X-Mailman-Version: 2.1.29
|
||||
Precedence: list
|
||||
List-Id: <linux-arm-kernel.lists.infradead.org>
|
||||
List-Unsubscribe:
|
||||
<http://lists.infradead.org/mailman/options/linux-arm-kernel>,
|
||||
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
|
||||
List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
|
||||
List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
|
||||
List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
|
||||
List-Subscribe:
|
||||
<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
|
||||
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
|
||||
Cc: devicetree@vger.kernel.org, bcm-kernel-feedback-list@broadcom.com,
|
||||
Stefan Wahren <wahrenst@gmx.net>, linux-arm-kernel@lists.infradead.org,
|
||||
linux-pm@vger.kernel.org
|
||||
MIME-Version: 1.0
|
||||
Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
|
||||
Errors-To:
|
||||
linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
|
||||
|
||||
This builds the BCM2711 thermal driver as module for the Raspberry Pi 4.
|
||||
|
||||
Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
|
||||
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
|
||||
Reviewed-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
Tested-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
---
|
||||
arch/arm/configs/multi_v7_defconfig | 1 +
|
||||
arch/arm64/configs/defconfig | 1 +
|
||||
2 files changed, 2 insertions(+)
|
||||
|
||||
--
|
||||
2.7.4
|
||||
|
||||
diff --git a/arch/arm/configs/multi_v7_defconfig b/arch/arm/configs/multi_v7_defconfig
|
||||
index 3f1b96d..f5d19cc 100644
|
||||
--- a/arch/arm/configs/multi_v7_defconfig
|
||||
+++ b/arch/arm/configs/multi_v7_defconfig
|
||||
@@ -496,6 +496,7 @@ CONFIG_IMX_THERMAL=y
|
||||
CONFIG_ROCKCHIP_THERMAL=y
|
||||
CONFIG_RCAR_THERMAL=y
|
||||
CONFIG_ARMADA_THERMAL=y
|
||||
+CONFIG_BCM2711_THERMAL=m
|
||||
CONFIG_BCM2835_THERMAL=m
|
||||
CONFIG_BRCMSTB_THERMAL=m
|
||||
CONFIG_ST_THERMAL_MEMMAP=y
|
||||
diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
|
||||
index 6a83ba2..b2f6673 100644
|
||||
--- a/arch/arm64/configs/defconfig
|
||||
+++ b/arch/arm64/configs/defconfig
|
||||
@@ -442,6 +442,7 @@ CONFIG_ROCKCHIP_THERMAL=m
|
||||
CONFIG_RCAR_THERMAL=y
|
||||
CONFIG_RCAR_GEN3_THERMAL=y
|
||||
CONFIG_ARMADA_THERMAL=y
|
||||
+CONFIG_BCM2711_THERMAL=m
|
||||
CONFIG_BCM2835_THERMAL=m
|
||||
CONFIG_BRCMSTB_THERMAL=m
|
||||
CONFIG_EXYNOS_THERMAL=y
|
||||
168
ARM-dts-bcm2711-Move-emmc2-into-its-own-bus.patch
Normal file
168
ARM-dts-bcm2711-Move-emmc2-into-its-own-bus.patch
Normal file
|
|
@ -0,0 +1,168 @@
|
|||
From patchwork Wed Mar 4 13:24:37 2020
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
X-Patchwork-Id: 11420129
|
||||
Return-Path:
|
||||
<SRS0=pU4t=4V=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
|
||||
Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
|
||||
[172.30.200.123])
|
||||
by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id C6D01139A
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Wed, 4 Mar 2020 13:24:52 +0000 (UTC)
|
||||
Received: from bombadil.infradead.org (bombadil.infradead.org
|
||||
[198.137.202.133])
|
||||
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
|
||||
(No client certificate requested)
|
||||
by mail.kernel.org (Postfix) with ESMTPS id 8EA4C20848
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Wed, 4 Mar 2020 13:24:52 +0000 (UTC)
|
||||
Authentication-Results: mail.kernel.org;
|
||||
dkim=pass (2048-bit key) header.d=lists.infradead.org
|
||||
header.i=@lists.infradead.org header.b="rVot4hOX"
|
||||
DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8EA4C20848
|
||||
Authentication-Results: mail.kernel.org;
|
||||
dmarc=none (p=none dis=none) header.from=suse.de
|
||||
Authentication-Results: mail.kernel.org;
|
||||
spf=none
|
||||
smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
|
||||
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
|
||||
d=lists.infradead.org; s=bombadil.20170209; h=Sender:
|
||||
Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
|
||||
List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:To
|
||||
:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:
|
||||
Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:
|
||||
List-Owner; bh=8vOVvuwuEiZ/+aeWTFI6G54jitKev/MSiGHvL/NuYpM=; b=rVot4hOXzlJULi
|
||||
AIV0tWo7xq5srSJPr0aW3ccsKyfTNsVGmB0Y4G8A2Wqd+29xOVNJGk9jIAaRqBaAEGozzfFQj8JuQ
|
||||
YRKsDyKXSMgpM5EHFtlq7TSvY21pe6uHhTkMCYnhLdZu7BrX9V2BLfnG7b7kx+wVgh2SDk5Tu8iJI
|
||||
3vNkR22Qd4bIZAMQVwr97BN6IasYg2C9Q1hACZKKYVTxOvCw1MDDfedhRK9IxgZXV8eacZco5TlC+
|
||||
3FlBQSP6dxBhpgAZ2VSD8k94TZe8Vnj1HMmja4MShu5hUOaBMzV/cvTA0y9OFseFvzL3YES1oyPzk
|
||||
vPYT4iiUYIWQEEsfDJoA==;
|
||||
Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
|
||||
by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
|
||||
id 1j9U10-0004Kq-KB; Wed, 04 Mar 2020 13:24:46 +0000
|
||||
Received: from mx2.suse.de ([195.135.220.15])
|
||||
by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
|
||||
id 1j9U0x-0004KG-Lg; Wed, 04 Mar 2020 13:24:45 +0000
|
||||
X-Virus-Scanned: by amavisd-new at test-mx.suse.de
|
||||
Received: from relay2.suse.de (unknown [195.135.220.254])
|
||||
by mx2.suse.de (Postfix) with ESMTP id 28610AAC7;
|
||||
Wed, 4 Mar 2020 13:24:42 +0000 (UTC)
|
||||
From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
To: Rob Herring <robh+dt@kernel.org>,
|
||||
Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
Subject: [PATCH v2] ARM: dts: bcm2711: Move emmc2 into its own bus
|
||||
Date: Wed, 4 Mar 2020 14:24:37 +0100
|
||||
Message-Id: <20200304132437.20164-1-nsaenzjulienne@suse.de>
|
||||
X-Mailer: git-send-email 2.25.1
|
||||
MIME-Version: 1.0
|
||||
X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
|
||||
X-CRM114-CacheID: sfid-20200304_052443_860022_0913505C
|
||||
X-CRM114-Status: GOOD ( 14.37 )
|
||||
X-Spam-Score: -2.3 (--)
|
||||
X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
|
||||
Content analysis details: (-2.3 points)
|
||||
pts rule name description
|
||||
---- ----------------------
|
||||
--------------------------------------------------
|
||||
-2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/,
|
||||
medium trust [195.135.220.15 listed in list.dnswl.org]
|
||||
-0.0 SPF_PASS SPF: sender matches SPF record
|
||||
0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
|
||||
0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3)
|
||||
[195.135.220.15 listed in wl.mailspike.net]
|
||||
0.0 RCVD_IN_MSPIKE_WL Mailspike good senders
|
||||
X-BeenThere: linux-arm-kernel@lists.infradead.org
|
||||
X-Mailman-Version: 2.1.29
|
||||
Precedence: list
|
||||
List-Id: <linux-arm-kernel.lists.infradead.org>
|
||||
List-Unsubscribe:
|
||||
<http://lists.infradead.org/mailman/options/linux-arm-kernel>,
|
||||
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
|
||||
List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
|
||||
List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
|
||||
List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
|
||||
List-Subscribe:
|
||||
<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
|
||||
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
|
||||
Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, phil@raspberrypi.org,
|
||||
linux-kernel@vger.kernel.org, bcm-kernel-feedback-list@broadcom.com,
|
||||
linux-rpi-kernel@lists.infradead.org, linux-arm-kernel@lists.infradead.org
|
||||
Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
|
||||
Errors-To:
|
||||
linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
|
||||
|
||||
Depending on bcm2711's revision its emmc2 controller might have
|
||||
different DMA constraints. Raspberry Pi 4's firmware will take care of
|
||||
updating those, but only if a certain alias is found in the device tree.
|
||||
So, move emmc2 into its own bus, so as not to pollute other devices with
|
||||
dma-ranges changes and create the emmc2bus alias.
|
||||
|
||||
Based in Phil ELwell's downstream implementation.
|
||||
|
||||
Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
---
|
||||
|
||||
Changes since v1:
|
||||
- Add comment in dt
|
||||
- Fix commit title
|
||||
|
||||
arch/arm/boot/dts/bcm2711-rpi-4-b.dts | 1 +
|
||||
arch/arm/boot/dts/bcm2711.dtsi | 25 ++++++++++++++++++++-----
|
||||
2 files changed, 21 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
|
||||
index 1d4b589fe233..e26ea9006378 100644
|
||||
--- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
|
||||
+++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
|
||||
@@ -20,6 +20,7 @@ memory@0 {
|
||||
};
|
||||
|
||||
aliases {
|
||||
+ emmc2bus = &emmc2bus;
|
||||
ethernet0 = &genet;
|
||||
pcie0 = &pcie0;
|
||||
};
|
||||
diff --git a/arch/arm/boot/dts/bcm2711.dtsi b/arch/arm/boot/dts/bcm2711.dtsi
|
||||
index d1e684d0acfd..a91cf68e3c4c 100644
|
||||
--- a/arch/arm/boot/dts/bcm2711.dtsi
|
||||
+++ b/arch/arm/boot/dts/bcm2711.dtsi
|
||||
@@ -241,17 +241,32 @@ pwm1: pwm@7e20c800 {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
+ hvs@7e400000 {
|
||||
+ interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ /*
|
||||
+ * emmc2 has different DMA constraints based on SoC revisions. It was
|
||||
+ * moved into its own bus, so as for RPi4's firmware to update them.
|
||||
+ * The firmware will find whether the emmc2bus alias is defined, and if
|
||||
+ * so, it'll edit the dma-ranges property below accordingly.
|
||||
+ */
|
||||
+ emmc2bus: emmc2bus {
|
||||
+ compatible = "simple-bus";
|
||||
+ #address-cells = <2>;
|
||||
+ #size-cells = <1>;
|
||||
+
|
||||
+ ranges = <0x0 0x7e000000 0x0 0xfe000000 0x01800000>;
|
||||
+ dma-ranges = <0x0 0xc0000000 0x0 0x00000000 0x40000000>;
|
||||
+
|
||||
emmc2: emmc2@7e340000 {
|
||||
compatible = "brcm,bcm2711-emmc2";
|
||||
- reg = <0x7e340000 0x100>;
|
||||
+ reg = <0x0 0x7e340000 0x100>;
|
||||
interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clocks BCM2711_CLOCK_EMMC2>;
|
||||
status = "disabled";
|
||||
};
|
||||
-
|
||||
- hvs@7e400000 {
|
||||
- interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
|
||||
- };
|
||||
};
|
||||
|
||||
arm-pmu {
|
||||
477
ARM64-Tegra-fixes.patch
Normal file
477
ARM64-Tegra-fixes.patch
Normal file
|
|
@ -0,0 +1,477 @@
|
|||
From patchwork Mon Feb 24 14:34:33 2020
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Jon Hunter <jonathanh@nvidia.com>
|
||||
X-Patchwork-Id: 1243145
|
||||
Return-Path: <linux-tegra-owner@vger.kernel.org>
|
||||
X-Original-To: incoming@patchwork.ozlabs.org
|
||||
Delivered-To: patchwork-incoming@bilbo.ozlabs.org
|
||||
Authentication-Results: ozlabs.org; spf=none (no SPF record)
|
||||
smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67;
|
||||
helo=vger.kernel.org;
|
||||
envelope-from=linux-tegra-owner@vger.kernel.org;
|
||||
receiver=<UNKNOWN>)
|
||||
Authentication-Results: ozlabs.org;
|
||||
dmarc=pass (p=none dis=none) header.from=nvidia.com
|
||||
Authentication-Results: ozlabs.org; dkim=pass (2048-bit key;
|
||||
unprotected) header.d=nvidia.com header.i=@nvidia.com
|
||||
header.a=rsa-sha256 header.s=n1 header.b=duOxTEf6;
|
||||
dkim-atps=neutral
|
||||
Received: from vger.kernel.org (vger.kernel.org [209.132.180.67])
|
||||
by ozlabs.org (Postfix) with ESMTP id 48R4Mz3K4gz9sRR
|
||||
for <incoming@patchwork.ozlabs.org>;
|
||||
Tue, 25 Feb 2020 01:34:55 +1100 (AEDT)
|
||||
Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
|
||||
id S1727815AbgBXOew (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);
|
||||
Mon, 24 Feb 2020 09:34:52 -0500
|
||||
Received: from hqnvemgate24.nvidia.com ([216.228.121.143]:6094 "EHLO
|
||||
hqnvemgate24.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
|
||||
with ESMTP id S1727498AbgBXOew (ORCPT
|
||||
<rfc822;linux-tegra@vger.kernel.org>);
|
||||
Mon, 24 Feb 2020 09:34:52 -0500
|
||||
Received: from hqpgpgate101.nvidia.com (Not Verified[216.228.121.13]) by
|
||||
hqnvemgate24.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA)
|
||||
id <B5e53debf0001>; Mon, 24 Feb 2020 06:33:35 -0800
|
||||
Received: from hqmail.nvidia.com ([172.20.161.6])
|
||||
by hqpgpgate101.nvidia.com (PGP Universal service);
|
||||
Mon, 24 Feb 2020 06:34:51 -0800
|
||||
X-PGP-Universal: processed;
|
||||
by hqpgpgate101.nvidia.com on Mon, 24 Feb 2020 06:34:51 -0800
|
||||
Received: from HQMAIL105.nvidia.com (172.20.187.12) by HQMAIL101.nvidia.com
|
||||
(172.20.187.10) with Microsoft SMTP Server (TLS) id 15.0.1473.3;
|
||||
Mon, 24 Feb 2020 14:34:50 +0000
|
||||
Received: from rnnvemgw01.nvidia.com (10.128.109.123) by HQMAIL105.nvidia.com
|
||||
(172.20.187.12) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via
|
||||
Frontend Transport; Mon, 24 Feb 2020 14:34:50 +0000
|
||||
Received: from thunderball.nvidia.com (Not Verified[10.21.140.91]) by
|
||||
rnnvemgw01.nvidia.com with Trustwave SEG (v7, 5, 8, 10121)
|
||||
id <B5e53df090001>; Mon, 24 Feb 2020 06:34:50 -0800
|
||||
From: Jon Hunter <jonathanh@nvidia.com>
|
||||
To: Thierry Reding <thierry.reding@gmail.com>
|
||||
CC: <devicetree@vger.kernel.org>, <linux-tegra@vger.kernel.org>,
|
||||
Jon Hunter <jonathanh@nvidia.com>, <stable@vger.kernel.org>
|
||||
Subject: [PATCH 1/4] ARM64: Tegra: Enable I2C controller for EEPROM
|
||||
Date: Mon, 24 Feb 2020 14:34:33 +0000
|
||||
Message-ID: <20200224143436.5438-1-jonathanh@nvidia.com>
|
||||
X-Mailer: git-send-email 2.17.1
|
||||
X-NVConfidentiality: public
|
||||
MIME-Version: 1.0
|
||||
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1;
|
||||
t=1582554815; bh=SKhUz0YkoB6pD4YoE/4KFxZbYw2qmSp519cZdmcBM3o=;
|
||||
h=X-PGP-Universal:From:To:CC:Subject:Date:Message-ID:X-Mailer:
|
||||
X-NVConfidentiality:MIME-Version:Content-Type;
|
||||
b=duOxTEf6wTpBnmdA4GzgtJ0CYXr5t34ZZNN48pc9hExmRqaCcppGHAY2wcXqnjNmL
|
||||
YwvDy0gfFikGS9gPJKICW2X6f4iOcgfnVhYOWdgnzSFD1bhtOoN+bEcXPC+LRDY89m
|
||||
uAwuuKQR4MMohz9C8MW8xyatlc13ZEU0jeW1+S3PYfX2GhwRUooeFCGnmLUso5s2DZ
|
||||
65p26CoCGdQNBARsw2TNevBzLshNSXvHBdlFiKSs4S0hB7yJJrCwZx2JsjOm+aRtb3
|
||||
dgVHvAZAd8GLLKC8NvPCAhbIRhDt0vkyWmqHnB5suduti7g4QA1Eb8HLAXB5ptvzeK
|
||||
jor+qP+NC8CVQ==
|
||||
Sender: linux-tegra-owner@vger.kernel.org
|
||||
Precedence: bulk
|
||||
List-ID: <linux-tegra.vger.kernel.org>
|
||||
X-Mailing-List: linux-tegra@vger.kernel.org
|
||||
|
||||
Commit a5b6b67364cb ("arm64: tegra: Add ID EEPROM for Jetson TX1
|
||||
module") populated the EEPROM on the Jetson TX1 module, but did not
|
||||
enable the corresponding I2C controller. Enable the I2C controller so
|
||||
that this EEPROM can be accessed.
|
||||
|
||||
Fixes: a5b6b67364cb ("arm64: tegra: Add ID EEPROM for Jetson TX1 module")
|
||||
|
||||
Cc: <stable@vger.kernel.org>
|
||||
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
|
||||
---
|
||||
arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi b/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi
|
||||
index cb58f79deb48..95b1a6e76e6e 100644
|
||||
--- a/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi
|
||||
+++ b/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi
|
||||
@@ -265,6 +265,8 @@
|
||||
};
|
||||
|
||||
i2c@7000c500 {
|
||||
+ status = "okay";
|
||||
+
|
||||
/* module ID EEPROM */
|
||||
eeprom@50 {
|
||||
compatible = "atmel,24c02";
|
||||
|
||||
From patchwork Mon Feb 24 14:34:34 2020
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Jon Hunter <jonathanh@nvidia.com>
|
||||
X-Patchwork-Id: 1243146
|
||||
Return-Path: <linux-tegra-owner@vger.kernel.org>
|
||||
X-Original-To: incoming@patchwork.ozlabs.org
|
||||
Delivered-To: patchwork-incoming@bilbo.ozlabs.org
|
||||
Authentication-Results: ozlabs.org; spf=none (no SPF record)
|
||||
smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67;
|
||||
helo=vger.kernel.org;
|
||||
envelope-from=linux-tegra-owner@vger.kernel.org;
|
||||
receiver=<UNKNOWN>)
|
||||
Authentication-Results: ozlabs.org;
|
||||
dmarc=pass (p=none dis=none) header.from=nvidia.com
|
||||
Authentication-Results: ozlabs.org; dkim=pass (2048-bit key;
|
||||
unprotected) header.d=nvidia.com header.i=@nvidia.com
|
||||
header.a=rsa-sha256 header.s=n1 header.b=YrupJt5o;
|
||||
dkim-atps=neutral
|
||||
Received: from vger.kernel.org (vger.kernel.org [209.132.180.67])
|
||||
by ozlabs.org (Postfix) with ESMTP id 48R4N1059Pz9sRR
|
||||
for <incoming@patchwork.ozlabs.org>;
|
||||
Tue, 25 Feb 2020 01:34:57 +1100 (AEDT)
|
||||
Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
|
||||
id S1727498AbgBXOe4 (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);
|
||||
Mon, 24 Feb 2020 09:34:56 -0500
|
||||
Received: from hqnvemgate25.nvidia.com ([216.228.121.64]:8365 "EHLO
|
||||
hqnvemgate25.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
|
||||
with ESMTP id S1727803AbgBXOe4 (ORCPT
|
||||
<rfc822;linux-tegra@vger.kernel.org>);
|
||||
Mon, 24 Feb 2020 09:34:56 -0500
|
||||
Received: from hqpgpgate101.nvidia.com (Not Verified[216.228.121.13]) by
|
||||
hqnvemgate25.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA)
|
||||
id <B5e53deec0000>; Mon, 24 Feb 2020 06:34:20 -0800
|
||||
Received: from hqmail.nvidia.com ([172.20.161.6])
|
||||
by hqpgpgate101.nvidia.com (PGP Universal service);
|
||||
Mon, 24 Feb 2020 06:34:55 -0800
|
||||
X-PGP-Universal: processed;
|
||||
by hqpgpgate101.nvidia.com on Mon, 24 Feb 2020 06:34:55 -0800
|
||||
Received: from HQMAIL107.nvidia.com (172.20.187.13) by HQMAIL109.nvidia.com
|
||||
(172.20.187.15) with Microsoft SMTP Server (TLS) id 15.0.1473.3;
|
||||
Mon, 24 Feb 2020 14:34:55 +0000
|
||||
Received: from rnnvemgw01.nvidia.com (10.128.109.123) by HQMAIL107.nvidia.com
|
||||
(172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via
|
||||
Frontend Transport; Mon, 24 Feb 2020 14:34:55 +0000
|
||||
Received: from thunderball.nvidia.com (Not Verified[10.21.140.91]) by
|
||||
rnnvemgw01.nvidia.com with Trustwave SEG (v7, 5, 8, 10121)
|
||||
id <B5e53df0d0000>; Mon, 24 Feb 2020 06:34:54 -0800
|
||||
From: Jon Hunter <jonathanh@nvidia.com>
|
||||
To: Thierry Reding <thierry.reding@gmail.com>
|
||||
CC: <devicetree@vger.kernel.org>, <linux-tegra@vger.kernel.org>,
|
||||
Jon Hunter <jonathanh@nvidia.com>
|
||||
Subject: [PATCH 2/4] ARM64: tegra: Add EEPROM supplies
|
||||
Date: Mon, 24 Feb 2020 14:34:34 +0000
|
||||
Message-ID: <20200224143436.5438-2-jonathanh@nvidia.com>
|
||||
X-Mailer: git-send-email 2.17.1
|
||||
In-Reply-To: <20200224143436.5438-1-jonathanh@nvidia.com>
|
||||
References: <20200224143436.5438-1-jonathanh@nvidia.com>
|
||||
X-NVConfidentiality: public
|
||||
MIME-Version: 1.0
|
||||
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1;
|
||||
t=1582554860; bh=XQRed+hM+dOmUn7lEyFBRTITiHe/kmVf6bYnTKyb4yU=;
|
||||
h=X-PGP-Universal:From:To:CC:Subject:Date:Message-ID:X-Mailer:
|
||||
In-Reply-To:References:X-NVConfidentiality:MIME-Version:
|
||||
Content-Type;
|
||||
b=YrupJt5osNrArZbD3/6N+E76P788S2kgwb7HnwldZ99/x70lrAIXTKHOx35uqz7o0
|
||||
bsYj1jAiz+BrmkHt678TBaesev2pBBcp8G+zkGDX+M6MWEvTixhn0bBERoHpnmuhQl
|
||||
1fWBcDKGg9r4KT46RFxrjCcRek8FB1gb1nM00FneNHFyguKuZEzRuMvoPfZEPr0Pm3
|
||||
HaB3AybSYgm2KABS5aZo/a2/9sIP0Bx2St673Bx+9vz89pPr8lWjHZO9QjIUdJn2Qw
|
||||
5rEeeEdOKkbx0RMyKaPAPIdhmrnVzrcyrnZYmf0KnxXJCWitqt2cyAu6uDjPI8kiL+
|
||||
JhWqRAza5osKg==
|
||||
Sender: linux-tegra-owner@vger.kernel.org
|
||||
Precedence: bulk
|
||||
List-ID: <linux-tegra.vger.kernel.org>
|
||||
X-Mailing-List: linux-tegra@vger.kernel.org
|
||||
|
||||
The following warning is observed on Jetson TX1, Jetson Nano and Jetson
|
||||
TX2 platforms because the supply regulators are not specified for the
|
||||
EEPROMs.
|
||||
|
||||
WARNING KERN at24 0-0050: 0-0050 supply vcc not found, using dummy regulator
|
||||
WARNING KERN at24 0-0057: 0-0057 supply vcc not found, using dummy regulator
|
||||
|
||||
For both of these platforms the EEPROM is powered by the main 1.8V
|
||||
supply rail and so populate the supply for these devices to fix these
|
||||
warnings.
|
||||
|
||||
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
|
||||
---
|
||||
arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts | 1 +
|
||||
arch/arm64/boot/dts/nvidia/tegra186-p3310.dtsi | 1 +
|
||||
arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi | 1 +
|
||||
arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts | 1 +
|
||||
arch/arm64/boot/dts/nvidia/tegra210-p3450-0000.dts | 2 ++
|
||||
5 files changed, 6 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts b/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts
|
||||
index d7628f5afb85..961b1be0c56b 100644
|
||||
--- a/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts
|
||||
+++ b/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts
|
||||
@@ -226,6 +226,7 @@
|
||||
compatible = "atmel,24c02";
|
||||
reg = <0x57>;
|
||||
|
||||
+ vcc-supply = <&vdd_1v8>;
|
||||
address-bits = <8>;
|
||||
page-size = <8>;
|
||||
size = <256>;
|
||||
diff --git a/arch/arm64/boot/dts/nvidia/tegra186-p3310.dtsi b/arch/arm64/boot/dts/nvidia/tegra186-p3310.dtsi
|
||||
index 947744d0f04c..da96de04d003 100644
|
||||
--- a/arch/arm64/boot/dts/nvidia/tegra186-p3310.dtsi
|
||||
+++ b/arch/arm64/boot/dts/nvidia/tegra186-p3310.dtsi
|
||||
@@ -171,6 +171,7 @@
|
||||
compatible = "atmel,24c02";
|
||||
reg = <0x50>;
|
||||
|
||||
+ vcc-supply = <&vdd_1v8>;
|
||||
address-bits = <8>;
|
||||
page-size = <8>;
|
||||
size = <256>;
|
||||
diff --git a/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi b/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi
|
||||
index 95b1a6e76e6e..f87d2437d11c 100644
|
||||
--- a/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi
|
||||
+++ b/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi
|
||||
@@ -272,6 +272,7 @@
|
||||
compatible = "atmel,24c02";
|
||||
reg = <0x50>;
|
||||
|
||||
+ vcc-supply = <&vdd_1v8>;
|
||||
address-bits = <8>;
|
||||
page-size = <8>;
|
||||
size = <256>;
|
||||
diff --git a/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts b/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts
|
||||
index a3cafe39ba4c..c70a610f8e3a 100644
|
||||
--- a/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts
|
||||
+++ b/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts
|
||||
@@ -85,6 +85,7 @@
|
||||
compatible = "atmel,24c02";
|
||||
reg = <0x57>;
|
||||
|
||||
+ vcc-supply = <&vdd_1v8>;
|
||||
address-bits = <8>;
|
||||
page-size = <8>;
|
||||
size = <256>;
|
||||
diff --git a/arch/arm64/boot/dts/nvidia/tegra210-p3450-0000.dts b/arch/arm64/boot/dts/nvidia/tegra210-p3450-0000.dts
|
||||
index 848afd855da6..21ed1756b889 100644
|
||||
--- a/arch/arm64/boot/dts/nvidia/tegra210-p3450-0000.dts
|
||||
+++ b/arch/arm64/boot/dts/nvidia/tegra210-p3450-0000.dts
|
||||
@@ -114,6 +114,7 @@
|
||||
compatible = "atmel,24c02";
|
||||
reg = <0x50>;
|
||||
|
||||
+ vcc-supply = <&vdd_1v8>;
|
||||
address-bits = <8>;
|
||||
page-size = <8>;
|
||||
size = <256>;
|
||||
@@ -124,6 +125,7 @@
|
||||
compatible = "atmel,24c02";
|
||||
reg = <0x57>;
|
||||
|
||||
+ vcc-supply = <&vdd_1v8>;
|
||||
address-bits = <8>;
|
||||
page-size = <8>;
|
||||
size = <256>;
|
||||
|
||||
From patchwork Mon Feb 24 14:34:35 2020
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Jon Hunter <jonathanh@nvidia.com>
|
||||
X-Patchwork-Id: 1243147
|
||||
Return-Path: <linux-tegra-owner@vger.kernel.org>
|
||||
X-Original-To: incoming@patchwork.ozlabs.org
|
||||
Delivered-To: patchwork-incoming@bilbo.ozlabs.org
|
||||
Authentication-Results: ozlabs.org; spf=none (no SPF record)
|
||||
smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67;
|
||||
helo=vger.kernel.org;
|
||||
envelope-from=linux-tegra-owner@vger.kernel.org;
|
||||
receiver=<UNKNOWN>)
|
||||
Authentication-Results: ozlabs.org;
|
||||
dmarc=pass (p=none dis=none) header.from=nvidia.com
|
||||
Authentication-Results: ozlabs.org; dkim=pass (2048-bit key;
|
||||
unprotected) header.d=nvidia.com header.i=@nvidia.com
|
||||
header.a=rsa-sha256 header.s=n1 header.b=cDDn02CY;
|
||||
dkim-atps=neutral
|
||||
Received: from vger.kernel.org (vger.kernel.org [209.132.180.67])
|
||||
by ozlabs.org (Postfix) with ESMTP id 48R4N43Xmtz9sRQ
|
||||
for <incoming@patchwork.ozlabs.org>;
|
||||
Tue, 25 Feb 2020 01:35:00 +1100 (AEDT)
|
||||
Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
|
||||
id S1727825AbgBXOfA (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);
|
||||
Mon, 24 Feb 2020 09:35:00 -0500
|
||||
Received: from hqnvemgate25.nvidia.com ([216.228.121.64]:8373 "EHLO
|
||||
hqnvemgate25.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
|
||||
with ESMTP id S1727803AbgBXOfA (ORCPT
|
||||
<rfc822;linux-tegra@vger.kernel.org>);
|
||||
Mon, 24 Feb 2020 09:35:00 -0500
|
||||
Received: from hqpgpgate102.nvidia.com (Not Verified[216.228.121.13]) by
|
||||
hqnvemgate25.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA)
|
||||
id <B5e53def00000>; Mon, 24 Feb 2020 06:34:24 -0800
|
||||
Received: from hqmail.nvidia.com ([172.20.161.6])
|
||||
by hqpgpgate102.nvidia.com (PGP Universal service);
|
||||
Mon, 24 Feb 2020 06:34:59 -0800
|
||||
X-PGP-Universal: processed;
|
||||
by hqpgpgate102.nvidia.com on Mon, 24 Feb 2020 06:34:59 -0800
|
||||
Received: from HQMAIL107.nvidia.com (172.20.187.13) by HQMAIL109.nvidia.com
|
||||
(172.20.187.15) with Microsoft SMTP Server (TLS) id 15.0.1473.3;
|
||||
Mon, 24 Feb 2020 14:34:59 +0000
|
||||
Received: from rnnvemgw01.nvidia.com (10.128.109.123) by HQMAIL107.nvidia.com
|
||||
(172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via
|
||||
Frontend Transport; Mon, 24 Feb 2020 14:34:58 +0000
|
||||
Received: from thunderball.nvidia.com (Not Verified[10.21.140.91]) by
|
||||
rnnvemgw01.nvidia.com with Trustwave SEG (v7, 5, 8, 10121)
|
||||
id <B5e53df110000>; Mon, 24 Feb 2020 06:34:58 -0800
|
||||
From: Jon Hunter <jonathanh@nvidia.com>
|
||||
To: Thierry Reding <thierry.reding@gmail.com>
|
||||
CC: <devicetree@vger.kernel.org>, <linux-tegra@vger.kernel.org>,
|
||||
Jon Hunter <jonathanh@nvidia.com>, <stable@vger.kernel.org>
|
||||
Subject: [PATCH 3/4] ARM64: tegra: Fix Tegra186 SOR supply
|
||||
Date: Mon, 24 Feb 2020 14:34:35 +0000
|
||||
Message-ID: <20200224143436.5438-3-jonathanh@nvidia.com>
|
||||
X-Mailer: git-send-email 2.17.1
|
||||
In-Reply-To: <20200224143436.5438-1-jonathanh@nvidia.com>
|
||||
References: <20200224143436.5438-1-jonathanh@nvidia.com>
|
||||
X-NVConfidentiality: public
|
||||
MIME-Version: 1.0
|
||||
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1;
|
||||
t=1582554864; bh=lUBb2WrI059cKuJQ/lQ6zAeA/dUVGu1GIMzWYnFLzuA=;
|
||||
h=X-PGP-Universal:From:To:CC:Subject:Date:Message-ID:X-Mailer:
|
||||
In-Reply-To:References:X-NVConfidentiality:MIME-Version:
|
||||
Content-Type;
|
||||
b=cDDn02CYOMd1x5bK/t7LoZ9fYn59xu8HcaGTMnsTAUfJYYkF5vUqcWjve/5PtksEv
|
||||
+bYF/ELx+KLrbyXQ4LtKHW1V8F2iDHhNR1Rrs+/MUuPuxuOXwTsaYJgLd2A/FWO54O
|
||||
men6fW7E5dJS7lmfJ050sgzZs+TABrFO/dyzOfrekczCVpqlnJEsPvdpFlBbzg125A
|
||||
ZW3sMSe1pW+54pvkCWL7YF/RFnb9zefc0feJmu0Ky+kMH2QOFPSvufzsFBxOr1bUaJ
|
||||
wqzLNTYwY6tWNy7axusq4KLKuCViERaAqSs/UlzzsrOQHJeecBOlH2GkFi8z7JASz2
|
||||
ucv0C5PUNzlTg==
|
||||
Sender: linux-tegra-owner@vger.kernel.org
|
||||
Precedence: bulk
|
||||
List-ID: <linux-tegra.vger.kernel.org>
|
||||
X-Mailing-List: linux-tegra@vger.kernel.org
|
||||
|
||||
The following warning is observed on the Jetson TX2 platform ...
|
||||
|
||||
WARNING KERN tegra-sor 15540000.sor: 15540000.sor supply \
|
||||
vdd-hdmi-dp-pll not found, using dummy regulator
|
||||
|
||||
The problem is caused because the regulator for the SOR device is
|
||||
missing the '-supply' suffix in Device-Tree. Therefore, add the
|
||||
'-supply' suffix to fix this warning.
|
||||
|
||||
Fixes: 3fdfaf8718fa arm64: tegra: Enable DP support on Jetson TX2
|
||||
|
||||
Cc: <stable@vger.kernel.org>
|
||||
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
|
||||
---
|
||||
arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts b/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts
|
||||
index 961b1be0c56b..1af7f9ffb7b6 100644
|
||||
--- a/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts
|
||||
+++ b/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts
|
||||
@@ -278,7 +278,7 @@
|
||||
status = "okay";
|
||||
|
||||
avdd-io-hdmi-dp-supply = <&vdd_hdmi_1v05>;
|
||||
- vdd-hdmi-dp-pll = <&vdd_1v8_ap>;
|
||||
+ vdd-hdmi-dp-pll-supply = <&vdd_1v8_ap>;
|
||||
|
||||
nvidia,dpaux = <&dpaux>;
|
||||
};
|
||||
|
||||
From patchwork Mon Feb 24 14:34:36 2020
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Jon Hunter <jonathanh@nvidia.com>
|
||||
X-Patchwork-Id: 1243148
|
||||
Return-Path: <linux-tegra-owner@vger.kernel.org>
|
||||
X-Original-To: incoming@patchwork.ozlabs.org
|
||||
Delivered-To: patchwork-incoming@bilbo.ozlabs.org
|
||||
Authentication-Results: ozlabs.org; spf=none (no SPF record)
|
||||
smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67;
|
||||
helo=vger.kernel.org;
|
||||
envelope-from=linux-tegra-owner@vger.kernel.org;
|
||||
receiver=<UNKNOWN>)
|
||||
Authentication-Results: ozlabs.org;
|
||||
dmarc=pass (p=none dis=none) header.from=nvidia.com
|
||||
Authentication-Results: ozlabs.org; dkim=pass (2048-bit key;
|
||||
unprotected) header.d=nvidia.com header.i=@nvidia.com
|
||||
header.a=rsa-sha256 header.s=n1 header.b=K9z8jYfd;
|
||||
dkim-atps=neutral
|
||||
Received: from vger.kernel.org (vger.kernel.org [209.132.180.67])
|
||||
by ozlabs.org (Postfix) with ESMTP id 48R4N71cwzz9sRQ
|
||||
for <incoming@patchwork.ozlabs.org>;
|
||||
Tue, 25 Feb 2020 01:35:03 +1100 (AEDT)
|
||||
Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
|
||||
id S1727830AbgBXOfC (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);
|
||||
Mon, 24 Feb 2020 09:35:02 -0500
|
||||
Received: from hqnvemgate24.nvidia.com ([216.228.121.143]:6117 "EHLO
|
||||
hqnvemgate24.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
|
||||
with ESMTP id S1727803AbgBXOfC (ORCPT
|
||||
<rfc822;linux-tegra@vger.kernel.org>);
|
||||
Mon, 24 Feb 2020 09:35:02 -0500
|
||||
Received: from hqpgpgate102.nvidia.com (Not Verified[216.228.121.13]) by
|
||||
hqnvemgate24.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA)
|
||||
id <B5e53deca0000>; Mon, 24 Feb 2020 06:33:46 -0800
|
||||
Received: from hqmail.nvidia.com ([172.20.161.6])
|
||||
by hqpgpgate102.nvidia.com (PGP Universal service);
|
||||
Mon, 24 Feb 2020 06:35:01 -0800
|
||||
X-PGP-Universal: processed;
|
||||
by hqpgpgate102.nvidia.com on Mon, 24 Feb 2020 06:35:01 -0800
|
||||
Received: from HQMAIL111.nvidia.com (172.20.187.18) by HQMAIL111.nvidia.com
|
||||
(172.20.187.18) with Microsoft SMTP Server (TLS) id 15.0.1473.3;
|
||||
Mon, 24 Feb 2020 14:35:01 +0000
|
||||
Received: from rnnvemgw01.nvidia.com (10.128.109.123) by HQMAIL111.nvidia.com
|
||||
(172.20.187.18) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via
|
||||
Frontend Transport; Mon, 24 Feb 2020 14:35:01 +0000
|
||||
Received: from thunderball.nvidia.com (Not Verified[10.21.140.91]) by
|
||||
rnnvemgw01.nvidia.com with Trustwave SEG (v7, 5, 8, 10121)
|
||||
id <B5e53df140006>; Mon, 24 Feb 2020 06:35:01 -0800
|
||||
From: Jon Hunter <jonathanh@nvidia.com>
|
||||
To: Thierry Reding <thierry.reding@gmail.com>
|
||||
CC: <devicetree@vger.kernel.org>, <linux-tegra@vger.kernel.org>,
|
||||
Jon Hunter <jonathanh@nvidia.com>
|
||||
Subject: [PATCH 4/4] ARM64: tegra: Populate LP8557 backlight regulator
|
||||
Date: Mon, 24 Feb 2020 14:34:36 +0000
|
||||
Message-ID: <20200224143436.5438-4-jonathanh@nvidia.com>
|
||||
X-Mailer: git-send-email 2.17.1
|
||||
In-Reply-To: <20200224143436.5438-1-jonathanh@nvidia.com>
|
||||
References: <20200224143436.5438-1-jonathanh@nvidia.com>
|
||||
X-NVConfidentiality: public
|
||||
MIME-Version: 1.0
|
||||
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1;
|
||||
t=1582554826; bh=8MBs7jrK7WrFNE7o6bG0zu41Sicfxu97bK94j6RYNJs=;
|
||||
h=X-PGP-Universal:From:To:CC:Subject:Date:Message-ID:X-Mailer:
|
||||
In-Reply-To:References:X-NVConfidentiality:MIME-Version:
|
||||
Content-Type;
|
||||
b=K9z8jYfdaYDh/XGz5S/vyzBWYN4ZPYT6jkue5E5YiUVIyQgLCoZqfSIh3h9luB+/C
|
||||
DhYTYMkUQRLasUE0VX9dr4Bn0Hxeaw8DjYS7BUq4LqfNwWjsCSsNEhk26FGBEUvhRH
|
||||
i2nMUMk5Ivw78ouR6qNZhI6freANsproJ+yQkA0cC9WXj5mQw4xcKRmL48dccxrX47
|
||||
aQi0BDk3SCzZBAa+4G3yynAGiRNiFuLVWkg/vFMcq1JDp6a2mVs/CS3Qj0/heE9gPn
|
||||
Qr2Wy0Oa6tg3jhxR9hk7qyy5FlkfDAtJOlUt6sPloPS4bhqqDJtbnXZL7lzHDP+sw+
|
||||
RZcjavnvJtCIQ==
|
||||
Sender: linux-tegra-owner@vger.kernel.org
|
||||
Precedence: bulk
|
||||
List-ID: <linux-tegra.vger.kernel.org>
|
||||
X-Mailing-List: linux-tegra@vger.kernel.org
|
||||
|
||||
The following warning is observed on Jetson TX1 platform because the
|
||||
supply regulator is not specified for the backlight.
|
||||
|
||||
WARNING KERN lp855x 0-002c: 0-002c supply power not found, using dummy regulator
|
||||
|
||||
The backlight supply is provided by the 3.3V SYS rail and so add this
|
||||
as the supply for the backlight.
|
||||
|
||||
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
|
||||
---
|
||||
arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts b/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts
|
||||
index c70a610f8e3a..ea0e1efa6973 100644
|
||||
--- a/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts
|
||||
+++ b/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts
|
||||
@@ -56,6 +56,7 @@
|
||||
backlight: backlight@2c {
|
||||
compatible = "ti,lp8557";
|
||||
reg = <0x2c>;
|
||||
+ power-supply = <&vdd_3v3_sys>;
|
||||
|
||||
dev-ctrl = /bits/ 8 <0x80>;
|
||||
init-brt = /bits/ 8 <0xff>;
|
||||
1033
Add-LCD-support-for-Pine64-Pinebook-1080p.patch
Normal file
1033
Add-LCD-support-for-Pine64-Pinebook-1080p.patch
Normal file
File diff suppressed because it is too large
Load diff
1121
Add-support-for-PinePhone-LCD-panel.patch
Normal file
1121
Add-support-for-PinePhone-LCD-panel.patch
Normal file
File diff suppressed because it is too large
Load diff
1360
Add-support-for-the-pine64-Pinebook-Pro.patch
Normal file
1360
Add-support-for-the-pine64-Pinebook-Pro.patch
Normal file
File diff suppressed because it is too large
Load diff
481
PCI-Add-MCFG-quirks-for-Tegra194-host-controllers.patch
Normal file
481
PCI-Add-MCFG-quirks-for-Tegra194-host-controllers.patch
Normal file
|
|
@ -0,0 +1,481 @@
|
|||
From patchwork Fri Jan 10 19:14:59 2020
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Vidya Sagar <vidyas@nvidia.com>
|
||||
X-Patchwork-Id: 1221384
|
||||
Return-Path: <linux-pci-owner@vger.kernel.org>
|
||||
X-Original-To: incoming@patchwork.ozlabs.org
|
||||
Delivered-To: patchwork-incoming@bilbo.ozlabs.org
|
||||
Authentication-Results: ozlabs.org; spf=none (no SPF record)
|
||||
smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67;
|
||||
helo=vger.kernel.org;
|
||||
envelope-from=linux-pci-owner@vger.kernel.org;
|
||||
receiver=<UNKNOWN>)
|
||||
Authentication-Results: ozlabs.org;
|
||||
dmarc=pass (p=none dis=none) header.from=nvidia.com
|
||||
Authentication-Results: ozlabs.org; dkim=pass (2048-bit key;
|
||||
unprotected) header.d=nvidia.com header.i=@nvidia.com
|
||||
header.a=rsa-sha256 header.s=n1 header.b=gf35ja2k;
|
||||
dkim-atps=neutral
|
||||
Received: from vger.kernel.org (vger.kernel.org [209.132.180.67])
|
||||
by ozlabs.org (Postfix) with ESMTP id 47vXkJ2PJMz9sPJ
|
||||
for <incoming@patchwork.ozlabs.org>;
|
||||
Sat, 11 Jan 2020 06:15:20 +1100 (AEDT)
|
||||
Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
|
||||
id S1728167AbgAJTPQ (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);
|
||||
Fri, 10 Jan 2020 14:15:16 -0500
|
||||
Received: from hqnvemgate26.nvidia.com ([216.228.121.65]:1668 "EHLO
|
||||
hqnvemgate26.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
|
||||
with ESMTP id S1727612AbgAJTPQ (ORCPT
|
||||
<rfc822; linux-pci@vger.kernel.org>); Fri, 10 Jan 2020 14:15:16 -0500
|
||||
Received: from hqpgpgate101.nvidia.com (Not Verified[216.228.121.13]) by
|
||||
hqnvemgate26.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA)
|
||||
id <B5e18cd310000>; Fri, 10 Jan 2020 11:14:57 -0800
|
||||
Received: from hqmail.nvidia.com ([172.20.161.6])
|
||||
by hqpgpgate101.nvidia.com (PGP Universal service);
|
||||
Fri, 10 Jan 2020 11:15:15 -0800
|
||||
X-PGP-Universal: processed;
|
||||
by hqpgpgate101.nvidia.com on Fri, 10 Jan 2020 11:15:15 -0800
|
||||
Received: from HQMAIL109.nvidia.com (172.20.187.15) by HQMAIL101.nvidia.com
|
||||
(172.20.187.10) with Microsoft SMTP Server (TLS) id 15.0.1473.3;
|
||||
Fri, 10 Jan 2020 19:15:15 +0000
|
||||
Received: from HQMAIL107.nvidia.com (172.20.187.13) by HQMAIL109.nvidia.com
|
||||
(172.20.187.15) with Microsoft SMTP Server (TLS) id 15.0.1473.3;
|
||||
Fri, 10 Jan 2020 19:15:14 +0000
|
||||
Received: from rnnvemgw01.nvidia.com (10.128.109.123) by HQMAIL107.nvidia.com
|
||||
(172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via
|
||||
Frontend Transport; Fri, 10 Jan 2020 19:15:14 +0000
|
||||
Received: from vidyas-desktop.nvidia.com (Not Verified[10.24.37.48]) by
|
||||
rnnvemgw01.nvidia.com with Trustwave SEG (v7, 5, 8, 10121)
|
||||
id <B5e18cd3e0001>; Fri, 10 Jan 2020 11:15:14 -0800
|
||||
From: Vidya Sagar <vidyas@nvidia.com>
|
||||
To: <bhelgaas@google.com>, <lorenzo.pieralisi@arm.com>,
|
||||
<rjw@rjwysocki.net>, <lenb@kernel.org>, <andrew.murray@arm.com>,
|
||||
<treding@nvidia.com>, <jonathanh@nvidia.com>
|
||||
CC: <linux-tegra@vger.kernel.org>, <linux-pci@vger.kernel.org>,
|
||||
<linux-acpi@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
|
||||
<kthota@nvidia.com>, <mmaddireddy@nvidia.com>, <vidyas@nvidia.com>,
|
||||
<sagar.tv@gmail.com>
|
||||
Subject: [PATCH V3 1/2] arm64: tegra: Re-order PCIe aperture mappings to
|
||||
support ACPI boot
|
||||
Date: Sat, 11 Jan 2020 00:44:59 +0530
|
||||
Message-ID: <20200110191500.9538-2-vidyas@nvidia.com>
|
||||
X-Mailer: git-send-email 2.17.1
|
||||
In-Reply-To: <20200110191500.9538-1-vidyas@nvidia.com>
|
||||
References: <20200106082709.14370-1-vidyas@nvidia.com>
|
||||
<20200110191500.9538-1-vidyas@nvidia.com>
|
||||
X-NVConfidentiality: public
|
||||
MIME-Version: 1.0
|
||||
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1;
|
||||
t=1578683697; bh=A9295dTyR+j2yr8EqSviqtTgED4nGyVgvOv0oWR2ueU=;
|
||||
h=X-PGP-Universal:From:To:CC:Subject:Date:Message-ID:X-Mailer:
|
||||
In-Reply-To:References:X-NVConfidentiality:MIME-Version:
|
||||
Content-Type;
|
||||
b=gf35ja2k7JnAqX+jyF1OxPVsYL5Fk4U+zYrMvTudBnjv0lLjB+7vnkXuO5FnSX28a
|
||||
o2Mvk9yks+a7NYLZkVfmKCXKbeDNoGPlPSy+g8CAyeAd5u7leSGONsy5awV83vmud7
|
||||
/KuuExw/Ko4JihAJdQ57/4EaaohgPWUNbodkmI5Wo0e7qyfgf5PvkAkwe1PdtgEKls
|
||||
t9tsBwoqjGJn5WWPiQMaUZ8OHdSvPrUDuyKEFPjjr9IpczNvMzJE8SyHDZci42N+s+
|
||||
f0iCjfLLhugetglYqrGi5j8eknYwfvMIV+vnkZj0dSmiS70Y1G31dVfgR/s3ueHnRy
|
||||
jBNjNRTUtey9w==
|
||||
Sender: linux-pci-owner@vger.kernel.org
|
||||
Precedence: bulk
|
||||
List-ID: <linux-pci.vger.kernel.org>
|
||||
X-Mailing-List: linux-pci@vger.kernel.org
|
||||
|
||||
Re-order Tegra194's PCIe aperture mappings to have IO window moved to
|
||||
64-bit aperture and have the entire 32-bit aperture used for accessing
|
||||
the configuration space. This makes it to use the entire 32MB of the 32-bit
|
||||
aperture for ECAM purpose while booting through ACPI.
|
||||
|
||||
Signed-off-by: Vidya Sagar <vidyas@nvidia.com>
|
||||
---
|
||||
V3:
|
||||
* New change in this series
|
||||
|
||||
arch/arm64/boot/dts/nvidia/tegra194.dtsi | 36 ++++++++++++------------
|
||||
1 file changed, 18 insertions(+), 18 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/nvidia/tegra194.dtsi b/arch/arm64/boot/dts/nvidia/tegra194.dtsi
|
||||
index ccac43be12ac..5d790ec5bdef 100644
|
||||
--- a/arch/arm64/boot/dts/nvidia/tegra194.dtsi
|
||||
+++ b/arch/arm64/boot/dts/nvidia/tegra194.dtsi
|
||||
@@ -1247,9 +1247,9 @@
|
||||
nvidia,aspm-l0s-entrance-latency-us = <3>;
|
||||
|
||||
bus-range = <0x0 0xff>;
|
||||
- ranges = <0x81000000 0x0 0x30100000 0x0 0x30100000 0x0 0x00100000 /* downstream I/O (1MB) */
|
||||
- 0xc2000000 0x12 0x00000000 0x12 0x00000000 0x0 0x30000000 /* prefetchable memory (768MB) */
|
||||
- 0x82000000 0x0 0x40000000 0x12 0x30000000 0x0 0x10000000>; /* non-prefetchable memory (256MB) */
|
||||
+ ranges = <0xc2000000 0x12 0x00000000 0x12 0x00000000 0x0 0x30000000 /* prefetchable memory (768MB) */
|
||||
+ 0x82000000 0x00 0x40000000 0x12 0x30000000 0x0 0x0fff0000 /* non-prefetchable memory (256MB - 64KB) */
|
||||
+ 0x81000000 0x00 0x00000000 0x12 0x3fff0000 0x0 0x00010000>; /* downstream I/O (64KB) */
|
||||
};
|
||||
|
||||
pcie@14120000 {
|
||||
@@ -1292,9 +1292,9 @@
|
||||
nvidia,aspm-l0s-entrance-latency-us = <3>;
|
||||
|
||||
bus-range = <0x0 0xff>;
|
||||
- ranges = <0x81000000 0x0 0x32100000 0x0 0x32100000 0x0 0x00100000 /* downstream I/O (1MB) */
|
||||
- 0xc2000000 0x12 0x40000000 0x12 0x40000000 0x0 0x30000000 /* prefetchable memory (768MB) */
|
||||
- 0x82000000 0x0 0x40000000 0x12 0x70000000 0x0 0x10000000>; /* non-prefetchable memory (256MB) */
|
||||
+ ranges = <0xc2000000 0x12 0x40000000 0x12 0x40000000 0x0 0x30000000 /* prefetchable memory (768MB) */
|
||||
+ 0x82000000 0x00 0x40000000 0x12 0x70000000 0x0 0x0fff0000 /* non-prefetchable memory (256MB - 64KB) */
|
||||
+ 0x81000000 0x00 0x00000000 0x12 0x7fff0000 0x0 0x00010000>; /* downstream I/O (64KB) */
|
||||
};
|
||||
|
||||
pcie@14140000 {
|
||||
@@ -1337,9 +1337,9 @@
|
||||
nvidia,aspm-l0s-entrance-latency-us = <3>;
|
||||
|
||||
bus-range = <0x0 0xff>;
|
||||
- ranges = <0x81000000 0x0 0x34100000 0x0 0x34100000 0x0 0x00100000 /* downstream I/O (1MB) */
|
||||
- 0xc2000000 0x12 0x80000000 0x12 0x80000000 0x0 0x30000000 /* prefetchable memory (768MB) */
|
||||
- 0x82000000 0x0 0x40000000 0x12 0xb0000000 0x0 0x10000000>; /* non-prefetchable memory (256MB) */
|
||||
+ ranges = <0xc2000000 0x12 0x80000000 0x12 0x80000000 0x0 0x30000000 /* prefetchable memory (768MB) */
|
||||
+ 0x82000000 0x00 0x40000000 0x12 0xb0000000 0x0 0x0fff0000 /* non-prefetchable memory (256MB - 64KB) */
|
||||
+ 0x81000000 0x00 0x00000000 0x12 0xbfff0000 0x0 0x00010000>; /* downstream I/O (64KB) */
|
||||
};
|
||||
|
||||
pcie@14160000 {
|
||||
@@ -1382,9 +1382,9 @@
|
||||
nvidia,aspm-l0s-entrance-latency-us = <3>;
|
||||
|
||||
bus-range = <0x0 0xff>;
|
||||
- ranges = <0x81000000 0x0 0x36100000 0x0 0x36100000 0x0 0x00100000 /* downstream I/O (1MB) */
|
||||
- 0xc2000000 0x14 0x00000000 0x14 0x00000000 0x3 0x40000000 /* prefetchable memory (13GB) */
|
||||
- 0x82000000 0x0 0x40000000 0x17 0x40000000 0x0 0xc0000000>; /* non-prefetchable memory (3GB) */
|
||||
+ ranges = <0xc2000000 0x14 0x00000000 0x14 0x00000000 0x3 0x40000000 /* prefetchable memory (13GB) */
|
||||
+ 0x82000000 0x00 0x40000000 0x17 0x40000000 0x0 0xbfff0000 /* non-prefetchable memory (3GB - 64KB) */
|
||||
+ 0x81000000 0x00 0x00000000 0x17 0xffff0000 0x0 0x00010000>; /* downstream I/O (64KB) */
|
||||
};
|
||||
|
||||
pcie@14180000 {
|
||||
@@ -1427,9 +1427,9 @@
|
||||
nvidia,aspm-l0s-entrance-latency-us = <3>;
|
||||
|
||||
bus-range = <0x0 0xff>;
|
||||
- ranges = <0x81000000 0x0 0x38100000 0x0 0x38100000 0x0 0x00100000 /* downstream I/O (1MB) */
|
||||
- 0xc2000000 0x18 0x00000000 0x18 0x00000000 0x3 0x40000000 /* prefetchable memory (13GB) */
|
||||
- 0x82000000 0x0 0x40000000 0x1b 0x40000000 0x0 0xc0000000>; /* non-prefetchable memory (3GB) */
|
||||
+ ranges = <0xc2000000 0x18 0x00000000 0x18 0x00000000 0x3 0x40000000 /* prefetchable memory (13GB) */
|
||||
+ 0x82000000 0x00 0x40000000 0x1b 0x40000000 0x0 0xbfff0000 /* non-prefetchable memory (3GB - 64KB) */
|
||||
+ 0x81000000 0x00 0x00000000 0x1b 0xffff0000 0x0 0x00010000>; /* downstream I/O (64KB) */
|
||||
};
|
||||
|
||||
pcie@141a0000 {
|
||||
@@ -1476,9 +1476,9 @@
|
||||
nvidia,aspm-l0s-entrance-latency-us = <3>;
|
||||
|
||||
bus-range = <0x0 0xff>;
|
||||
- ranges = <0x81000000 0x0 0x3a100000 0x0 0x3a100000 0x0 0x00100000 /* downstream I/O (1MB) */
|
||||
- 0xc2000000 0x1c 0x00000000 0x1c 0x00000000 0x3 0x40000000 /* prefetchable memory (13GB) */
|
||||
- 0x82000000 0x0 0x40000000 0x1f 0x40000000 0x0 0xc0000000>; /* non-prefetchable memory (3GB) */
|
||||
+ ranges = <0xc2000000 0x1c 0x00000000 0x1c 0x00000000 0x3 0x40000000 /* prefetchable memory (13GB) */
|
||||
+ 0x82000000 0x00 0x40000000 0x1f 0x40000000 0x0 0xbfff0000 /* non-prefetchable memory (3GB - 64KB) */
|
||||
+ 0x81000000 0x00 0x00000000 0x1f 0xffff0000 0x0 0x00010000>; /* downstream I/O (64KB) */
|
||||
};
|
||||
|
||||
pcie_ep@14160000 {
|
||||
|
||||
From patchwork Fri Jan 10 19:15:00 2020
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Vidya Sagar <vidyas@nvidia.com>
|
||||
X-Patchwork-Id: 1221385
|
||||
Return-Path: <linux-pci-owner@vger.kernel.org>
|
||||
X-Original-To: incoming@patchwork.ozlabs.org
|
||||
Delivered-To: patchwork-incoming@bilbo.ozlabs.org
|
||||
Authentication-Results: ozlabs.org; spf=none (no SPF record)
|
||||
smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67;
|
||||
helo=vger.kernel.org;
|
||||
envelope-from=linux-pci-owner@vger.kernel.org;
|
||||
receiver=<UNKNOWN>)
|
||||
Authentication-Results: ozlabs.org;
|
||||
dmarc=pass (p=none dis=none) header.from=nvidia.com
|
||||
Authentication-Results: ozlabs.org; dkim=pass (2048-bit key;
|
||||
unprotected) header.d=nvidia.com header.i=@nvidia.com
|
||||
header.a=rsa-sha256 header.s=n1 header.b=KDh6KAfT;
|
||||
dkim-atps=neutral
|
||||
Received: from vger.kernel.org (vger.kernel.org [209.132.180.67])
|
||||
by ozlabs.org (Postfix) with ESMTP id 47vXkS04dtz9sR0
|
||||
for <incoming@patchwork.ozlabs.org>;
|
||||
Sat, 11 Jan 2020 06:15:28 +1100 (AEDT)
|
||||
Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
|
||||
id S1728451AbgAJTPX (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);
|
||||
Fri, 10 Jan 2020 14:15:23 -0500
|
||||
Received: from hqnvemgate24.nvidia.com ([216.228.121.143]:9177 "EHLO
|
||||
hqnvemgate24.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
|
||||
with ESMTP id S1727612AbgAJTPX (ORCPT
|
||||
<rfc822; linux-pci@vger.kernel.org>); Fri, 10 Jan 2020 14:15:23 -0500
|
||||
Received: from hqpgpgate101.nvidia.com (Not Verified[216.228.121.13]) by
|
||||
hqnvemgate24.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA)
|
||||
id <B5e18cd160001>; Fri, 10 Jan 2020 11:14:30 -0800
|
||||
Received: from hqmail.nvidia.com ([172.20.161.6])
|
||||
by hqpgpgate101.nvidia.com (PGP Universal service);
|
||||
Fri, 10 Jan 2020 11:15:21 -0800
|
||||
X-PGP-Universal: processed;
|
||||
by hqpgpgate101.nvidia.com on Fri, 10 Jan 2020 11:15:21 -0800
|
||||
Received: from HQMAIL109.nvidia.com (172.20.187.15) by HQMAIL111.nvidia.com
|
||||
(172.20.187.18) with Microsoft SMTP Server (TLS) id 15.0.1473.3;
|
||||
Fri, 10 Jan 2020 19:15:21 +0000
|
||||
Received: from HQMAIL109.nvidia.com (172.20.187.15) by HQMAIL109.nvidia.com
|
||||
(172.20.187.15) with Microsoft SMTP Server (TLS) id 15.0.1473.3;
|
||||
Fri, 10 Jan 2020 19:15:21 +0000
|
||||
Received: from rnnvemgw01.nvidia.com (10.128.109.123) by HQMAIL109.nvidia.com
|
||||
(172.20.187.15) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via
|
||||
Frontend Transport; Fri, 10 Jan 2020 19:15:20 +0000
|
||||
Received: from vidyas-desktop.nvidia.com (Not Verified[10.24.37.48]) by
|
||||
rnnvemgw01.nvidia.com with Trustwave SEG (v7, 5, 8, 10121)
|
||||
id <B5e18cd440002>; Fri, 10 Jan 2020 11:15:20 -0800
|
||||
From: Vidya Sagar <vidyas@nvidia.com>
|
||||
To: <bhelgaas@google.com>, <lorenzo.pieralisi@arm.com>,
|
||||
<rjw@rjwysocki.net>, <lenb@kernel.org>, <andrew.murray@arm.com>,
|
||||
<treding@nvidia.com>, <jonathanh@nvidia.com>
|
||||
CC: <linux-tegra@vger.kernel.org>, <linux-pci@vger.kernel.org>,
|
||||
<linux-acpi@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
|
||||
<kthota@nvidia.com>, <mmaddireddy@nvidia.com>, <vidyas@nvidia.com>,
|
||||
<sagar.tv@gmail.com>
|
||||
Subject: [PATCH V3 2/2] PCI: Add MCFG quirks for Tegra194 host controllers
|
||||
Date: Sat, 11 Jan 2020 00:45:00 +0530
|
||||
Message-ID: <20200110191500.9538-3-vidyas@nvidia.com>
|
||||
X-Mailer: git-send-email 2.17.1
|
||||
In-Reply-To: <20200110191500.9538-1-vidyas@nvidia.com>
|
||||
References: <20200106082709.14370-1-vidyas@nvidia.com>
|
||||
<20200110191500.9538-1-vidyas@nvidia.com>
|
||||
X-NVConfidentiality: public
|
||||
MIME-Version: 1.0
|
||||
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1;
|
||||
t=1578683671; bh=6wJT/II+S2upRtJe41MS3kcnFzRRB57EIPkoU3txnnc=;
|
||||
h=X-PGP-Universal:From:To:CC:Subject:Date:Message-ID:X-Mailer:
|
||||
In-Reply-To:References:X-NVConfidentiality:MIME-Version:
|
||||
Content-Type;
|
||||
b=KDh6KAfT+xBJE0n0yRibTvav8qocX0wdxtjjCMNH+VNrt1Gvwgt8htMQvTCpi08Hz
|
||||
OLS6piubtsXb2Fk+J0rDcwmB2QM0YMKe6eA3DQkuJTPhl6PRxtvXdAYPfl/Z2pvG38
|
||||
dq6SIor6Yw4e76ncsvt69w6UXoLZHF7AywICq0jGnmPjWoKDnjID3qKSj5/u7tE+/L
|
||||
6hJUZ2QQebXRI17dRdfleyir+rRCS0wMl9tVNiAHplY3Wlxw895LJqvmVRZDVA+kg5
|
||||
8DPKJY2JbazS6P4QcywESwuhDfejJGaJUz+1/6oSiHBMCI5OhfhFZ/lyTf0iZycdTQ
|
||||
gnZUMkPu2QZOg==
|
||||
Sender: linux-pci-owner@vger.kernel.org
|
||||
Precedence: bulk
|
||||
List-ID: <linux-pci.vger.kernel.org>
|
||||
X-Mailing-List: linux-pci@vger.kernel.org
|
||||
|
||||
The PCIe controller in Tegra194 SoC is not completely ECAM-compliant.
|
||||
With the current hardware design limitations in place, ECAM can be enabled
|
||||
only for one controller (C5 controller to be precise) with bus numbers
|
||||
starting from 160 instead of 0. A different approach is taken to avoid this
|
||||
abnormal way of enabling ECAM for just one controller but to enable
|
||||
configuration space access for all the other controllers. In this approach,
|
||||
ops are added through MCFG quirk mechanism which access the configuration
|
||||
spaces by dynamically programming iATU (internal AddressTranslation Unit)
|
||||
to generate respective configuration accesses just like the way it is
|
||||
done in DesignWare core sub-system.
|
||||
|
||||
Signed-off-by: Vidya Sagar <vidyas@nvidia.com>
|
||||
Reported-by: kbuild test robot <lkp@intel.com>
|
||||
Acked-by: Thierry Reding <treding@nvidia.com>
|
||||
---
|
||||
V3:
|
||||
* Removed MCFG address hardcoding in pci_mcfg.c file
|
||||
* Started using 'dbi_base' for accessing root port's own config space
|
||||
* and using 'config_base' for accessing config space of downstream hierarchy
|
||||
|
||||
V2:
|
||||
* Fixed build issues reported by kbuild test bot
|
||||
|
||||
drivers/acpi/pci_mcfg.c | 7 ++
|
||||
drivers/pci/controller/dwc/Kconfig | 3 +-
|
||||
drivers/pci/controller/dwc/Makefile | 2 +-
|
||||
drivers/pci/controller/dwc/pcie-tegra194.c | 102 +++++++++++++++++++++
|
||||
include/linux/pci-ecam.h | 1 +
|
||||
5 files changed, 113 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/acpi/pci_mcfg.c b/drivers/acpi/pci_mcfg.c
|
||||
index 6b347d9920cc..707181408173 100644
|
||||
--- a/drivers/acpi/pci_mcfg.c
|
||||
+++ b/drivers/acpi/pci_mcfg.c
|
||||
@@ -116,6 +116,13 @@ static struct mcfg_fixup mcfg_quirks[] = {
|
||||
THUNDER_ECAM_QUIRK(2, 12),
|
||||
THUNDER_ECAM_QUIRK(2, 13),
|
||||
|
||||
+ { "NVIDIA", "TEGRA194", 1, 0, MCFG_BUS_ANY, &tegra194_pcie_ops},
|
||||
+ { "NVIDIA", "TEGRA194", 1, 1, MCFG_BUS_ANY, &tegra194_pcie_ops},
|
||||
+ { "NVIDIA", "TEGRA194", 1, 2, MCFG_BUS_ANY, &tegra194_pcie_ops},
|
||||
+ { "NVIDIA", "TEGRA194", 1, 3, MCFG_BUS_ANY, &tegra194_pcie_ops},
|
||||
+ { "NVIDIA", "TEGRA194", 1, 4, MCFG_BUS_ANY, &tegra194_pcie_ops},
|
||||
+ { "NVIDIA", "TEGRA194", 1, 5, MCFG_BUS_ANY, &tegra194_pcie_ops},
|
||||
+
|
||||
#define XGENE_V1_ECAM_MCFG(rev, seg) \
|
||||
{"APM ", "XGENE ", rev, seg, MCFG_BUS_ANY, \
|
||||
&xgene_v1_pcie_ecam_ops }
|
||||
diff --git a/drivers/pci/controller/dwc/Kconfig b/drivers/pci/controller/dwc/Kconfig
|
||||
index 0830dfcfa43a..f5b9e75aceed 100644
|
||||
--- a/drivers/pci/controller/dwc/Kconfig
|
||||
+++ b/drivers/pci/controller/dwc/Kconfig
|
||||
@@ -255,7 +255,8 @@ config PCIE_TEGRA194
|
||||
select PHY_TEGRA194_P2U
|
||||
help
|
||||
Say Y here if you want support for DesignWare core based PCIe host
|
||||
- controller found in NVIDIA Tegra194 SoC.
|
||||
+ controller found in NVIDIA Tegra194 SoC. ACPI platforms with Tegra194
|
||||
+ don't need to enable this.
|
||||
|
||||
config PCIE_UNIPHIER
|
||||
bool "Socionext UniPhier PCIe controllers"
|
||||
diff --git a/drivers/pci/controller/dwc/Makefile b/drivers/pci/controller/dwc/Makefile
|
||||
index 8a637cfcf6e9..76a6c52b8500 100644
|
||||
--- a/drivers/pci/controller/dwc/Makefile
|
||||
+++ b/drivers/pci/controller/dwc/Makefile
|
||||
@@ -17,7 +17,6 @@ obj-$(CONFIG_PCIE_INTEL_GW) += pcie-intel-gw.o
|
||||
obj-$(CONFIG_PCIE_KIRIN) += pcie-kirin.o
|
||||
obj-$(CONFIG_PCIE_HISI_STB) += pcie-histb.o
|
||||
obj-$(CONFIG_PCI_MESON) += pci-meson.o
|
||||
-obj-$(CONFIG_PCIE_TEGRA194) += pcie-tegra194.o
|
||||
obj-$(CONFIG_PCIE_UNIPHIER) += pcie-uniphier.o
|
||||
|
||||
# The following drivers are for devices that use the generic ACPI
|
||||
@@ -33,4 +32,5 @@ obj-$(CONFIG_PCIE_UNIPHIER) += pcie-uniphier.o
|
||||
ifdef CONFIG_PCI
|
||||
obj-$(CONFIG_ARM64) += pcie-al.o
|
||||
obj-$(CONFIG_ARM64) += pcie-hisi.o
|
||||
+obj-$(CONFIG_ARM64) += pcie-tegra194.o
|
||||
endif
|
||||
diff --git a/drivers/pci/controller/dwc/pcie-tegra194.c b/drivers/pci/controller/dwc/pcie-tegra194.c
|
||||
index cbe95f0ea0ca..660f55caa8be 100644
|
||||
--- a/drivers/pci/controller/dwc/pcie-tegra194.c
|
||||
+++ b/drivers/pci/controller/dwc/pcie-tegra194.c
|
||||
@@ -21,6 +21,8 @@
|
||||
#include <linux/of_irq.h>
|
||||
#include <linux/of_pci.h>
|
||||
#include <linux/pci.h>
|
||||
+#include <linux/pci-acpi.h>
|
||||
+#include <linux/pci-ecam.h>
|
||||
#include <linux/phy/phy.h>
|
||||
#include <linux/pinctrl/consumer.h>
|
||||
#include <linux/platform_device.h>
|
||||
@@ -285,6 +287,103 @@ struct tegra_pcie_dw {
|
||||
struct dentry *debugfs;
|
||||
};
|
||||
|
||||
+#if defined(CONFIG_ACPI) && defined(CONFIG_PCI_QUIRKS)
|
||||
+struct tegra194_pcie_acpi {
|
||||
+ void __iomem *config_base;
|
||||
+ void __iomem *iatu_base;
|
||||
+ void __iomem *dbi_base;
|
||||
+};
|
||||
+
|
||||
+static int tegra194_acpi_init(struct pci_config_window *cfg)
|
||||
+{
|
||||
+ struct device *dev = cfg->parent;
|
||||
+ struct tegra194_pcie_acpi *pcie;
|
||||
+
|
||||
+ pcie = devm_kzalloc(dev, sizeof(*pcie), GFP_KERNEL);
|
||||
+ if (!pcie)
|
||||
+ return -ENOMEM;
|
||||
+
|
||||
+ pcie->config_base = cfg->win;
|
||||
+ pcie->iatu_base = cfg->win + SZ_256K;
|
||||
+ pcie->dbi_base = cfg->win + SZ_512K;
|
||||
+ cfg->priv = pcie;
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static inline void atu_reg_write(struct tegra194_pcie_acpi *pcie, int index,
|
||||
+ u32 val, u32 reg)
|
||||
+{
|
||||
+ u32 offset = PCIE_GET_ATU_OUTB_UNR_REG_OFFSET(index);
|
||||
+
|
||||
+ writel(val, pcie->iatu_base + offset + reg);
|
||||
+}
|
||||
+
|
||||
+static void program_outbound_atu(struct tegra194_pcie_acpi *pcie, int index,
|
||||
+ int type, u64 cpu_addr, u64 pci_addr, u64 size)
|
||||
+{
|
||||
+ atu_reg_write(pcie, index, lower_32_bits(cpu_addr),
|
||||
+ PCIE_ATU_LOWER_BASE);
|
||||
+ atu_reg_write(pcie, index, upper_32_bits(cpu_addr),
|
||||
+ PCIE_ATU_UPPER_BASE);
|
||||
+ atu_reg_write(pcie, index, lower_32_bits(pci_addr),
|
||||
+ PCIE_ATU_LOWER_TARGET);
|
||||
+ atu_reg_write(pcie, index, lower_32_bits(cpu_addr + size - 1),
|
||||
+ PCIE_ATU_LIMIT);
|
||||
+ atu_reg_write(pcie, index, upper_32_bits(pci_addr),
|
||||
+ PCIE_ATU_UPPER_TARGET);
|
||||
+ atu_reg_write(pcie, index, type, PCIE_ATU_CR1);
|
||||
+ atu_reg_write(pcie, index, PCIE_ATU_ENABLE, PCIE_ATU_CR2);
|
||||
+}
|
||||
+
|
||||
+static void __iomem *tegra194_map_bus(struct pci_bus *bus,
|
||||
+ unsigned int devfn, int where)
|
||||
+{
|
||||
+ struct pci_config_window *cfg = bus->sysdata;
|
||||
+ struct tegra194_pcie_acpi *pcie = cfg->priv;
|
||||
+ u32 busdev;
|
||||
+ int type;
|
||||
+
|
||||
+ if (bus->number < cfg->busr.start || bus->number > cfg->busr.end)
|
||||
+ return NULL;
|
||||
+
|
||||
+ if (bus->number == cfg->busr.start) {
|
||||
+ if (PCI_SLOT(devfn) == 0)
|
||||
+ return pcie->dbi_base + where;
|
||||
+ else
|
||||
+ return NULL;
|
||||
+ }
|
||||
+
|
||||
+ busdev = PCIE_ATU_BUS(bus->number) | PCIE_ATU_DEV(PCI_SLOT(devfn)) |
|
||||
+ PCIE_ATU_FUNC(PCI_FUNC(devfn));
|
||||
+
|
||||
+ if (bus->parent->number == cfg->busr.start) {
|
||||
+ if (PCI_SLOT(devfn) == 0)
|
||||
+ type = PCIE_ATU_TYPE_CFG0;
|
||||
+ else
|
||||
+ return NULL;
|
||||
+ } else {
|
||||
+ type = PCIE_ATU_TYPE_CFG1;
|
||||
+ }
|
||||
+
|
||||
+ program_outbound_atu(pcie, PCIE_ATU_REGION_INDEX0, type,
|
||||
+ cfg->res.start, busdev, SZ_256K);
|
||||
+ return (void __iomem *)(pcie->config_base + where);
|
||||
+}
|
||||
+
|
||||
+struct pci_ecam_ops tegra194_pcie_ops = {
|
||||
+ .bus_shift = 20,
|
||||
+ .init = tegra194_acpi_init,
|
||||
+ .pci_ops = {
|
||||
+ .map_bus = tegra194_map_bus,
|
||||
+ .read = pci_generic_config_read,
|
||||
+ .write = pci_generic_config_write,
|
||||
+ }
|
||||
+};
|
||||
+#endif /* defined(CONFIG_ACPI) && defined(CONFIG_PCI_QUIRKS) */
|
||||
+
|
||||
+#ifdef CONFIG_PCIE_TEGRA194
|
||||
+
|
||||
static inline struct tegra_pcie_dw *to_tegra_pcie(struct dw_pcie *pci)
|
||||
{
|
||||
return container_of(pci, struct tegra_pcie_dw, pci);
|
||||
@@ -1728,3 +1827,6 @@ MODULE_DEVICE_TABLE(of, tegra_pcie_dw_of_match);
|
||||
MODULE_AUTHOR("Vidya Sagar <vidyas@nvidia.com>");
|
||||
MODULE_DESCRIPTION("NVIDIA PCIe host controller driver");
|
||||
MODULE_LICENSE("GPL v2");
|
||||
+
|
||||
+#endif /* CONFIG_PCIE_TEGRA194 */
|
||||
+
|
||||
diff --git a/include/linux/pci-ecam.h b/include/linux/pci-ecam.h
|
||||
index a73164c85e78..6156140dcbb6 100644
|
||||
--- a/include/linux/pci-ecam.h
|
||||
+++ b/include/linux/pci-ecam.h
|
||||
@@ -57,6 +57,7 @@ extern struct pci_ecam_ops pci_thunder_ecam_ops; /* Cavium ThunderX 1.x */
|
||||
extern struct pci_ecam_ops xgene_v1_pcie_ecam_ops; /* APM X-Gene PCIe v1 */
|
||||
extern struct pci_ecam_ops xgene_v2_pcie_ecam_ops; /* APM X-Gene PCIe v2.x */
|
||||
extern struct pci_ecam_ops al_pcie_ops; /* Amazon Annapurna Labs PCIe */
|
||||
+extern struct pci_ecam_ops tegra194_pcie_ops; /* Tegra194 PCIe */
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_PCI_HOST_COMMON
|
||||
File diff suppressed because it is too large
Load diff
671
USB-pci-quirks-Add-Raspberry-Pi-4-quirk.patch
Normal file
671
USB-pci-quirks-Add-Raspberry-Pi-4-quirk.patch
Normal file
|
|
@ -0,0 +1,671 @@
|
|||
From patchwork Tue Mar 24 18:28:09 2020
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
X-Patchwork-Id: 11456187
|
||||
Return-Path:
|
||||
<SRS0=7UWt=5J=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
|
||||
Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
|
||||
[172.30.200.123])
|
||||
by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 884BD1667
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Tue, 24 Mar 2020 18:29:06 +0000 (UTC)
|
||||
Received: from bombadil.infradead.org (bombadil.infradead.org
|
||||
[198.137.202.133])
|
||||
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
|
||||
(No client certificate requested)
|
||||
by mail.kernel.org (Postfix) with ESMTPS id 64FF0206F6
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Tue, 24 Mar 2020 18:29:06 +0000 (UTC)
|
||||
Authentication-Results: mail.kernel.org;
|
||||
dkim=pass (2048-bit key) header.d=lists.infradead.org
|
||||
header.i=@lists.infradead.org header.b="G3ed3Qzw"
|
||||
DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 64FF0206F6
|
||||
Authentication-Results: mail.kernel.org;
|
||||
dmarc=none (p=none dis=none) header.from=suse.de
|
||||
Authentication-Results: mail.kernel.org;
|
||||
spf=none
|
||||
smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
|
||||
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
|
||||
d=lists.infradead.org; s=bombadil.20170209; h=Sender:
|
||||
Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
|
||||
List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:
|
||||
Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description:
|
||||
Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
|
||||
List-Owner; bh=ZW8pFtwlUj3q7GZJotB4Rgjtfp9gMy+l74jJQcTab0w=; b=G3ed3QzwnvX3MD
|
||||
lHn7XDGcdKtGCuuX/Xhmoz/5j7Rgw1hOz3+8tGJaH+BigLM7Kfms9kB2c3chHrDwTH5SW0LzlU8el
|
||||
hxpbcJnVFy3VLdCMUrvQUXY0SmOcoSSN3NK032HxlqAKSa5HPE3dTBWheiUGKlZ6c3A9dGItYzD6I
|
||||
M4WO+9b0wHM1KMMrsyVo51ysdAFEXtSym1xNN+pW/tE9ak+/bFHxMW1XcMNrVwo9R43U5JSvmcC0M
|
||||
OKBYNAYFpFWx3n3wvAaFQkBEkmH3QmPBd0aiE8UTGk6CY0VHwjbVcE7u7daksOPLrZgsRgqmLRatE
|
||||
98WbgEKpzDu7mgvLn5zw==;
|
||||
Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
|
||||
by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
|
||||
id 1jGoIP-0002bD-LX; Tue, 24 Mar 2020 18:29:01 +0000
|
||||
Received: from mx2.suse.de ([195.135.220.15])
|
||||
by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
|
||||
id 1jGoHq-00024O-PS; Tue, 24 Mar 2020 18:28:29 +0000
|
||||
X-Virus-Scanned: by amavisd-new at test-mx.suse.de
|
||||
Received: from relay2.suse.de (unknown [195.135.220.254])
|
||||
by mx2.suse.de (Postfix) with ESMTP id 4A537ABD1;
|
||||
Tue, 24 Mar 2020 18:28:22 +0000 (UTC)
|
||||
From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
To: linux-kernel@vger.kernel.org, Florian Fainelli <f.fainelli@gmail.com>,
|
||||
Ray Jui <rjui@broadcom.com>, Scott Branden <sbranden@broadcom.com>,
|
||||
bcm-kernel-feedback-list@broadcom.com,
|
||||
Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
Subject: [PATCH v6 1/4] soc: bcm2835: Sync xHCI reset firmware property with
|
||||
downstream
|
||||
Date: Tue, 24 Mar 2020 19:28:09 +0100
|
||||
Message-Id: <20200324182812.20420-2-nsaenzjulienne@suse.de>
|
||||
X-Mailer: git-send-email 2.25.1
|
||||
In-Reply-To: <20200324182812.20420-1-nsaenzjulienne@suse.de>
|
||||
References: <20200324182812.20420-1-nsaenzjulienne@suse.de>
|
||||
MIME-Version: 1.0
|
||||
X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
|
||||
X-CRM114-CacheID: sfid-20200324_112826_965603_11D899C2
|
||||
X-CRM114-Status: GOOD ( 13.71 )
|
||||
X-Spam-Score: -2.3 (--)
|
||||
X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
|
||||
Content analysis details: (-2.3 points)
|
||||
pts rule name description
|
||||
---- ----------------------
|
||||
--------------------------------------------------
|
||||
0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3)
|
||||
[195.135.220.15 listed in wl.mailspike.net]
|
||||
-2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/,
|
||||
medium trust [195.135.220.15 listed in list.dnswl.org]
|
||||
-0.0 SPF_PASS SPF: sender matches SPF record
|
||||
0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
|
||||
0.0 RCVD_IN_MSPIKE_WL Mailspike good senders
|
||||
X-BeenThere: linux-arm-kernel@lists.infradead.org
|
||||
X-Mailman-Version: 2.1.29
|
||||
Precedence: list
|
||||
List-Id: <linux-arm-kernel.lists.infradead.org>
|
||||
List-Unsubscribe:
|
||||
<http://lists.infradead.org/mailman/options/linux-arm-kernel>,
|
||||
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
|
||||
List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
|
||||
List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
|
||||
List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
|
||||
List-Subscribe:
|
||||
<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
|
||||
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
|
||||
Cc: tim.gover@raspberrypi.org, sergei.shtylyov@cogentembedded.com,
|
||||
gregkh@linuxfoundation.org, linux-usb@vger.kernel.org,
|
||||
linux-rpi-kernel@lists.infradead.org, linux-pci@vger.kernel.org,
|
||||
linux-arm-kernel@lists.infradead.org, wahrenst@gmx.net
|
||||
Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
|
||||
Errors-To:
|
||||
linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
|
||||
|
||||
The property is needed in order to trigger VL805's firmware load. Note
|
||||
that there is a gap between the property introduced and the previous
|
||||
one. This is also the case downstream.
|
||||
|
||||
Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
|
||||
---
|
||||
include/soc/bcm2835/raspberrypi-firmware.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/include/soc/bcm2835/raspberrypi-firmware.h b/include/soc/bcm2835/raspberrypi-firmware.h
|
||||
index 7800e12ee042..cc9cdbc66403 100644
|
||||
--- a/include/soc/bcm2835/raspberrypi-firmware.h
|
||||
+++ b/include/soc/bcm2835/raspberrypi-firmware.h
|
||||
@@ -90,7 +90,7 @@ enum rpi_firmware_property_tag {
|
||||
RPI_FIRMWARE_SET_PERIPH_REG = 0x00038045,
|
||||
RPI_FIRMWARE_GET_POE_HAT_VAL = 0x00030049,
|
||||
RPI_FIRMWARE_SET_POE_HAT_VAL = 0x00030050,
|
||||
-
|
||||
+ RPI_FIRMWARE_NOTIFY_XHCI_RESET = 0x00030058,
|
||||
|
||||
/* Dispmanx TAGS */
|
||||
RPI_FIRMWARE_FRAMEBUFFER_ALLOCATE = 0x00040001,
|
||||
|
||||
From patchwork Tue Mar 24 18:28:10 2020
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
X-Patchwork-Id: 11456191
|
||||
Return-Path:
|
||||
<SRS0=7UWt=5J=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
|
||||
Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
|
||||
[172.30.200.123])
|
||||
by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id C4D571731
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Tue, 24 Mar 2020 18:29:30 +0000 (UTC)
|
||||
Received: from bombadil.infradead.org (bombadil.infradead.org
|
||||
[198.137.202.133])
|
||||
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
|
||||
(No client certificate requested)
|
||||
by mail.kernel.org (Postfix) with ESMTPS id 9A787206F6
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Tue, 24 Mar 2020 18:29:30 +0000 (UTC)
|
||||
Authentication-Results: mail.kernel.org;
|
||||
dkim=pass (2048-bit key) header.d=lists.infradead.org
|
||||
header.i=@lists.infradead.org header.b="Z5B/3JRW"
|
||||
DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9A787206F6
|
||||
Authentication-Results: mail.kernel.org;
|
||||
dmarc=none (p=none dis=none) header.from=suse.de
|
||||
Authentication-Results: mail.kernel.org;
|
||||
spf=none
|
||||
smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
|
||||
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
|
||||
d=lists.infradead.org; s=bombadil.20170209; h=Sender:
|
||||
Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
|
||||
List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:
|
||||
Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description:
|
||||
Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
|
||||
List-Owner; bh=kAIknZ2RVw6gB9CaOcG4KQjgkdNyrtcLcfH5XAGtITo=; b=Z5B/3JRWWCVYHI
|
||||
AsxnYFEFit0NnrRvZDbi0ktp8wUbVrztmKRPQWvfaWSlelJEKdEpJhHItnpicKfR5JhfHFsPt3V3X
|
||||
i29DtdYSOr/cjW/qeoakzXY0b1ApjrrK3MWjX/k0k9SVqGwkq6KT3T3qok969KInPAe0ERZ9bYkP1
|
||||
P2Jj1QT0QtCfcd0PsSjn4riMP09KNZVuviLm2bcg3Cr78qfIq6gDHHoS1nqPzdEt4gG+i/s66lTFY
|
||||
Dd3vPgItuRBvzgAjWdT4Bvx41u82KONuYDshYftzUZX7pxh76o4PwtPoPt/A4hJT0pZZe9MB6pQlM
|
||||
JwbBVC2fhM1afv00diOw==;
|
||||
Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
|
||||
by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
|
||||
id 1jGoIm-00032a-5v; Tue, 24 Mar 2020 18:29:24 +0000
|
||||
Received: from mx2.suse.de ([195.135.220.15])
|
||||
by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
|
||||
id 1jGoHq-00024W-PL; Tue, 24 Mar 2020 18:28:29 +0000
|
||||
X-Virus-Scanned: by amavisd-new at test-mx.suse.de
|
||||
Received: from relay2.suse.de (unknown [195.135.220.254])
|
||||
by mx2.suse.de (Postfix) with ESMTP id 3F0CFABE7;
|
||||
Tue, 24 Mar 2020 18:28:23 +0000 (UTC)
|
||||
From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
To: linux-kernel@vger.kernel.org,
|
||||
Nicolas Saenz Julienne <nsaenzjulienne@suse.de>,
|
||||
Florian Fainelli <f.fainelli@gmail.com>, Ray Jui <rjui@broadcom.com>,
|
||||
Scott Branden <sbranden@broadcom.com>,
|
||||
bcm-kernel-feedback-list@broadcom.com
|
||||
Subject: [PATCH v6 2/4] firmware: raspberrypi: Introduce vl805 init routine
|
||||
Date: Tue, 24 Mar 2020 19:28:10 +0100
|
||||
Message-Id: <20200324182812.20420-3-nsaenzjulienne@suse.de>
|
||||
X-Mailer: git-send-email 2.25.1
|
||||
In-Reply-To: <20200324182812.20420-1-nsaenzjulienne@suse.de>
|
||||
References: <20200324182812.20420-1-nsaenzjulienne@suse.de>
|
||||
MIME-Version: 1.0
|
||||
X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
|
||||
X-CRM114-CacheID: sfid-20200324_112827_110873_06144E1C
|
||||
X-CRM114-Status: GOOD ( 15.67 )
|
||||
X-Spam-Score: -2.3 (--)
|
||||
X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
|
||||
Content analysis details: (-2.3 points)
|
||||
pts rule name description
|
||||
---- ----------------------
|
||||
--------------------------------------------------
|
||||
0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3)
|
||||
[195.135.220.15 listed in wl.mailspike.net]
|
||||
-2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/,
|
||||
medium trust [195.135.220.15 listed in list.dnswl.org]
|
||||
-0.0 SPF_PASS SPF: sender matches SPF record
|
||||
0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
|
||||
0.0 RCVD_IN_MSPIKE_WL Mailspike good senders
|
||||
X-BeenThere: linux-arm-kernel@lists.infradead.org
|
||||
X-Mailman-Version: 2.1.29
|
||||
Precedence: list
|
||||
List-Id: <linux-arm-kernel.lists.infradead.org>
|
||||
List-Unsubscribe:
|
||||
<http://lists.infradead.org/mailman/options/linux-arm-kernel>,
|
||||
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
|
||||
List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
|
||||
List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
|
||||
List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
|
||||
List-Subscribe:
|
||||
<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
|
||||
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
|
||||
Cc: tim.gover@raspberrypi.org, sergei.shtylyov@cogentembedded.com,
|
||||
gregkh@linuxfoundation.org, linux-usb@vger.kernel.org,
|
||||
linux-rpi-kernel@lists.infradead.org, linux-pci@vger.kernel.org,
|
||||
linux-arm-kernel@lists.infradead.org, wahrenst@gmx.net
|
||||
Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
|
||||
Errors-To:
|
||||
linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
|
||||
|
||||
On the Raspberry Pi 4, after a PCI reset, VL805's firmware may either be
|
||||
loaded directly from an EEPROM or, if not present, by the SoC's
|
||||
VideCore. The function informs VideCore that VL805 was just reset, or
|
||||
requests for a probe defer.
|
||||
|
||||
Based on Tim Gover's downstream implementation.
|
||||
|
||||
Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
|
||||
---
|
||||
Changes since v4:
|
||||
- Inline function definition when RASPBERRYPI_FIRMWARE is not defined
|
||||
|
||||
Changes since v1:
|
||||
- Move include into .c file and add forward declaration to .h
|
||||
|
||||
drivers/firmware/raspberrypi.c | 38 ++++++++++++++++++++++
|
||||
include/soc/bcm2835/raspberrypi-firmware.h | 7 ++++
|
||||
2 files changed, 45 insertions(+)
|
||||
|
||||
diff --git a/drivers/firmware/raspberrypi.c b/drivers/firmware/raspberrypi.c
|
||||
index da26a584dca0..cbb495aff6a0 100644
|
||||
--- a/drivers/firmware/raspberrypi.c
|
||||
+++ b/drivers/firmware/raspberrypi.c
|
||||
@@ -12,6 +12,7 @@
|
||||
#include <linux/of_platform.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/slab.h>
|
||||
+#include <linux/pci.h>
|
||||
#include <soc/bcm2835/raspberrypi-firmware.h>
|
||||
|
||||
#define MBOX_MSG(chan, data28) (((data28) & ~0xf) | ((chan) & 0xf))
|
||||
@@ -286,6 +287,43 @@ struct rpi_firmware *rpi_firmware_get(struct device_node *firmware_node)
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(rpi_firmware_get);
|
||||
|
||||
+/*
|
||||
+ * On the Raspberry Pi 4, after a PCI reset, VL805's firmware may either be
|
||||
+ * loaded directly from an EEPROM or, if not present, by the SoC's VideCore.
|
||||
+ * Inform VideCore that VL805 was just reset, or defer xhci's probe if not yet
|
||||
+ * joinable trough the mailbox interface.
|
||||
+ */
|
||||
+int rpi_firmware_init_vl805(struct pci_dev *pdev)
|
||||
+{
|
||||
+ struct device_node *fw_np;
|
||||
+ struct rpi_firmware *fw;
|
||||
+ u32 dev_addr;
|
||||
+ int ret;
|
||||
+
|
||||
+ fw_np = of_find_compatible_node(NULL, NULL,
|
||||
+ "raspberrypi,bcm2835-firmware");
|
||||
+ if (!fw_np)
|
||||
+ return 0;
|
||||
+
|
||||
+ fw = rpi_firmware_get(fw_np);
|
||||
+ of_node_put(fw_np);
|
||||
+ if (!fw)
|
||||
+ return -EPROBE_DEFER;
|
||||
+
|
||||
+ dev_addr = pdev->bus->number << 20 | PCI_SLOT(pdev->devfn) << 15 |
|
||||
+ PCI_FUNC(pdev->devfn) << 12;
|
||||
+
|
||||
+ ret = rpi_firmware_property(fw, RPI_FIRMWARE_NOTIFY_XHCI_RESET,
|
||||
+ &dev_addr, sizeof(dev_addr));
|
||||
+ if (ret)
|
||||
+ return ret;
|
||||
+
|
||||
+ dev_dbg(&pdev->dev, "loaded Raspberry Pi's VL805 firmware\n");
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+EXPORT_SYMBOL_GPL(rpi_firmware_init_vl805);
|
||||
+
|
||||
static const struct of_device_id rpi_firmware_of_match[] = {
|
||||
{ .compatible = "raspberrypi,bcm2835-firmware", },
|
||||
{},
|
||||
diff --git a/include/soc/bcm2835/raspberrypi-firmware.h b/include/soc/bcm2835/raspberrypi-firmware.h
|
||||
index cc9cdbc66403..3025aca3c358 100644
|
||||
--- a/include/soc/bcm2835/raspberrypi-firmware.h
|
||||
+++ b/include/soc/bcm2835/raspberrypi-firmware.h
|
||||
@@ -10,6 +10,7 @@
|
||||
#include <linux/of_device.h>
|
||||
|
||||
struct rpi_firmware;
|
||||
+struct pci_dev;
|
||||
|
||||
enum rpi_firmware_property_status {
|
||||
RPI_FIRMWARE_STATUS_REQUEST = 0,
|
||||
@@ -141,6 +142,7 @@ int rpi_firmware_property(struct rpi_firmware *fw,
|
||||
int rpi_firmware_property_list(struct rpi_firmware *fw,
|
||||
void *data, size_t tag_size);
|
||||
struct rpi_firmware *rpi_firmware_get(struct device_node *firmware_node);
|
||||
+int rpi_firmware_init_vl805(struct pci_dev *pdev);
|
||||
#else
|
||||
static inline int rpi_firmware_property(struct rpi_firmware *fw, u32 tag,
|
||||
void *data, size_t len)
|
||||
@@ -158,6 +160,11 @@ static inline struct rpi_firmware *rpi_firmware_get(struct device_node *firmware
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
+
|
||||
+static inline int rpi_firmware_init_vl805(struct pci_dev *pdev)
|
||||
+{
|
||||
+ return 0;
|
||||
+}
|
||||
#endif
|
||||
|
||||
#endif /* __SOC_RASPBERRY_FIRMWARE_H__ */
|
||||
|
||||
From patchwork Tue Mar 24 18:28:11 2020
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
X-Patchwork-Id: 11456189
|
||||
Return-Path:
|
||||
<SRS0=7UWt=5J=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
|
||||
Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
|
||||
[172.30.200.123])
|
||||
by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 168CB1667
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Tue, 24 Mar 2020 18:29:15 +0000 (UTC)
|
||||
Received: from bombadil.infradead.org (bombadil.infradead.org
|
||||
[198.137.202.133])
|
||||
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
|
||||
(No client certificate requested)
|
||||
by mail.kernel.org (Postfix) with ESMTPS id EAB942076E
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Tue, 24 Mar 2020 18:29:14 +0000 (UTC)
|
||||
Authentication-Results: mail.kernel.org;
|
||||
dkim=pass (2048-bit key) header.d=lists.infradead.org
|
||||
header.i=@lists.infradead.org header.b="BOwwgdOE"
|
||||
DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org EAB942076E
|
||||
Authentication-Results: mail.kernel.org;
|
||||
dmarc=none (p=none dis=none) header.from=suse.de
|
||||
Authentication-Results: mail.kernel.org;
|
||||
spf=none
|
||||
smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
|
||||
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
|
||||
d=lists.infradead.org; s=bombadil.20170209; h=Sender:
|
||||
Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
|
||||
List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:
|
||||
Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description:
|
||||
Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
|
||||
List-Owner; bh=CLmK04T+baw5jWu/lH2cJ3fygso/fqFgoMOSigkpvRw=; b=BOwwgdOEAmbVoa
|
||||
/8AtILxDfcKBVhbig0LKPFd94roUQzY/SylcBG5jWceT90PE3BxYgomfaBA6U41LW9Xe5LZsfylId
|
||||
/IP3RNq34yRDWPXo3WWkLFYEtwJB60SWZlD8BG+ApGeUJ9z6vXTL9h3K9ThLwhFycZOkSxtDMicCG
|
||||
vkP4ErkYnvASxQ021+lq/VxFgdnvtKcw2OE+ghhRHgOn8dc+/dJHCp8vi33Qrk9DFhKSGnSX/A5vz
|
||||
E84/rlt964N9kXLE2npw9hNrj6DdrQozcB9YTAEL9S/krTUmOLI/iWS/DZEUA50xy9wVBqD9Bm78x
|
||||
TS0oeyfH49HaUmd10Y6w==;
|
||||
Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
|
||||
by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
|
||||
id 1jGoIa-0002oW-NS; Tue, 24 Mar 2020 18:29:12 +0000
|
||||
Received: from mx2.suse.de ([195.135.220.15])
|
||||
by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
|
||||
id 1jGoHr-00024Z-2w; Tue, 24 Mar 2020 18:28:29 +0000
|
||||
X-Virus-Scanned: by amavisd-new at test-mx.suse.de
|
||||
Received: from relay2.suse.de (unknown [195.135.220.254])
|
||||
by mx2.suse.de (Postfix) with ESMTP id 1A1A0ABF4;
|
||||
Tue, 24 Mar 2020 18:28:24 +0000 (UTC)
|
||||
From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
To: linux-kernel@vger.kernel.org,
|
||||
Nicolas Saenz Julienne <nsaenzjulienne@suse.de>,
|
||||
Florian Fainelli <f.fainelli@gmail.com>,
|
||||
bcm-kernel-feedback-list@broadcom.com,
|
||||
Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>,
|
||||
Andrew Murray <amurray@thegoodpenguin.co.uk>
|
||||
Subject: [PATCH v6 3/4] PCI: brcmstb: Wait for Raspberry Pi's firmware when
|
||||
present
|
||||
Date: Tue, 24 Mar 2020 19:28:11 +0100
|
||||
Message-Id: <20200324182812.20420-4-nsaenzjulienne@suse.de>
|
||||
X-Mailer: git-send-email 2.25.1
|
||||
In-Reply-To: <20200324182812.20420-1-nsaenzjulienne@suse.de>
|
||||
References: <20200324182812.20420-1-nsaenzjulienne@suse.de>
|
||||
MIME-Version: 1.0
|
||||
X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
|
||||
X-CRM114-CacheID: sfid-20200324_112827_267470_0540B982
|
||||
X-CRM114-Status: GOOD ( 12.13 )
|
||||
X-Spam-Score: -2.3 (--)
|
||||
X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
|
||||
Content analysis details: (-2.3 points)
|
||||
pts rule name description
|
||||
---- ----------------------
|
||||
--------------------------------------------------
|
||||
0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3)
|
||||
[195.135.220.15 listed in wl.mailspike.net]
|
||||
-2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/,
|
||||
medium trust [195.135.220.15 listed in list.dnswl.org]
|
||||
-0.0 SPF_PASS SPF: sender matches SPF record
|
||||
0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
|
||||
0.0 RCVD_IN_MSPIKE_WL Mailspike good senders
|
||||
X-BeenThere: linux-arm-kernel@lists.infradead.org
|
||||
X-Mailman-Version: 2.1.29
|
||||
Precedence: list
|
||||
List-Id: <linux-arm-kernel.lists.infradead.org>
|
||||
List-Unsubscribe:
|
||||
<http://lists.infradead.org/mailman/options/linux-arm-kernel>,
|
||||
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
|
||||
List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
|
||||
List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
|
||||
List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
|
||||
List-Subscribe:
|
||||
<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
|
||||
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
|
||||
Cc: tim.gover@raspberrypi.org, sergei.shtylyov@cogentembedded.com,
|
||||
gregkh@linuxfoundation.org, linux-usb@vger.kernel.org,
|
||||
linux-rpi-kernel@lists.infradead.org, linux-pci@vger.kernel.org,
|
||||
Bjorn Helgaas <bhelgaas@google.com>, linux-arm-kernel@lists.infradead.org,
|
||||
wahrenst@gmx.net
|
||||
Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
|
||||
Errors-To:
|
||||
linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
|
||||
|
||||
xHCI's PCI fixup, run at the end of pcie-brcmstb's probe, depends on
|
||||
RPi4's VideoCore firmware interface to be up and running. It's possible
|
||||
for both initializations to race, so make sure it's available prior to
|
||||
starting.
|
||||
|
||||
Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
|
||||
---
|
||||
drivers/pci/controller/pcie-brcmstb.c | 15 +++++++++++++++
|
||||
1 file changed, 15 insertions(+)
|
||||
|
||||
diff --git a/drivers/pci/controller/pcie-brcmstb.c b/drivers/pci/controller/pcie-brcmstb.c
|
||||
index 3a10e678c7f4..a3d3070a5832 100644
|
||||
--- a/drivers/pci/controller/pcie-brcmstb.c
|
||||
+++ b/drivers/pci/controller/pcie-brcmstb.c
|
||||
@@ -28,6 +28,8 @@
|
||||
#include <linux/string.h>
|
||||
#include <linux/types.h>
|
||||
|
||||
+#include <soc/bcm2835/raspberrypi-firmware.h>
|
||||
+
|
||||
#include "../pci.h"
|
||||
|
||||
/* BRCM_PCIE_CAP_REGS - Offset for the mandatory capability config regs */
|
||||
@@ -917,11 +919,24 @@ static int brcm_pcie_probe(struct platform_device *pdev)
|
||||
{
|
||||
struct device_node *np = pdev->dev.of_node, *msi_np;
|
||||
struct pci_host_bridge *bridge;
|
||||
+ struct device_node *fw_np;
|
||||
struct brcm_pcie *pcie;
|
||||
struct pci_bus *child;
|
||||
struct resource *res;
|
||||
int ret;
|
||||
|
||||
+ /*
|
||||
+ * We have to wait for the Raspberry Pi's firmware interface to be up
|
||||
+ * as some PCI fixups depend on it.
|
||||
+ */
|
||||
+ fw_np = of_find_compatible_node(NULL, NULL,
|
||||
+ "raspberrypi,bcm2835-firmware");
|
||||
+ if (fw_np && !rpi_firmware_get(fw_np)) {
|
||||
+ of_node_put(fw_np);
|
||||
+ return -EPROBE_DEFER;
|
||||
+ }
|
||||
+ of_node_put(fw_np);
|
||||
+
|
||||
bridge = devm_pci_alloc_host_bridge(&pdev->dev, sizeof(*pcie));
|
||||
if (!bridge)
|
||||
return -ENOMEM;
|
||||
|
||||
From patchwork Tue Mar 24 18:28:12 2020
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
X-Patchwork-Id: 11456185
|
||||
Return-Path:
|
||||
<SRS0=7UWt=5J=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
|
||||
Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
|
||||
[172.30.200.123])
|
||||
by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id AD453174A
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Tue, 24 Mar 2020 18:28:41 +0000 (UTC)
|
||||
Received: from bombadil.infradead.org (bombadil.infradead.org
|
||||
[198.137.202.133])
|
||||
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
|
||||
(No client certificate requested)
|
||||
by mail.kernel.org (Postfix) with ESMTPS id 8690720789
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Tue, 24 Mar 2020 18:28:41 +0000 (UTC)
|
||||
Authentication-Results: mail.kernel.org;
|
||||
dkim=pass (2048-bit key) header.d=lists.infradead.org
|
||||
header.i=@lists.infradead.org header.b="BSDoMdbd"
|
||||
DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8690720789
|
||||
Authentication-Results: mail.kernel.org;
|
||||
dmarc=none (p=none dis=none) header.from=suse.de
|
||||
Authentication-Results: mail.kernel.org;
|
||||
spf=none
|
||||
smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
|
||||
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
|
||||
d=lists.infradead.org; s=bombadil.20170209; h=Sender:
|
||||
Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
|
||||
List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:
|
||||
Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description:
|
||||
Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
|
||||
List-Owner; bh=YaBoM78lqEEmZOW4u4cO0fQ+Qpc7vocOU6aRT/EpQsk=; b=BSDoMdbdXfJNCB
|
||||
Ccoti2K8Qk9NgAlOnVt60cLhw66HCbJPwZn1v08f/rr05ZIoPMToFkJt5krqew7Vd+jlZnzMxf8MC
|
||||
lBfOqOev9hIjbyu19c646LbpbqVrtrtm9vmy6Lvd2GGuQuvybpM0RHDvc2wzv8a3fejGMgKStaQ/3
|
||||
Efne01FoiZvWBedWpTdsoGJbFzfSb4ua/8JT2Ki04i9itY4oTZs9itKK1Taqe3WfNDphluuFcmdGx
|
||||
nNxQK/PkA6XCdpJHxaCz3DtyZj/2NhAqd8roXn+PUt5SG00Tfc6auERZQPLtTinW6m9ZaUkBhjJQ0
|
||||
GHUMyyLHvQ583h1ty9ow==;
|
||||
Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
|
||||
by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
|
||||
id 1jGoI3-0002Hl-Jz; Tue, 24 Mar 2020 18:28:39 +0000
|
||||
Received: from mx2.suse.de ([195.135.220.15])
|
||||
by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
|
||||
id 1jGoHq-00024d-Jc; Tue, 24 Mar 2020 18:28:28 +0000
|
||||
X-Virus-Scanned: by amavisd-new at test-mx.suse.de
|
||||
Received: from relay2.suse.de (unknown [195.135.220.254])
|
||||
by mx2.suse.de (Postfix) with ESMTP id EE53FABF6;
|
||||
Tue, 24 Mar 2020 18:28:24 +0000 (UTC)
|
||||
From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
To: linux-kernel@vger.kernel.org,
|
||||
Mathias Nyman <mathias.nyman@intel.com>
|
||||
Subject: [PATCH v6 4/4] USB: pci-quirks: Add Raspberry Pi 4 quirk
|
||||
Date: Tue, 24 Mar 2020 19:28:12 +0100
|
||||
Message-Id: <20200324182812.20420-5-nsaenzjulienne@suse.de>
|
||||
X-Mailer: git-send-email 2.25.1
|
||||
In-Reply-To: <20200324182812.20420-1-nsaenzjulienne@suse.de>
|
||||
References: <20200324182812.20420-1-nsaenzjulienne@suse.de>
|
||||
MIME-Version: 1.0
|
||||
X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
|
||||
X-CRM114-CacheID: sfid-20200324_112826_791336_2ABB38D1
|
||||
X-CRM114-Status: GOOD ( 16.34 )
|
||||
X-Spam-Score: -2.3 (--)
|
||||
X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
|
||||
Content analysis details: (-2.3 points)
|
||||
pts rule name description
|
||||
---- ----------------------
|
||||
--------------------------------------------------
|
||||
0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3)
|
||||
[195.135.220.15 listed in wl.mailspike.net]
|
||||
-2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/,
|
||||
medium trust [195.135.220.15 listed in list.dnswl.org]
|
||||
-0.0 SPF_PASS SPF: sender matches SPF record
|
||||
0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
|
||||
0.0 RCVD_IN_MSPIKE_WL Mailspike good senders
|
||||
X-BeenThere: linux-arm-kernel@lists.infradead.org
|
||||
X-Mailman-Version: 2.1.29
|
||||
Precedence: list
|
||||
List-Id: <linux-arm-kernel.lists.infradead.org>
|
||||
List-Unsubscribe:
|
||||
<http://lists.infradead.org/mailman/options/linux-arm-kernel>,
|
||||
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
|
||||
List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
|
||||
List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
|
||||
List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
|
||||
List-Subscribe:
|
||||
<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
|
||||
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
|
||||
Cc: f.fainelli@gmail.com, sergei.shtylyov@cogentembedded.com,
|
||||
gregkh@linuxfoundation.org, linux-usb@vger.kernel.org,
|
||||
Nicolas Saenz Julienne <nsaenzjulienne@suse.de>, tim.gover@raspberrypi.org,
|
||||
bcm-kernel-feedback-list@broadcom.com, linux-rpi-kernel@lists.infradead.org,
|
||||
linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
|
||||
wahrenst@gmx.net
|
||||
Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
|
||||
Errors-To:
|
||||
linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
|
||||
|
||||
On the Raspberry Pi 4, after a PCI reset, VL805's firmware may either be
|
||||
loaded directly from an EEPROM or, if not present, by the SoC's
|
||||
VideCore. Inform VideCore that VL805 was just reset.
|
||||
|
||||
Also, as this creates a dependency between USB_PCI and VideoCore's
|
||||
firmware interface. Since USB_PCI can't be set as a module neither this
|
||||
should.
|
||||
|
||||
Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
---
|
||||
|
||||
Changes since v5:
|
||||
- Fix Kconfig issue with allmodconfig
|
||||
|
||||
Changes since v4:
|
||||
- Do not split up error message
|
||||
|
||||
Changes since v3:
|
||||
- Add more complete error message
|
||||
|
||||
Changes since v1:
|
||||
- Make RASPBERRYPI_FIRMWARE dependent on this quirk to make sure it
|
||||
gets compiled when needed.
|
||||
|
||||
drivers/firmware/Kconfig | 3 ++-
|
||||
drivers/usb/host/pci-quirks.c | 16 ++++++++++++++++
|
||||
2 files changed, 18 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/firmware/Kconfig b/drivers/firmware/Kconfig
|
||||
index ea869addc89b..78ab2ad6d3f0 100644
|
||||
--- a/drivers/firmware/Kconfig
|
||||
+++ b/drivers/firmware/Kconfig
|
||||
@@ -178,8 +178,9 @@ config ISCSI_IBFT
|
||||
Otherwise, say N.
|
||||
|
||||
config RASPBERRYPI_FIRMWARE
|
||||
- tristate "Raspberry Pi Firmware Driver"
|
||||
+ bool "Raspberry Pi Firmware Driver"
|
||||
depends on BCM2835_MBOX
|
||||
+ default USB_PCI
|
||||
help
|
||||
This option enables support for communicating with the firmware on the
|
||||
Raspberry Pi.
|
||||
diff --git a/drivers/usb/host/pci-quirks.c b/drivers/usb/host/pci-quirks.c
|
||||
index beb2efa71341..0dc34668bb2a 100644
|
||||
--- a/drivers/usb/host/pci-quirks.c
|
||||
+++ b/drivers/usb/host/pci-quirks.c
|
||||
@@ -16,6 +16,9 @@
|
||||
#include <linux/export.h>
|
||||
#include <linux/acpi.h>
|
||||
#include <linux/dmi.h>
|
||||
+
|
||||
+#include <soc/bcm2835/raspberrypi-firmware.h>
|
||||
+
|
||||
#include "pci-quirks.h"
|
||||
#include "xhci-ext-caps.h"
|
||||
|
||||
@@ -1243,11 +1246,24 @@ static void quirk_usb_handoff_xhci(struct pci_dev *pdev)
|
||||
|
||||
static void quirk_usb_early_handoff(struct pci_dev *pdev)
|
||||
{
|
||||
+ int ret;
|
||||
+
|
||||
/* Skip Netlogic mips SoC's internal PCI USB controller.
|
||||
* This device does not need/support EHCI/OHCI handoff
|
||||
*/
|
||||
if (pdev->vendor == 0x184e) /* vendor Netlogic */
|
||||
return;
|
||||
+
|
||||
+ if (pdev->vendor == PCI_VENDOR_ID_VIA && pdev->device == 0x3483) {
|
||||
+ ret = rpi_firmware_init_vl805(pdev);
|
||||
+ if (ret) {
|
||||
+ /* Firmware might be outdated, or something failed */
|
||||
+ dev_warn(&pdev->dev,
|
||||
+ "Failed to load VL805's firmware: %d. Will continue to attempt to work, but bad things might happen. You should fix this...\n",
|
||||
+ ret);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
if (pdev->class != PCI_CLASS_SERIAL_USB_UHCI &&
|
||||
pdev->class != PCI_CLASS_SERIAL_USB_OHCI &&
|
||||
pdev->class != PCI_CLASS_SERIAL_USB_EHCI &&
|
||||
398
alsa-5.6.patch
398
alsa-5.6.patch
|
|
@ -1,398 +0,0 @@
|
|||
From 89be5f69889f7e9aeab05279869bba3e9e0d2002 Mon Sep 17 00:00:00 2001
|
||||
From: Jaroslav Kysela <perex@perex.cz>
|
||||
Date: Wed, 4 Dec 2019 15:15:45 -0600
|
||||
Subject: [PATCH 2/4] ASoC: Intel - use control components to describe card
|
||||
config
|
||||
|
||||
Use the control interface (field 'components' in the info structure)
|
||||
to pass the I/O configuration details. The goal is to replace
|
||||
the card long name with this.
|
||||
|
||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
||||
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
|
||||
Cc: Mark Brown <broonie@kernel.org>
|
||||
Link: https://lore.kernel.org/r/20191204211556.12671-3-pierre-louis.bossart@linux.intel.com
|
||||
Signed-off-by: Mark Brown <broonie@kernel.org>
|
||||
|
||||
Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
|
||||
(cherry picked from commit 0d5c8187562848b619a35f2ffc5e18ce703e9f3d)
|
||||
Bugzilla: 1772498
|
||||
---
|
||||
sound/soc/intel/boards/bytcht_es8316.c | 9 ++++++++-
|
||||
sound/soc/intel/boards/bytcr_rt5640.c | 6 ++++++
|
||||
sound/soc/intel/boards/bytcr_rt5651.c | 18 +++++++++++-------
|
||||
3 files changed, 25 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/sound/soc/intel/boards/bytcht_es8316.c b/sound/soc/intel/boards/bytcht_es8316.c
|
||||
index 46612331f5ea..efa33f30dcac 100644
|
||||
--- a/sound/soc/intel/boards/bytcht_es8316.c
|
||||
+++ b/sound/soc/intel/boards/bytcht_es8316.c
|
||||
@@ -361,6 +361,7 @@ static struct snd_soc_dai_link byt_cht_es8316_dais[] = {
|
||||
/* SoC card */
|
||||
static char codec_name[SND_ACPI_I2C_ID_LEN];
|
||||
static char long_name[50]; /* = "bytcht-es8316-*-spk-*-mic" */
|
||||
+static char components_string[32]; /* = "cfg-spk:* cfg-mic:* */
|
||||
|
||||
static int byt_cht_es8316_suspend(struct snd_soc_card *card)
|
||||
{
|
||||
@@ -572,11 +573,17 @@ static int snd_byt_cht_es8316_mc_probe(struct platform_device *pdev)
|
||||
}
|
||||
}
|
||||
|
||||
- /* register the soc card */
|
||||
+ snprintf(components_string, sizeof(components_string),
|
||||
+ "cfg-spk:%s cfg-mic:%s",
|
||||
+ (quirk & BYT_CHT_ES8316_MONO_SPEAKER) ? "1" : "2",
|
||||
+ mic_name[BYT_CHT_ES8316_MAP(quirk)]);
|
||||
+ byt_cht_es8316_card.components = components_string;
|
||||
snprintf(long_name, sizeof(long_name), "bytcht-es8316-%s-spk-%s-mic",
|
||||
(quirk & BYT_CHT_ES8316_MONO_SPEAKER) ? "mono" : "stereo",
|
||||
mic_name[BYT_CHT_ES8316_MAP(quirk)]);
|
||||
byt_cht_es8316_card.long_name = long_name;
|
||||
+
|
||||
+ /* register the soc card */
|
||||
snd_soc_card_set_drvdata(&byt_cht_es8316_card, priv);
|
||||
|
||||
ret = devm_snd_soc_register_card(dev, &byt_cht_es8316_card);
|
||||
diff --git a/sound/soc/intel/boards/bytcr_rt5640.c b/sound/soc/intel/boards/bytcr_rt5640.c
|
||||
index dd2b5ad08659..7bc6d3cec94c 100644
|
||||
--- a/sound/soc/intel/boards/bytcr_rt5640.c
|
||||
+++ b/sound/soc/intel/boards/bytcr_rt5640.c
|
||||
@@ -1083,6 +1083,7 @@ static char byt_rt5640_codec_name[SND_ACPI_I2C_ID_LEN];
|
||||
static char byt_rt5640_codec_aif_name[12]; /* = "rt5640-aif[1|2]" */
|
||||
static char byt_rt5640_cpu_dai_name[10]; /* = "ssp[0|2]-port" */
|
||||
static char byt_rt5640_long_name[40]; /* = "bytcr-rt5640-*-spk-*-mic" */
|
||||
+static char byt_rt5640_components[32]; /* = "cfg-spk:* cfg-mic:*" */
|
||||
|
||||
static int byt_rt5640_suspend(struct snd_soc_card *card)
|
||||
{
|
||||
@@ -1305,6 +1306,11 @@ static int snd_byt_rt5640_mc_probe(struct platform_device *pdev)
|
||||
}
|
||||
}
|
||||
|
||||
+ snprintf(byt_rt5640_components, sizeof(byt_rt5640_components),
|
||||
+ "cfg-spk:%s cfg-mic:%s",
|
||||
+ (byt_rt5640_quirk & BYT_RT5640_MONO_SPEAKER) ? "1" : "2",
|
||||
+ map_name[BYT_RT5640_MAP(byt_rt5640_quirk)]);
|
||||
+ byt_rt5640_card.components = byt_rt5640_components;
|
||||
snprintf(byt_rt5640_long_name, sizeof(byt_rt5640_long_name),
|
||||
"bytcr-rt5640-%s-spk-%s-mic",
|
||||
(byt_rt5640_quirk & BYT_RT5640_MONO_SPEAKER) ?
|
||||
diff --git a/sound/soc/intel/boards/bytcr_rt5651.c b/sound/soc/intel/boards/bytcr_rt5651.c
|
||||
index 4606f6f582d6..80a5674ddb1b 100644
|
||||
--- a/sound/soc/intel/boards/bytcr_rt5651.c
|
||||
+++ b/sound/soc/intel/boards/bytcr_rt5651.c
|
||||
@@ -798,6 +798,7 @@ static char byt_rt5651_codec_name[SND_ACPI_I2C_ID_LEN];
|
||||
static char byt_rt5651_codec_aif_name[12]; /* = "rt5651-aif[1|2]" */
|
||||
static char byt_rt5651_cpu_dai_name[10]; /* = "ssp[0|2]-port" */
|
||||
static char byt_rt5651_long_name[50]; /* = "bytcr-rt5651-*-spk-*-mic[-swapped-hp]" */
|
||||
+static char byt_rt5651_components[50]; /* = "cfg-spk:* cfg-mic:*" */
|
||||
|
||||
static int byt_rt5651_suspend(struct snd_soc_card *card)
|
||||
{
|
||||
@@ -876,7 +877,6 @@ static int snd_byt_rt5651_mc_probe(struct platform_device *pdev)
|
||||
const char *platform_name;
|
||||
struct acpi_device *adev;
|
||||
struct device *codec_dev;
|
||||
- const char *hp_swapped;
|
||||
bool is_bytcr = false;
|
||||
int ret_val = 0;
|
||||
int dai_index = 0;
|
||||
@@ -1080,16 +1080,20 @@ static int snd_byt_rt5651_mc_probe(struct platform_device *pdev)
|
||||
}
|
||||
}
|
||||
|
||||
- if (byt_rt5651_quirk & BYT_RT5651_HP_LR_SWAPPED)
|
||||
- hp_swapped = "-hp-swapped";
|
||||
- else
|
||||
- hp_swapped = "";
|
||||
-
|
||||
+ snprintf(byt_rt5651_components, sizeof(byt_rt5651_components),
|
||||
+ "cfg-spk:%s cfg-mic:%s%s",
|
||||
+ (byt_rt5651_quirk & BYT_RT5651_MONO_SPEAKER) ? "1" : "2",
|
||||
+ mic_name[BYT_RT5651_MAP(byt_rt5651_quirk)],
|
||||
+ (byt_rt5651_quirk & BYT_RT5651_HP_LR_SWAPPED) ?
|
||||
+ " cfg-hp:lrswap" : "");
|
||||
+ byt_rt5651_card.components = byt_rt5651_components;
|
||||
snprintf(byt_rt5651_long_name, sizeof(byt_rt5651_long_name),
|
||||
"bytcr-rt5651-%s-spk-%s-mic%s",
|
||||
(byt_rt5651_quirk & BYT_RT5651_MONO_SPEAKER) ?
|
||||
"mono" : "stereo",
|
||||
- mic_name[BYT_RT5651_MAP(byt_rt5651_quirk)], hp_swapped);
|
||||
+ mic_name[BYT_RT5651_MAP(byt_rt5651_quirk)],
|
||||
+ (byt_rt5651_quirk & BYT_RT5651_HP_LR_SWAPPED) ?
|
||||
+ "-hp-swapped" : "");
|
||||
byt_rt5651_card.long_name = byt_rt5651_long_name;
|
||||
|
||||
/* override plaform name, if required */
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
||||
From 36c175e19e9cbb685708519d41e27cd803206737 Mon Sep 17 00:00:00 2001
|
||||
From: Jaroslav Kysela <perex@perex.cz>
|
||||
Date: Wed, 4 Dec 2019 15:15:46 -0600
|
||||
Subject: [PATCH 3/4] ASoC: Intel - do not describe I/O configuration in the
|
||||
long card name
|
||||
|
||||
The long card name might be used in GUI. This information should be hidden.
|
||||
|
||||
Add CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES configuration option.
|
||||
|
||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
||||
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
|
||||
Cc: Mark Brown <broonie@kernel.org>
|
||||
Link: https://lore.kernel.org/r/20191204211556.12671-4-pierre-louis.bossart@linux.intel.com
|
||||
Signed-off-by: Mark Brown <broonie@kernel.org>
|
||||
|
||||
Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
|
||||
(cherry picked from commit b5706f8ec29fb461571d25e3e813ede121fe31cd)
|
||||
Bugzilla: 1772498
|
||||
---
|
||||
sound/soc/intel/boards/Kconfig | 13 +++++++++++++
|
||||
sound/soc/intel/boards/bytcht_es8316.c | 4 ++++
|
||||
sound/soc/intel/boards/bytcr_rt5640.c | 4 ++++
|
||||
sound/soc/intel/boards/bytcr_rt5651.c | 4 ++++
|
||||
4 files changed, 25 insertions(+)
|
||||
|
||||
diff --git a/sound/soc/intel/boards/Kconfig b/sound/soc/intel/boards/Kconfig
|
||||
index ef20316e83d1..145eb55bd691 100644
|
||||
--- a/sound/soc/intel/boards/Kconfig
|
||||
+++ b/sound/soc/intel/boards/Kconfig
|
||||
@@ -13,6 +13,19 @@ menuconfig SND_SOC_INTEL_MACH
|
||||
|
||||
if SND_SOC_INTEL_MACH
|
||||
|
||||
+config SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES
|
||||
+ bool "Use more user friendly long card names"
|
||||
+ help
|
||||
+ Some drivers report the I/O configuration to userspace through the
|
||||
+ soundcard's long card name in the control user space AP. An unfortunate
|
||||
+ side effect is that this long name may also be used by the GUI,
|
||||
+ confusing users with information they don't need.
|
||||
+ This option prevents the long name from being modified, and the I/O
|
||||
+ configuration will be provided through a different component interface.
|
||||
+ Select Y if userspace like UCM (Use Case Manager) uses the component
|
||||
+ interface.
|
||||
+ If unsure select N.
|
||||
+
|
||||
if SND_SOC_INTEL_HASWELL
|
||||
|
||||
config SND_SOC_INTEL_HASWELL_MACH
|
||||
diff --git a/sound/soc/intel/boards/bytcht_es8316.c b/sound/soc/intel/boards/bytcht_es8316.c
|
||||
index efa33f30dcac..12a1c5255484 100644
|
||||
--- a/sound/soc/intel/boards/bytcht_es8316.c
|
||||
+++ b/sound/soc/intel/boards/bytcht_es8316.c
|
||||
@@ -360,7 +360,9 @@ static struct snd_soc_dai_link byt_cht_es8316_dais[] = {
|
||||
|
||||
/* SoC card */
|
||||
static char codec_name[SND_ACPI_I2C_ID_LEN];
|
||||
+#if !IS_ENABLED(CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES)
|
||||
static char long_name[50]; /* = "bytcht-es8316-*-spk-*-mic" */
|
||||
+#endif
|
||||
static char components_string[32]; /* = "cfg-spk:* cfg-mic:* */
|
||||
|
||||
static int byt_cht_es8316_suspend(struct snd_soc_card *card)
|
||||
@@ -578,10 +580,12 @@ static int snd_byt_cht_es8316_mc_probe(struct platform_device *pdev)
|
||||
(quirk & BYT_CHT_ES8316_MONO_SPEAKER) ? "1" : "2",
|
||||
mic_name[BYT_CHT_ES8316_MAP(quirk)]);
|
||||
byt_cht_es8316_card.components = components_string;
|
||||
+#if !IS_ENABLED(CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES)
|
||||
snprintf(long_name, sizeof(long_name), "bytcht-es8316-%s-spk-%s-mic",
|
||||
(quirk & BYT_CHT_ES8316_MONO_SPEAKER) ? "mono" : "stereo",
|
||||
mic_name[BYT_CHT_ES8316_MAP(quirk)]);
|
||||
byt_cht_es8316_card.long_name = long_name;
|
||||
+#endif
|
||||
|
||||
/* register the soc card */
|
||||
snd_soc_card_set_drvdata(&byt_cht_es8316_card, priv);
|
||||
diff --git a/sound/soc/intel/boards/bytcr_rt5640.c b/sound/soc/intel/boards/bytcr_rt5640.c
|
||||
index 7bc6d3cec94c..648fcc1d07b5 100644
|
||||
--- a/sound/soc/intel/boards/bytcr_rt5640.c
|
||||
+++ b/sound/soc/intel/boards/bytcr_rt5640.c
|
||||
@@ -1082,7 +1082,9 @@ static struct snd_soc_dai_link byt_rt5640_dais[] = {
|
||||
static char byt_rt5640_codec_name[SND_ACPI_I2C_ID_LEN];
|
||||
static char byt_rt5640_codec_aif_name[12]; /* = "rt5640-aif[1|2]" */
|
||||
static char byt_rt5640_cpu_dai_name[10]; /* = "ssp[0|2]-port" */
|
||||
+#if !IS_ENABLED(CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES)
|
||||
static char byt_rt5640_long_name[40]; /* = "bytcr-rt5640-*-spk-*-mic" */
|
||||
+#endif
|
||||
static char byt_rt5640_components[32]; /* = "cfg-spk:* cfg-mic:*" */
|
||||
|
||||
static int byt_rt5640_suspend(struct snd_soc_card *card)
|
||||
@@ -1311,12 +1313,14 @@ static int snd_byt_rt5640_mc_probe(struct platform_device *pdev)
|
||||
(byt_rt5640_quirk & BYT_RT5640_MONO_SPEAKER) ? "1" : "2",
|
||||
map_name[BYT_RT5640_MAP(byt_rt5640_quirk)]);
|
||||
byt_rt5640_card.components = byt_rt5640_components;
|
||||
+#if !IS_ENABLED(CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES)
|
||||
snprintf(byt_rt5640_long_name, sizeof(byt_rt5640_long_name),
|
||||
"bytcr-rt5640-%s-spk-%s-mic",
|
||||
(byt_rt5640_quirk & BYT_RT5640_MONO_SPEAKER) ?
|
||||
"mono" : "stereo",
|
||||
map_name[BYT_RT5640_MAP(byt_rt5640_quirk)]);
|
||||
byt_rt5640_card.long_name = byt_rt5640_long_name;
|
||||
+#endif
|
||||
|
||||
/* override plaform name, if required */
|
||||
platform_name = mach->mach_params.platform;
|
||||
diff --git a/sound/soc/intel/boards/bytcr_rt5651.c b/sound/soc/intel/boards/bytcr_rt5651.c
|
||||
index 80a5674ddb1b..c0d322a859f7 100644
|
||||
--- a/sound/soc/intel/boards/bytcr_rt5651.c
|
||||
+++ b/sound/soc/intel/boards/bytcr_rt5651.c
|
||||
@@ -797,7 +797,9 @@ static struct snd_soc_dai_link byt_rt5651_dais[] = {
|
||||
static char byt_rt5651_codec_name[SND_ACPI_I2C_ID_LEN];
|
||||
static char byt_rt5651_codec_aif_name[12]; /* = "rt5651-aif[1|2]" */
|
||||
static char byt_rt5651_cpu_dai_name[10]; /* = "ssp[0|2]-port" */
|
||||
+#if !IS_ENABLED(CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES)
|
||||
static char byt_rt5651_long_name[50]; /* = "bytcr-rt5651-*-spk-*-mic[-swapped-hp]" */
|
||||
+#endif
|
||||
static char byt_rt5651_components[50]; /* = "cfg-spk:* cfg-mic:*" */
|
||||
|
||||
static int byt_rt5651_suspend(struct snd_soc_card *card)
|
||||
@@ -1087,6 +1089,7 @@ static int snd_byt_rt5651_mc_probe(struct platform_device *pdev)
|
||||
(byt_rt5651_quirk & BYT_RT5651_HP_LR_SWAPPED) ?
|
||||
" cfg-hp:lrswap" : "");
|
||||
byt_rt5651_card.components = byt_rt5651_components;
|
||||
+#if !IS_ENABLED(CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES)
|
||||
snprintf(byt_rt5651_long_name, sizeof(byt_rt5651_long_name),
|
||||
"bytcr-rt5651-%s-spk-%s-mic%s",
|
||||
(byt_rt5651_quirk & BYT_RT5651_MONO_SPEAKER) ?
|
||||
@@ -1095,6 +1098,7 @@ static int snd_byt_rt5651_mc_probe(struct platform_device *pdev)
|
||||
(byt_rt5651_quirk & BYT_RT5651_HP_LR_SWAPPED) ?
|
||||
"-hp-swapped" : "");
|
||||
byt_rt5651_card.long_name = byt_rt5651_long_name;
|
||||
+#endif
|
||||
|
||||
/* override plaform name, if required */
|
||||
platform_name = mach->mach_params.platform;
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
||||
From 9008dcbcf36b9d67ea24920e05b50c8754488ebd Mon Sep 17 00:00:00 2001
|
||||
From: Jaroslav Kysela <perex@perex.cz>
|
||||
Date: Fri, 22 Nov 2019 09:31:03 +0100
|
||||
Subject: [PATCH] ASoC: SOF - topology - do not change the link trigger order
|
||||
for pre-1.4 firmware
|
||||
|
||||
This patch is for SOF v1.3 firmware. The DSP firmware will crash (DSP oops)
|
||||
without this patch. The 1.4.1 firmare has this issue fixed.
|
||||
|
||||
The ABI version is used for the comparison, because the firmware version
|
||||
for the firmware files before 1.4.2 was not set properly (git hash was
|
||||
used).
|
||||
|
||||
BugLink: https://github.com/thesofproject/sof/issues/2102
|
||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
||||
Cc: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
|
||||
Cc: Mark Brown <broonie@kernel.org>
|
||||
---
|
||||
sound/soc/sof/topology.c | 10 +++++++---
|
||||
1 file changed, 7 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/sound/soc/sof/topology.c b/sound/soc/sof/topology.c
|
||||
index 9f4f8868b386..58ff4766b47b 100644
|
||||
--- a/sound/soc/sof/topology.c
|
||||
+++ b/sound/soc/sof/topology.c
|
||||
@@ -3111,6 +3111,7 @@ static int sof_link_load(struct snd_soc_component *scomp, int index,
|
||||
struct snd_soc_tplg_private *private = &cfg->priv;
|
||||
struct sof_ipc_dai_config config;
|
||||
struct snd_soc_tplg_hw_config *hw_config;
|
||||
+ struct sof_ipc_fw_version *v = &sdev->fw_ready.version;
|
||||
int num_hw_configs;
|
||||
int ret;
|
||||
int i = 0;
|
||||
@@ -3128,9 +3129,12 @@ static int sof_link_load(struct snd_soc_component *scomp, int index,
|
||||
if (!link->no_pcm) {
|
||||
link->nonatomic = true;
|
||||
|
||||
- /* set trigger order */
|
||||
- link->trigger[0] = SND_SOC_DPCM_TRIGGER_POST;
|
||||
- link->trigger[1] = SND_SOC_DPCM_TRIGGER_POST;
|
||||
+ /* this causes DSP panic on firmware v1.3 */
|
||||
+ if (v->abi_version > SOF_ABI_VER(3, 7, 0)) {
|
||||
+ /* set trigger order */
|
||||
+ link->trigger[0] = SND_SOC_DPCM_TRIGGER_POST;
|
||||
+ link->trigger[1] = SND_SOC_DPCM_TRIGGER_POST;
|
||||
+ }
|
||||
|
||||
/* nothing more to do for FE dai links */
|
||||
return 0;
|
||||
--
|
||||
2.24.1
|
||||
|
||||
|
||||
From af7aae1b1f6306a1cda4da393e920a1334eaa3d4 Mon Sep 17 00:00:00 2001
|
||||
From: Kai Vehmanen <kai.vehmanen@linux.intel.com>
|
||||
Date: Thu, 6 Feb 2020 22:02:23 +0200
|
||||
Subject: [PATCH] ASoC: SOF: Intel: hda: move i915 init earlier
|
||||
|
||||
To be compliant with i915 display driver requirements, i915 power-up
|
||||
must be done before any HDA communication takes place, including
|
||||
parsing the bus capabilities. Otherwise the initial codec probe
|
||||
may fail.
|
||||
|
||||
Move i915 initialization earlier in the SOF HDA sequence. This
|
||||
sequence is now aligned with the snd-hda-intel driver where the
|
||||
display_power() call is before snd_hdac_bus_parse_capabilities()
|
||||
and rest of the capability parsing.
|
||||
|
||||
Also remove unnecessary ifdef around hda_codec_i915_init(). There's
|
||||
a dummy implementation provided if CONFIG_SND_SOC_SOF_HDA is not
|
||||
enabled.
|
||||
|
||||
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
|
||||
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
|
||||
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
|
||||
Reviewed-by: Takashi Iwai <tiwai@suse.de>
|
||||
Link: https://lore.kernel.org/r/20200206200223.7715-3-kai.vehmanen@linux.intel.com
|
||||
Signed-off-by: Mark Brown <broonie@kernel.org>
|
||||
---
|
||||
sound/soc/sof/intel/hda.c | 17 ++++++++---------
|
||||
1 file changed, 8 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/sound/soc/sof/intel/hda.c b/sound/soc/sof/intel/hda.c
|
||||
index 8fddafb5c1d4..25946a1c2822 100644
|
||||
--- a/sound/soc/sof/intel/hda.c
|
||||
+++ b/sound/soc/sof/intel/hda.c
|
||||
@@ -286,6 +286,13 @@ static int hda_init(struct snd_sof_dev *sdev)
|
||||
/* HDA base */
|
||||
sdev->bar[HDA_DSP_HDA_BAR] = bus->remap_addr;
|
||||
|
||||
+ /* init i915 and HDMI codecs */
|
||||
+ ret = hda_codec_i915_init(sdev);
|
||||
+ if (ret < 0) {
|
||||
+ dev_err(sdev->dev, "error: init i915 and HDMI codec failed\n");
|
||||
+ return ret;
|
||||
+ }
|
||||
+
|
||||
/* get controller capabilities */
|
||||
ret = hda_dsp_ctrl_get_caps(sdev);
|
||||
if (ret < 0)
|
||||
@@ -353,15 +360,6 @@ static int hda_init_caps(struct snd_sof_dev *sdev)
|
||||
if (bus->ppcap)
|
||||
dev_dbg(sdev->dev, "PP capability, will probe DSP later.\n");
|
||||
|
||||
-#if IS_ENABLED(CONFIG_SND_SOC_SOF_HDA)
|
||||
- /* init i915 and HDMI codecs */
|
||||
- ret = hda_codec_i915_init(sdev);
|
||||
- if (ret < 0) {
|
||||
- dev_err(sdev->dev, "error: init i915 and HDMI codec failed\n");
|
||||
- return ret;
|
||||
- }
|
||||
-#endif
|
||||
-
|
||||
/* Init HDA controller after i915 init */
|
||||
ret = hda_dsp_ctrl_init_chip(sdev, true);
|
||||
if (ret < 0) {
|
||||
@@ -611,6 +609,7 @@ int hda_dsp_probe(struct snd_sof_dev *sdev)
|
||||
iounmap(sdev->bar[HDA_DSP_BAR]);
|
||||
hdac_bus_unmap:
|
||||
iounmap(bus->remap_addr);
|
||||
+ hda_codec_i915_exit(sdev);
|
||||
err:
|
||||
return ret;
|
||||
}
|
||||
--
|
||||
2.24.1
|
||||
|
||||
374
arm-bcm2711-mmc-sdhci-iproc-Add-custom-set_power-callback.patch
Normal file
374
arm-bcm2711-mmc-sdhci-iproc-Add-custom-set_power-callback.patch
Normal file
|
|
@ -0,0 +1,374 @@
|
|||
From 6c92ae1e452ff3f4648b1450c9a3233a2ca53feb Mon Sep 17 00:00:00 2001
|
||||
From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
Date: Fri, 6 Mar 2020 18:44:03 +0100
|
||||
Subject: mmc: sdhci: Introduce sdhci_set_power_and_bus_voltage()
|
||||
|
||||
Some controllers diverge from the standard way of setting power and need
|
||||
their bus voltage register to be configured regardless of the whether
|
||||
they use regulators. As this is a common pattern across sdhci hosts,
|
||||
create a helper function.
|
||||
|
||||
Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
|
||||
Link: https://lore.kernel.org/r/20200306174413.20634-2-nsaenzjulienne@suse.de
|
||||
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
|
||||
---
|
||||
drivers/mmc/host/sdhci.c | 19 +++++++++++++++++++
|
||||
drivers/mmc/host/sdhci.h | 3 +++
|
||||
2 files changed, 22 insertions(+)
|
||||
|
||||
diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
|
||||
index c59566363a42..525e0c971c6a 100644
|
||||
--- a/drivers/mmc/host/sdhci.c
|
||||
+++ b/drivers/mmc/host/sdhci.c
|
||||
@@ -2010,6 +2010,25 @@ void sdhci_set_power(struct sdhci_host *host, unsigned char mode,
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(sdhci_set_power);
|
||||
|
||||
+/*
|
||||
+ * Some controllers need to configure a valid bus voltage on their power
|
||||
+ * register regardless of whether an external regulator is taking care of power
|
||||
+ * supply. This helper function takes care of it if set as the controller's
|
||||
+ * sdhci_ops.set_power callback.
|
||||
+ */
|
||||
+void sdhci_set_power_and_bus_voltage(struct sdhci_host *host,
|
||||
+ unsigned char mode,
|
||||
+ unsigned short vdd)
|
||||
+{
|
||||
+ if (!IS_ERR(host->mmc->supply.vmmc)) {
|
||||
+ struct mmc_host *mmc = host->mmc;
|
||||
+
|
||||
+ mmc_regulator_set_ocr(mmc, mmc->supply.vmmc, vdd);
|
||||
+ }
|
||||
+ sdhci_set_power_noreg(host, mode, vdd);
|
||||
+}
|
||||
+EXPORT_SYMBOL_GPL(sdhci_set_power_and_bus_voltage);
|
||||
+
|
||||
/*****************************************************************************\
|
||||
* *
|
||||
* MMC callbacks *
|
||||
diff --git a/drivers/mmc/host/sdhci.h b/drivers/mmc/host/sdhci.h
|
||||
index 249635692112..851b81565f46 100644
|
||||
--- a/drivers/mmc/host/sdhci.h
|
||||
+++ b/drivers/mmc/host/sdhci.h
|
||||
@@ -772,6 +772,9 @@ void sdhci_set_clock(struct sdhci_host *host, unsigned int clock);
|
||||
void sdhci_enable_clk(struct sdhci_host *host, u16 clk);
|
||||
void sdhci_set_power(struct sdhci_host *host, unsigned char mode,
|
||||
unsigned short vdd);
|
||||
+void sdhci_set_power_and_bus_voltage(struct sdhci_host *host,
|
||||
+ unsigned char mode,
|
||||
+ unsigned short vdd);
|
||||
void sdhci_set_power_noreg(struct sdhci_host *host, unsigned char mode,
|
||||
unsigned short vdd);
|
||||
void sdhci_request(struct mmc_host *mmc, struct mmc_request *mrq);
|
||||
--
|
||||
cgit 1.2-0.3.lf.el7
|
||||
From f87391eec2c5f54269e64d655da19f2c32515e4c Mon Sep 17 00:00:00 2001
|
||||
From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
Date: Fri, 6 Mar 2020 18:44:11 +0100
|
||||
Subject: mmc: sdhci: iproc: Add custom set_power() callback for bcm2711
|
||||
|
||||
The controller needs a valid bus voltage in its power register
|
||||
regardless of whether an external regulator is taking care of the power
|
||||
supply.
|
||||
|
||||
The sdhci core already provides a helper function for this,
|
||||
sdhci_set_power_and_bus_voltage(), so create a bcm2711 specific 'struct
|
||||
sdhci_ops' which makes use of it.
|
||||
|
||||
Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
|
||||
Link: https://lore.kernel.org/r/20200306174413.20634-10-nsaenzjulienne@suse.de
|
||||
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
|
||||
---
|
||||
drivers/mmc/host/sdhci-iproc.c | 17 ++++++++++++++++-
|
||||
1 file changed, 16 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/mmc/host/sdhci-iproc.c b/drivers/mmc/host/sdhci-iproc.c
|
||||
index f4f5f0a70cda..225603148d7d 100644
|
||||
--- a/drivers/mmc/host/sdhci-iproc.c
|
||||
+++ b/drivers/mmc/host/sdhci-iproc.c
|
||||
@@ -261,9 +261,24 @@ static const struct sdhci_iproc_data bcm2835_data = {
|
||||
.mmc_caps = 0x00000000,
|
||||
};
|
||||
|
||||
+static const struct sdhci_ops sdhci_iproc_bcm2711_ops = {
|
||||
+ .read_l = sdhci_iproc_readl,
|
||||
+ .read_w = sdhci_iproc_readw,
|
||||
+ .read_b = sdhci_iproc_readb,
|
||||
+ .write_l = sdhci_iproc_writel,
|
||||
+ .write_w = sdhci_iproc_writew,
|
||||
+ .write_b = sdhci_iproc_writeb,
|
||||
+ .set_clock = sdhci_set_clock,
|
||||
+ .set_power = sdhci_set_power_and_bus_voltage,
|
||||
+ .get_max_clock = sdhci_iproc_get_max_clock,
|
||||
+ .set_bus_width = sdhci_set_bus_width,
|
||||
+ .reset = sdhci_reset,
|
||||
+ .set_uhs_signaling = sdhci_set_uhs_signaling,
|
||||
+};
|
||||
+
|
||||
static const struct sdhci_pltfm_data sdhci_bcm2711_pltfm_data = {
|
||||
.quirks = SDHCI_QUIRK_MULTIBLOCK_READ_ACMD12,
|
||||
- .ops = &sdhci_iproc_32only_ops,
|
||||
+ .ops = &sdhci_iproc_bcm2711_ops,
|
||||
};
|
||||
|
||||
static const struct sdhci_iproc_data bcm2711_data = {
|
||||
--
|
||||
cgit 1.2-0.3.lf.el7
|
||||
From patchwork Fri Mar 6 17:44:12 2020
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
X-Patchwork-Id: 11424593
|
||||
Return-Path:
|
||||
<SRS0=iJpk=4X=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
|
||||
Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
|
||||
[172.30.200.123])
|
||||
by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 9D86014E3
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Fri, 6 Mar 2020 17:46:55 +0000 (UTC)
|
||||
Received: from bombadil.infradead.org (bombadil.infradead.org
|
||||
[198.137.202.133])
|
||||
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
|
||||
(No client certificate requested)
|
||||
by mail.kernel.org (Postfix) with ESMTPS id 7BFCB2072A
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Fri, 6 Mar 2020 17:46:55 +0000 (UTC)
|
||||
Authentication-Results: mail.kernel.org;
|
||||
dkim=pass (2048-bit key) header.d=lists.infradead.org
|
||||
header.i=@lists.infradead.org header.b="YjdlKV21"
|
||||
DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7BFCB2072A
|
||||
Authentication-Results: mail.kernel.org;
|
||||
dmarc=none (p=none dis=none) header.from=suse.de
|
||||
Authentication-Results: mail.kernel.org;
|
||||
spf=none
|
||||
smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
|
||||
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
|
||||
d=lists.infradead.org; s=bombadil.20170209; h=Sender:
|
||||
Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
|
||||
List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:
|
||||
Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description:
|
||||
Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
|
||||
List-Owner; bh=uwmoUBe7WYtSPXJudhI4GM1SShwysP2rkzh9oA/iygA=; b=YjdlKV21P2YnYd
|
||||
uFZk/zUDicQRMv6kHWHSeOubxKYNNZjuVUmkI6PWtCuEt37bz+3qPjaDWjY6QO0qR9wHKzxaPikjZ
|
||||
upSKvBHf9jcYSON0gQhjCxZEGnfO3zrdObtnjdQFTTE9rJPiUXe+bIsvhqlNCO/5Xq4pXjSVR81Fw
|
||||
IVfXtxtw0tmDjrN7VDqH+dhvUPrvLDRnXOHnolvQfQyuvyvSZ9I7Wn/c4fFJsZemBA7mjvORI7cTd
|
||||
lVRuIqACikY2bT4Zh+ZtglOCFxtlNjCe60Dj94AnA/j51dvC8MHQOOD+HGKjGzKBwk5FONXjvKeUZ
|
||||
kR8WGaZiQsG3hj3hzxyw==;
|
||||
Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
|
||||
by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
|
||||
id 1jAH3k-0003wN-91; Fri, 06 Mar 2020 17:46:52 +0000
|
||||
Received: from mx2.suse.de ([195.135.220.15])
|
||||
by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
|
||||
id 1jAH1V-00085X-Ut; Fri, 06 Mar 2020 17:44:35 +0000
|
||||
X-Virus-Scanned: by amavisd-new at test-mx.suse.de
|
||||
Received: from relay2.suse.de (unknown [195.135.220.254])
|
||||
by mx2.suse.de (Postfix) with ESMTP id 8906AACC2;
|
||||
Fri, 6 Mar 2020 17:44:32 +0000 (UTC)
|
||||
From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
To: adrian.hunter@intel.com, linux-kernel@vger.kernel.org,
|
||||
Rob Herring <robh+dt@kernel.org>,
|
||||
Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
Subject: [PATCH v2 10/11] ARM: dts: bcm2711: Update expgpio's GPIO labels
|
||||
Date: Fri, 6 Mar 2020 18:44:12 +0100
|
||||
Message-Id: <20200306174413.20634-11-nsaenzjulienne@suse.de>
|
||||
X-Mailer: git-send-email 2.25.1
|
||||
In-Reply-To: <20200306174413.20634-1-nsaenzjulienne@suse.de>
|
||||
References: <20200306174413.20634-1-nsaenzjulienne@suse.de>
|
||||
MIME-Version: 1.0
|
||||
X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
|
||||
X-CRM114-CacheID: sfid-20200306_094434_171925_0978A2DC
|
||||
X-CRM114-Status: GOOD ( 11.64 )
|
||||
X-Spam-Score: -2.3 (--)
|
||||
X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
|
||||
Content analysis details: (-2.3 points)
|
||||
pts rule name description
|
||||
---- ----------------------
|
||||
--------------------------------------------------
|
||||
0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3)
|
||||
[195.135.220.15 listed in wl.mailspike.net]
|
||||
-2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/,
|
||||
medium trust [195.135.220.15 listed in list.dnswl.org]
|
||||
0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
|
||||
-0.0 SPF_PASS SPF: sender matches SPF record
|
||||
0.0 RCVD_IN_MSPIKE_WL Mailspike good senders
|
||||
X-BeenThere: linux-arm-kernel@lists.infradead.org
|
||||
X-Mailman-Version: 2.1.29
|
||||
Precedence: list
|
||||
List-Id: <linux-arm-kernel.lists.infradead.org>
|
||||
List-Unsubscribe:
|
||||
<http://lists.infradead.org/mailman/options/linux-arm-kernel>,
|
||||
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
|
||||
List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
|
||||
List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
|
||||
List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
|
||||
List-Subscribe:
|
||||
<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
|
||||
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
|
||||
Cc: stefan.wahren@i2se.com, devicetree@vger.kernel.org, f.fainelli@gmail.com,
|
||||
linux-mmc@vger.kernel.org, bcm-kernel-feedback-list@broadcom.com,
|
||||
linux-rpi-kernel@lists.infradead.org, phil@raspberrypi.com,
|
||||
linux-arm-kernel@lists.infradead.org
|
||||
Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
|
||||
Errors-To:
|
||||
linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
|
||||
|
||||
The 6th line of the GPIO expander is used to power the board's SD card.
|
||||
|
||||
Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
---
|
||||
arch/arm/boot/dts/bcm2711-rpi-4-b.dts | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
|
||||
index 1d4b589fe233..b0ea8233b636 100644
|
||||
--- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
|
||||
+++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
|
||||
@@ -68,7 +68,7 @@ expgpio: gpio {
|
||||
"GLOBAL_RESET",
|
||||
"VDD_SD_IO_SEL",
|
||||
"CAM_GPIO",
|
||||
- "",
|
||||
+ "SD_PWR_ON",
|
||||
"";
|
||||
status = "okay";
|
||||
};
|
||||
From patchwork Fri Mar 6 17:44:13 2020
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
X-Patchwork-Id: 11424599
|
||||
Return-Path:
|
||||
<SRS0=iJpk=4X=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
|
||||
Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
|
||||
[172.30.200.123])
|
||||
by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id A9E8E14BC
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Fri, 6 Mar 2020 17:47:49 +0000 (UTC)
|
||||
Received: from bombadil.infradead.org (bombadil.infradead.org
|
||||
[198.137.202.133])
|
||||
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
|
||||
(No client certificate requested)
|
||||
by mail.kernel.org (Postfix) with ESMTPS id 86F7120656
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Fri, 6 Mar 2020 17:47:49 +0000 (UTC)
|
||||
Authentication-Results: mail.kernel.org;
|
||||
dkim=pass (2048-bit key) header.d=lists.infradead.org
|
||||
header.i=@lists.infradead.org header.b="nK9IFX75"
|
||||
DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 86F7120656
|
||||
Authentication-Results: mail.kernel.org;
|
||||
dmarc=none (p=none dis=none) header.from=suse.de
|
||||
Authentication-Results: mail.kernel.org;
|
||||
spf=none
|
||||
smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
|
||||
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
|
||||
d=lists.infradead.org; s=bombadil.20170209; h=Sender:
|
||||
Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
|
||||
List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:
|
||||
Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description:
|
||||
Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
|
||||
List-Owner; bh=yrr+wQNcWoBzz3a/8/AcMlS2enrwpsgYIWUpL8bLv8o=; b=nK9IFX75hVaG6g
|
||||
t8PhPIHJnIGtQxqZ65valF8dAq8JXeUle2mgnW5xdfa/YWcgzajD9/LaS1qMXKW7wDU/rQ0GbSW9t
|
||||
+8F8v8NQzCf34sfHmFBEl30S1pJN/dQVJKJk0kmx6/P9N+ig3vAyMVsPsXq1Xij+OU0aU8SU1V+mE
|
||||
nZnwLti9oSRWY6sNhg1MoHB2DNBt/FBNtROGqiXh13ngQTg8C/HgYapnJnXb+GjrutVM2DzH+i/tG
|
||||
OtgGRm0XoLRz5QjavZZHPmlHUm8pMxfgllYbUvrESNgDT06vBiPj4idCN7X1XXxxoqPsP3/k8kido
|
||||
Py713+dNVA1gqQEWqG1g==;
|
||||
Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
|
||||
by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
|
||||
id 1jAH4a-0004vA-Os; Fri, 06 Mar 2020 17:47:44 +0000
|
||||
Received: from mx2.suse.de ([195.135.220.15])
|
||||
by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
|
||||
id 1jAH1W-00086J-W9; Fri, 06 Mar 2020 17:44:36 +0000
|
||||
X-Virus-Scanned: by amavisd-new at test-mx.suse.de
|
||||
Received: from relay2.suse.de (unknown [195.135.220.254])
|
||||
by mx2.suse.de (Postfix) with ESMTP id 8D8E5AEC5;
|
||||
Fri, 6 Mar 2020 17:44:33 +0000 (UTC)
|
||||
From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
To: adrian.hunter@intel.com, linux-kernel@vger.kernel.org,
|
||||
Rob Herring <robh+dt@kernel.org>,
|
||||
Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
Subject: [PATCH v2 11/11] ARM: dts: bcm2711: Add vmmc regulator in emmc2
|
||||
Date: Fri, 6 Mar 2020 18:44:13 +0100
|
||||
Message-Id: <20200306174413.20634-12-nsaenzjulienne@suse.de>
|
||||
X-Mailer: git-send-email 2.25.1
|
||||
In-Reply-To: <20200306174413.20634-1-nsaenzjulienne@suse.de>
|
||||
References: <20200306174413.20634-1-nsaenzjulienne@suse.de>
|
||||
MIME-Version: 1.0
|
||||
X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
|
||||
X-CRM114-CacheID: sfid-20200306_094435_205829_20FE02CB
|
||||
X-CRM114-Status: GOOD ( 10.34 )
|
||||
X-Spam-Score: -2.3 (--)
|
||||
X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
|
||||
Content analysis details: (-2.3 points)
|
||||
pts rule name description
|
||||
---- ----------------------
|
||||
--------------------------------------------------
|
||||
0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3)
|
||||
[195.135.220.15 listed in wl.mailspike.net]
|
||||
-2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/,
|
||||
medium trust [195.135.220.15 listed in list.dnswl.org]
|
||||
0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
|
||||
-0.0 SPF_PASS SPF: sender matches SPF record
|
||||
0.0 RCVD_IN_MSPIKE_WL Mailspike good senders
|
||||
X-BeenThere: linux-arm-kernel@lists.infradead.org
|
||||
X-Mailman-Version: 2.1.29
|
||||
Precedence: list
|
||||
List-Id: <linux-arm-kernel.lists.infradead.org>
|
||||
List-Unsubscribe:
|
||||
<http://lists.infradead.org/mailman/options/linux-arm-kernel>,
|
||||
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
|
||||
List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
|
||||
List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
|
||||
List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
|
||||
List-Subscribe:
|
||||
<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
|
||||
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
|
||||
Cc: stefan.wahren@i2se.com, devicetree@vger.kernel.org, f.fainelli@gmail.com,
|
||||
linux-mmc@vger.kernel.org, bcm-kernel-feedback-list@broadcom.com,
|
||||
linux-rpi-kernel@lists.infradead.org, phil@raspberrypi.com,
|
||||
linux-arm-kernel@lists.infradead.org
|
||||
Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
|
||||
Errors-To:
|
||||
linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
|
||||
|
||||
The SD card power can be controlled trough a pin routed into the board's
|
||||
external GPIO expander. Turn that into a regulator and provide it to
|
||||
emmc2.
|
||||
|
||||
Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
---
|
||||
arch/arm/boot/dts/bcm2711-rpi-4-b.dts | 11 +++++++++++
|
||||
1 file changed, 11 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
|
||||
index b0ea8233b636..a2da058396fe 100644
|
||||
--- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
|
||||
+++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
|
||||
@@ -55,6 +55,16 @@ sd_io_1v8_reg: sd_io_1v8_reg {
|
||||
3300000 0x0>;
|
||||
status = "okay";
|
||||
};
|
||||
+
|
||||
+ sd_vcc_reg: sd_vcc_reg {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "vcc-sd";
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-boot-on;
|
||||
+ enable-active-high;
|
||||
+ gpio = <&expgpio 6 GPIO_ACTIVE_HIGH>;
|
||||
+ };
|
||||
};
|
||||
|
||||
&firmware {
|
||||
@@ -173,6 +183,7 @@ brcmf: wifi@1 {
|
||||
/* EMMC2 is used to drive the SD card */
|
||||
&emmc2 {
|
||||
vqmmc-supply = <&sd_io_1v8_reg>;
|
||||
+ vmmc-supply = <&sd_vcc_reg>;
|
||||
broken-cd;
|
||||
status = "okay";
|
||||
};
|
||||
47
arm-bcm2835-serial-8250_early-support-aux-uart.patch
Normal file
47
arm-bcm2835-serial-8250_early-support-aux-uart.patch
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
From 57b76faf1d7860f070a1ee2d0b7eccd9f37ecc55 Mon Sep 17 00:00:00 2001
|
||||
From: Matthias Brugger <mbrugger@suse.com>
|
||||
Date: Sun, 26 Jan 2020 13:33:14 +0100
|
||||
Subject: serial: 8250_early: Add earlycon for BCM2835 aux uart
|
||||
|
||||
Define the OF early console for BCM2835 aux UART, which can be enabled
|
||||
by passing "earlycon" on the boot command line. This UART is found on
|
||||
BCM283x and BCM27xx SoCs, a.k.a. Raspberry Pi in its variants.
|
||||
|
||||
Signed-off-by: Matthias Brugger <mbrugger@suse.com>
|
||||
Link: https://lore.kernel.org/r/20200126123314.3558-1-matthias.bgg@kernel.org
|
||||
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
---
|
||||
drivers/tty/serial/8250/8250_bcm2835aux.c | 18 ++++++++++++++++++
|
||||
1 file changed, 18 insertions(+)
|
||||
|
||||
diff --git a/drivers/tty/serial/8250/8250_bcm2835aux.c b/drivers/tty/serial/8250/8250_bcm2835aux.c
|
||||
index e70e3cc30050..5cc03bf24f85 100644
|
||||
--- a/drivers/tty/serial/8250/8250_bcm2835aux.c
|
||||
+++ b/drivers/tty/serial/8250/8250_bcm2835aux.c
|
||||
@@ -137,6 +137,24 @@ static struct platform_driver bcm2835aux_serial_driver = {
|
||||
};
|
||||
module_platform_driver(bcm2835aux_serial_driver);
|
||||
|
||||
+#ifdef CONFIG_SERIAL_8250_CONSOLE
|
||||
+
|
||||
+static int __init early_bcm2835aux_setup(struct earlycon_device *device,
|
||||
+ const char *options)
|
||||
+{
|
||||
+ if (!device->port.membase)
|
||||
+ return -ENODEV;
|
||||
+
|
||||
+ device->port.iotype = UPIO_MEM32;
|
||||
+ device->port.regshift = 2;
|
||||
+
|
||||
+ return early_serial8250_setup(device, NULL);
|
||||
+}
|
||||
+
|
||||
+OF_EARLYCON_DECLARE(bcm2835aux, "brcm,bcm2835-aux-uart",
|
||||
+ early_bcm2835aux_setup);
|
||||
+#endif
|
||||
+
|
||||
MODULE_DESCRIPTION("BCM2835 auxiliar UART driver");
|
||||
MODULE_AUTHOR("Martin Sperl <kernel@martin.sperl.org>");
|
||||
MODULE_LICENSE("GPL v2");
|
||||
--
|
||||
cgit 1.2-0.3.lf.el7
|
||||
50
arm64-Fix-some-GPIO-setup-on-Pinebook-Pro.patch
Normal file
50
arm64-Fix-some-GPIO-setup-on-Pinebook-Pro.patch
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
From c45fbddb2cd7ce6198e33ebe6dc4c1301d7875d4 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Robinson <pbrobinson@gmail.com>
|
||||
Date: Sun, 19 Apr 2020 20:50:08 +0100
|
||||
Subject: [PATCH] Fix some GPIO setup on Pinebook Pro
|
||||
|
||||
This patchset contains two small fixes for the dts of the Pinebook Pro.
|
||||
The first fixes inverted logic on the headphone detect GPIO.
|
||||
The second patch fixes unreliable DC charger detection.
|
||||
|
||||
Tobias Schramm (2):
|
||||
arm64: dts: rockchip: fix inverted headphone detection
|
||||
arm64: dts: rockchip: enable DC charger detection pullup
|
||||
|
||||
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts b/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
|
||||
index 5ea281b55fe2..294d21bf45f5 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
|
||||
@@ -147,7 +147,7 @@ es8316-sound {
|
||||
"Speaker", "Speaker Amplifier OUTL",
|
||||
"Speaker", "Speaker Amplifier OUTR";
|
||||
|
||||
- simple-audio-card,hp-det-gpio = <&gpio0 RK_PB0 GPIO_ACTIVE_LOW>;
|
||||
+ simple-audio-card,hp-det-gpio = <&gpio0 RK_PB0 GPIO_ACTIVE_HIGH>;
|
||||
simple-audio-card,aux-devs = <&speaker_amp>;
|
||||
simple-audio-card,pin-switches = "Speaker";
|
||||
|
||||
@@ -788,13 +788,13 @@ lidbtn_gpio: lidbtn-gpio {
|
||||
|
||||
dc-charger {
|
||||
dc_det_gpio: dc-det-gpio {
|
||||
- rockchip,pins = <4 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ rockchip,pins = <4 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>;
|
||||
};
|
||||
};
|
||||
|
||||
es8316 {
|
||||
hp_det_gpio: hp-det-gpio {
|
||||
- rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_down>;
|
||||
+ rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>;
|
||||
};
|
||||
};
|
||||
|
||||
--
|
||||
2.26.1
|
||||
|
||||
69
arm64-a64-mbus.patch
Normal file
69
arm64-a64-mbus.patch
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
From daae9f66b29a04a94708b1b5a9b61e3ee14df031 Mon Sep 17 00:00:00 2001
|
||||
From: Jernej Skrabec <jernej.skrabec@siol.net>
|
||||
Date: Mon, 10 Feb 2020 18:06:52 +0100
|
||||
Subject: [PATCH 1/2] dt-bindings: interconnect: sunxi: Add A64 MBUS compatible
|
||||
|
||||
A64 contains MBUS controller. Add a compatible for it.
|
||||
|
||||
Acked-by: Rob Herring <robh@kernel.org>
|
||||
Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
|
||||
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
||||
---
|
||||
.../devicetree/bindings/arm/sunxi/allwinner,sun4i-a10-mbus.yaml | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/Documentation/devicetree/bindings/arm/sunxi/allwinner,sun4i-a10-mbus.yaml b/Documentation/devicetree/bindings/arm/sunxi/allwinner,sun4i-a10-mbus.yaml
|
||||
index 9370e64992dd..aa0738b4d534 100644
|
||||
--- a/Documentation/devicetree/bindings/arm/sunxi/allwinner,sun4i-a10-mbus.yaml
|
||||
+++ b/Documentation/devicetree/bindings/arm/sunxi/allwinner,sun4i-a10-mbus.yaml
|
||||
@@ -30,6 +30,7 @@ properties:
|
||||
enum:
|
||||
- allwinner,sun5i-a13-mbus
|
||||
- allwinner,sun8i-h3-mbus
|
||||
+ - allwinner,sun50i-a64-mbus
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
--
|
||||
2.24.1
|
||||
|
||||
From 410bb2be7e1f1d329c238e2d6d06b6c25dcee404 Mon Sep 17 00:00:00 2001
|
||||
From: Jernej Skrabec <jernej.skrabec@siol.net>
|
||||
Date: Mon, 10 Feb 2020 18:06:54 +0100
|
||||
Subject: [PATCH 2/2] arm64: dts: allwinner: a64: Add MBUS controller node
|
||||
|
||||
A64 contains MBUS, which is the bus used by DMA devices to access
|
||||
system memory.
|
||||
|
||||
MBUS controller is responsible for arbitration between channels based
|
||||
on set priority and can do some other things as well, like report
|
||||
bandwidth used. It also maps RAM region to different address than CPU.
|
||||
|
||||
Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
|
||||
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
||||
---
|
||||
arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 8 ++++++++
|
||||
1 file changed, 8 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
|
||||
index 862b47dc9dc9..251c91724de1 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
|
||||
@@ -1061,6 +1061,14 @@ pwm: pwm@1c21400 {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
+ mbus: dram-controller@1c62000 {
|
||||
+ compatible = "allwinner,sun50i-a64-mbus";
|
||||
+ reg = <0x01c62000 0x1000>;
|
||||
+ clocks = <&ccu 112>;
|
||||
+ dma-ranges = <0x00000000 0x40000000 0xc0000000>;
|
||||
+ #interconnect-cells = <1>;
|
||||
+ };
|
||||
+
|
||||
csi: csi@1cb0000 {
|
||||
compatible = "allwinner,sun50i-a64-csi";
|
||||
reg = <0x01cb0000 0x1000>;
|
||||
--
|
||||
2.24.1
|
||||
|
||||
320
arm64-drm-tegra-Fix-SMMU-support-on-Tegra124-and-Tegra210.patch
Normal file
320
arm64-drm-tegra-Fix-SMMU-support-on-Tegra124-and-Tegra210.patch
Normal file
|
|
@ -0,0 +1,320 @@
|
|||
From patchwork Wed Mar 25 20:16:03 2020
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Thierry Reding <thierry.reding@gmail.com>
|
||||
X-Patchwork-Id: 1261638
|
||||
Return-Path: <linux-tegra-owner@vger.kernel.org>
|
||||
X-Original-To: incoming@patchwork.ozlabs.org
|
||||
Delivered-To: patchwork-incoming@bilbo.ozlabs.org
|
||||
Authentication-Results: ozlabs.org; spf=none (no SPF record)
|
||||
smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67;
|
||||
helo=vger.kernel.org;
|
||||
envelope-from=linux-tegra-owner@vger.kernel.org;
|
||||
receiver=<UNKNOWN>)
|
||||
Authentication-Results: ozlabs.org;
|
||||
dmarc=pass (p=none dis=none) header.from=gmail.com
|
||||
Authentication-Results: ozlabs.org; dkim=pass (2048-bit key;
|
||||
unprotected) header.d=gmail.com header.i=@gmail.com
|
||||
header.a=rsa-sha256 header.s=20161025 header.b=sj7XVrax;
|
||||
dkim-atps=neutral
|
||||
Received: from vger.kernel.org (vger.kernel.org [209.132.180.67])
|
||||
by ozlabs.org (Postfix) with ESMTP id 48nfWs1X7mz9sRf
|
||||
for <incoming@patchwork.ozlabs.org>;
|
||||
Thu, 26 Mar 2020 07:16:09 +1100 (AEDT)
|
||||
Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
|
||||
id S1727374AbgCYUQI (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);
|
||||
Wed, 25 Mar 2020 16:16:08 -0400
|
||||
Received: from mail-wm1-f68.google.com ([209.85.128.68]:50585 "EHLO
|
||||
mail-wm1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
|
||||
with ESMTP id S1727328AbgCYUQI (ORCPT
|
||||
<rfc822;linux-tegra@vger.kernel.org>);
|
||||
Wed, 25 Mar 2020 16:16:08 -0400
|
||||
Received: by mail-wm1-f68.google.com with SMTP id d198so4073496wmd.0
|
||||
for <linux-tegra@vger.kernel.org>;
|
||||
Wed, 25 Mar 2020 13:16:07 -0700 (PDT)
|
||||
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
|
||||
h=from:to:cc:subject:date:message-id:mime-version
|
||||
:content-transfer-encoding;
|
||||
bh=yPLnagV0XBnTWT+nGjtRaD+LnSq2BqmeAJnp8U+CWPw=;
|
||||
b=sj7XVraxdwiyRAeepEQ0wy1nLUUH6vcloNotxoFwaAZmvU2GILePtp+OM8VZxzmSg1
|
||||
qVjos+BzgdtxI0QGYvlsRwZJmw1PdwfTDzM8kMKmP2AfXDgnFG7LZsGZnzTmdPqErqG6
|
||||
RfQwpZiPunHplEvI/epnPHACQlV9HoX+teAIWP9gyJkMYwBCVOirkfv4yGqGZWyEciZ2
|
||||
yM5mGeUZ/OprHtVVEEuF5yb50CJm8cBEHBMr2ooS+0jm+avVEG8DKe9QM2nWgJB7+TXH
|
||||
7+iryK1A4PDr9L6syw0p6sAbkFd2+P/p44d/rqsKPWTQG0lkd0cgRHx9fVPls/P4Snyr
|
||||
JwCA==
|
||||
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
|
||||
d=1e100.net; s=20161025;
|
||||
h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version
|
||||
:content-transfer-encoding;
|
||||
bh=yPLnagV0XBnTWT+nGjtRaD+LnSq2BqmeAJnp8U+CWPw=;
|
||||
b=HWu2t1YnW/GoMLlkfp6ZQha8CvUnfMi/OK1zsN3hDtTtMLwVQL9YBFPvXYfAASIGzA
|
||||
qXmgdbIdQmwOXRxlDmgcXk8KcOJmvnJTSoE+GPeLrKGVq9h2c6XLINshs7RDWqY7//GM
|
||||
/NMVkESX/sVh5qVQYVzsQOBWAsLkwpVAmt3lJ81XrCGdA/L5aN2FWOftTWJWoStgtHuB
|
||||
9N27ffBkV8/72gDCcGxM/lJlfxMBcfPIEMDGWlErsl2U/EPtF+e5AH1kF9/a+lImxa1h
|
||||
vBlXvgfPKazfOLm1jA809U0QJrCy5bmTOJsaLqnkLPNJRyvlY6JZqk8a1Wc4u6l44uoI
|
||||
4l3g==
|
||||
X-Gm-Message-State: ANhLgQ0GzmzHn/uC4G4GzXRW/D8i6fcQ7Y04Wxx+yBOvoeixp0lD9PYD
|
||||
9Q7E3Ezt7uCnfh5D41Ym8jY=
|
||||
X-Google-Smtp-Source: ADFU+vvV+Qjqcd+wksczhsC9MSisSEM36LfhftNulFkmYxqwCfpDcq22YDEoWHYpgjaXwwZC4lgCyg==
|
||||
X-Received: by 2002:a7b:c842:: with SMTP id c2mr5416219wml.154.1585167366416;
|
||||
Wed, 25 Mar 2020 13:16:06 -0700 (PDT)
|
||||
Received: from localhost
|
||||
(p200300E41F4A9B0076D02BFFFE273F51.dip0.t-ipconnect.de.
|
||||
[2003:e4:1f4a:9b00:76d0:2bff:fe27:3f51])
|
||||
by smtp.gmail.com with ESMTPSA id
|
||||
i4sm132568wrm.32.2020.03.25.13.16.05
|
||||
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
|
||||
Wed, 25 Mar 2020 13:16:05 -0700 (PDT)
|
||||
From: Thierry Reding <thierry.reding@gmail.com>
|
||||
To: Thierry Reding <thierry.reding@gmail.com>
|
||||
Cc: dri-devel@lists.freedesktop.org, linux-tegra@vger.kernel.org
|
||||
Subject: [PATCH 1/2] drm/tegra: Fix SMMU support on Tegra124 and Tegra210
|
||||
Date: Wed, 25 Mar 2020 21:16:03 +0100
|
||||
Message-Id: <20200325201604.833898-1-thierry.reding@gmail.com>
|
||||
X-Mailer: git-send-email 2.24.1
|
||||
MIME-Version: 1.0
|
||||
Sender: linux-tegra-owner@vger.kernel.org
|
||||
Precedence: bulk
|
||||
List-ID: <linux-tegra.vger.kernel.org>
|
||||
X-Mailing-List: linux-tegra@vger.kernel.org
|
||||
|
||||
From: Thierry Reding <treding@nvidia.com>
|
||||
|
||||
When testing whether or not to enable the use of the SMMU, consult the
|
||||
supported DMA mask rather than the actually configured DMA mask, since
|
||||
the latter might already have been restricted.
|
||||
|
||||
Fixes: 2d9384ff9177 ("drm/tegra: Relax IOMMU usage criteria on old Tegra")
|
||||
Signed-off-by: Thierry Reding <treding@nvidia.com>
|
||||
Tested-by: Jon Hunter <jonathanh@nvidia.com>
|
||||
---
|
||||
drivers/gpu/drm/tegra/drm.c | 3 ++-
|
||||
drivers/gpu/host1x/dev.c | 13 +++++++++++++
|
||||
include/linux/host1x.h | 3 +++
|
||||
3 files changed, 18 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/gpu/drm/tegra/drm.c b/drivers/gpu/drm/tegra/drm.c
|
||||
index bd268028fb3d..583cd6e0ae27 100644
|
||||
--- a/drivers/gpu/drm/tegra/drm.c
|
||||
+++ b/drivers/gpu/drm/tegra/drm.c
|
||||
@@ -1039,6 +1039,7 @@ void tegra_drm_free(struct tegra_drm *tegra, size_t size, void *virt,
|
||||
|
||||
static bool host1x_drm_wants_iommu(struct host1x_device *dev)
|
||||
{
|
||||
+ struct host1x *host1x = dev_get_drvdata(dev->dev.parent);
|
||||
struct iommu_domain *domain;
|
||||
|
||||
/*
|
||||
@@ -1076,7 +1077,7 @@ static bool host1x_drm_wants_iommu(struct host1x_device *dev)
|
||||
* sufficient and whether or not the host1x is attached to an IOMMU
|
||||
* doesn't matter.
|
||||
*/
|
||||
- if (!domain && dma_get_mask(dev->dev.parent) <= DMA_BIT_MASK(32))
|
||||
+ if (!domain && host1x_get_dma_mask(host1x) <= DMA_BIT_MASK(32))
|
||||
return true;
|
||||
|
||||
return domain != NULL;
|
||||
diff --git a/drivers/gpu/host1x/dev.c b/drivers/gpu/host1x/dev.c
|
||||
index 388bcc2889aa..40a4b9f8b861 100644
|
||||
--- a/drivers/gpu/host1x/dev.c
|
||||
+++ b/drivers/gpu/host1x/dev.c
|
||||
@@ -502,6 +502,19 @@ static void __exit tegra_host1x_exit(void)
|
||||
}
|
||||
module_exit(tegra_host1x_exit);
|
||||
|
||||
+/**
|
||||
+ * host1x_get_dma_mask() - query the supported DMA mask for host1x
|
||||
+ * @host1x: host1x instance
|
||||
+ *
|
||||
+ * Note that this returns the supported DMA mask for host1x, which can be
|
||||
+ * different from the applicable DMA mask under certain circumstances.
|
||||
+ */
|
||||
+u64 host1x_get_dma_mask(struct host1x *host1x)
|
||||
+{
|
||||
+ return host1x->info->dma_mask;
|
||||
+}
|
||||
+EXPORT_SYMBOL(host1x_get_dma_mask);
|
||||
+
|
||||
MODULE_AUTHOR("Thierry Reding <thierry.reding@avionic-design.de>");
|
||||
MODULE_AUTHOR("Terje Bergstrom <tbergstrom@nvidia.com>");
|
||||
MODULE_DESCRIPTION("Host1x driver for Tegra products");
|
||||
diff --git a/include/linux/host1x.h b/include/linux/host1x.h
|
||||
index 62d216ff1097..c230b4e70d75 100644
|
||||
--- a/include/linux/host1x.h
|
||||
+++ b/include/linux/host1x.h
|
||||
@@ -17,9 +17,12 @@ enum host1x_class {
|
||||
HOST1X_CLASS_GR3D = 0x60,
|
||||
};
|
||||
|
||||
+struct host1x;
|
||||
struct host1x_client;
|
||||
struct iommu_group;
|
||||
|
||||
+u64 host1x_get_dma_mask(struct host1x *host1x);
|
||||
+
|
||||
/**
|
||||
* struct host1x_client_ops - host1x client operations
|
||||
* @init: host1x client initialization code
|
||||
|
||||
From patchwork Wed Mar 25 20:16:04 2020
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Thierry Reding <thierry.reding@gmail.com>
|
||||
X-Patchwork-Id: 1261639
|
||||
Return-Path: <linux-tegra-owner@vger.kernel.org>
|
||||
X-Original-To: incoming@patchwork.ozlabs.org
|
||||
Delivered-To: patchwork-incoming@bilbo.ozlabs.org
|
||||
Authentication-Results: ozlabs.org; spf=none (no SPF record)
|
||||
smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67;
|
||||
helo=vger.kernel.org;
|
||||
envelope-from=linux-tegra-owner@vger.kernel.org;
|
||||
receiver=<UNKNOWN>)
|
||||
Authentication-Results: ozlabs.org;
|
||||
dmarc=pass (p=none dis=none) header.from=gmail.com
|
||||
Authentication-Results: ozlabs.org; dkim=pass (2048-bit key;
|
||||
unprotected) header.d=gmail.com header.i=@gmail.com
|
||||
header.a=rsa-sha256 header.s=20161025 header.b=XXUz449u;
|
||||
dkim-atps=neutral
|
||||
Received: from vger.kernel.org (vger.kernel.org [209.132.180.67])
|
||||
by ozlabs.org (Postfix) with ESMTP id 48nfWw6NvSz9sPk
|
||||
for <incoming@patchwork.ozlabs.org>;
|
||||
Thu, 26 Mar 2020 07:16:12 +1100 (AEDT)
|
||||
Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
|
||||
id S1727316AbgCYUQM (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);
|
||||
Wed, 25 Mar 2020 16:16:12 -0400
|
||||
Received: from mail-wr1-f65.google.com ([209.85.221.65]:33914 "EHLO
|
||||
mail-wr1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
|
||||
with ESMTP id S1727328AbgCYUQM (ORCPT
|
||||
<rfc822;linux-tegra@vger.kernel.org>);
|
||||
Wed, 25 Mar 2020 16:16:12 -0400
|
||||
Received: by mail-wr1-f65.google.com with SMTP id 65so4990084wrl.1
|
||||
for <linux-tegra@vger.kernel.org>;
|
||||
Wed, 25 Mar 2020 13:16:09 -0700 (PDT)
|
||||
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
|
||||
h=from:to:cc:subject:date:message-id:in-reply-to:references
|
||||
:mime-version:content-transfer-encoding;
|
||||
bh=aW1zxIHiei+l8kDSE2lVXf/aMBDE/GtIkGFrQXvKkrY=;
|
||||
b=XXUz449uJivXz+1lH6pKa9IvT3vUx61/skXaEyQxpkslFR268FwckKE0ryQDUx701N
|
||||
hFN9ocSGCuE6bKpdgya8YmthXDASOYWZzKV0R5jms1rqgazVMF6jARv+kE4Jaj9Ek4tl
|
||||
4eTpmnHinx0xIrgGWCQbfltjb+zAE5XOGX8UCX1526r3yQQpu+OQlKZ70Tvq3pdw0zfT
|
||||
URkTU8sfdTa9DCxUSsUukPcK9vKOk6XHkFleL6FisODDvXphdzzLa1TCv9UTGLrUsHSd
|
||||
XDrukLto5efrUE03q5jP6ZN4xbnLDbhY6IkB7PAW1qwSPG/Eg0p0ivpJ58+QwwmBH6zF
|
||||
ByDQ==
|
||||
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
|
||||
d=1e100.net; s=20161025;
|
||||
h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
|
||||
:references:mime-version:content-transfer-encoding;
|
||||
bh=aW1zxIHiei+l8kDSE2lVXf/aMBDE/GtIkGFrQXvKkrY=;
|
||||
b=DIWKPWCoYx1rnX34DSkRPm2K6lR1SurVvq+IIY5Nrc9uq+E3pmXQcActG0DDAHHK8a
|
||||
SgnziEvuWTeROgrlwONYq+FUZRQ6s1TRR1+qDXqAlRtdebU/cEep+LRvdzJe/qJBpPqd
|
||||
SnSTR3Xntgo7EcyLRj9YqSodasylPt3OzrhuDudfTSQtKZghElLfyJV/tzgwG+OC3TD4
|
||||
RJAykZ0tgWHy7Bc1UB+z6LovuT/sgcPUSLfNqDehQWqwQeqHqXgFAomUN0CCEr2YdjkT
|
||||
sCpBZPqKtb22FdDWlDiNnEkEmMPA+K4MIWbZL9VuvArjFaaBn6fBxvnX4tAKEcOiKeUy
|
||||
EZXw==
|
||||
X-Gm-Message-State: ANhLgQ1Vj1gSFYKgV/7jV1T3UIwTE5jasGmLOhuuGuWvjBs2xXUgieyz
|
||||
VhNVgYIYU/8R/0Vx9Hv44rw=
|
||||
X-Google-Smtp-Source: ADFU+vtTfrVHW69I+ZhOz8qw8xUje/j42rKoNxAP2wTt+E5WQ5s6QhBcgeHzC4Bw5Q5NdWxjLUtZ/g==
|
||||
X-Received: by 2002:adf:800e:: with SMTP id 14mr5104354wrk.369.1585167368929;
|
||||
Wed, 25 Mar 2020 13:16:08 -0700 (PDT)
|
||||
Received: from localhost
|
||||
(p200300E41F4A9B0076D02BFFFE273F51.dip0.t-ipconnect.de.
|
||||
[2003:e4:1f4a:9b00:76d0:2bff:fe27:3f51])
|
||||
by smtp.gmail.com with ESMTPSA id
|
||||
e9sm151985wrw.30.2020.03.25.13.16.07
|
||||
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
|
||||
Wed, 25 Mar 2020 13:16:07 -0700 (PDT)
|
||||
From: Thierry Reding <thierry.reding@gmail.com>
|
||||
To: Thierry Reding <thierry.reding@gmail.com>
|
||||
Cc: dri-devel@lists.freedesktop.org, linux-tegra@vger.kernel.org
|
||||
Subject: [PATCH 2/2] gpu: host1x: Use SMMU on Tegra124 and Tegra210
|
||||
Date: Wed, 25 Mar 2020 21:16:04 +0100
|
||||
Message-Id: <20200325201604.833898-2-thierry.reding@gmail.com>
|
||||
X-Mailer: git-send-email 2.24.1
|
||||
In-Reply-To: <20200325201604.833898-1-thierry.reding@gmail.com>
|
||||
References: <20200325201604.833898-1-thierry.reding@gmail.com>
|
||||
MIME-Version: 1.0
|
||||
Sender: linux-tegra-owner@vger.kernel.org
|
||||
Precedence: bulk
|
||||
List-ID: <linux-tegra.vger.kernel.org>
|
||||
X-Mailing-List: linux-tegra@vger.kernel.org
|
||||
|
||||
From: Thierry Reding <treding@nvidia.com>
|
||||
|
||||
Tegra124 and Tegra210 support addressing more than 32 bits of physical
|
||||
memory. However, since their host1x does not support the wide GATHER
|
||||
opcode, they should use the SMMU if at all possible to ensure that all
|
||||
the system memory can be used for command buffers, irrespective of
|
||||
whether or not the host1x firewall is enabled.
|
||||
|
||||
Signed-off-by: Thierry Reding <treding@nvidia.com>
|
||||
Tested-by: Jon Hunter <jonathanh@nvidia.com>
|
||||
---
|
||||
drivers/gpu/host1x/dev.c | 46 ++++++++++++++++++++++++++++++++++++----
|
||||
1 file changed, 42 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/drivers/gpu/host1x/dev.c b/drivers/gpu/host1x/dev.c
|
||||
index 40a4b9f8b861..d24344e91922 100644
|
||||
--- a/drivers/gpu/host1x/dev.c
|
||||
+++ b/drivers/gpu/host1x/dev.c
|
||||
@@ -192,17 +192,55 @@ static void host1x_setup_sid_table(struct host1x *host)
|
||||
}
|
||||
}
|
||||
|
||||
+static bool host1x_wants_iommu(struct host1x *host1x)
|
||||
+{
|
||||
+ /*
|
||||
+ * If we support addressing a maximum of 32 bits of physical memory
|
||||
+ * and if the host1x firewall is enabled, there's no need to enable
|
||||
+ * IOMMU support. This can happen for example on Tegra20, Tegra30
|
||||
+ * and Tegra114.
|
||||
+ *
|
||||
+ * Tegra124 and later can address up to 34 bits of physical memory and
|
||||
+ * many platforms come equipped with more than 2 GiB of system memory,
|
||||
+ * which requires crossing the 4 GiB boundary. But there's a catch: on
|
||||
+ * SoCs before Tegra186 (i.e. Tegra124 and Tegra210), the host1x can
|
||||
+ * only address up to 32 bits of memory in GATHER opcodes, which means
|
||||
+ * that command buffers need to either be in the first 2 GiB of system
|
||||
+ * memory (which could quickly lead to memory exhaustion), or command
|
||||
+ * buffers need to be treated differently from other buffers (which is
|
||||
+ * not possible with the current ABI).
|
||||
+ *
|
||||
+ * A third option is to use the IOMMU in these cases to make sure all
|
||||
+ * buffers will be mapped into a 32-bit IOVA space that host1x can
|
||||
+ * address. This allows all of the system memory to be used and works
|
||||
+ * within the limitations of the host1x on these SoCs.
|
||||
+ *
|
||||
+ * In summary, default to enable IOMMU on Tegra124 and later. For any
|
||||
+ * of the earlier SoCs, only use the IOMMU for additional safety when
|
||||
+ * the host1x firewall is disabled.
|
||||
+ */
|
||||
+ if (host1x->info->dma_mask <= DMA_BIT_MASK(32)) {
|
||||
+ if (IS_ENABLED(CONFIG_TEGRA_HOST1X_FIREWALL))
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+ return true;
|
||||
+}
|
||||
+
|
||||
static struct iommu_domain *host1x_iommu_attach(struct host1x *host)
|
||||
{
|
||||
struct iommu_domain *domain = iommu_get_domain_for_dev(host->dev);
|
||||
int err;
|
||||
|
||||
/*
|
||||
- * If the host1x firewall is enabled, there's no need to enable IOMMU
|
||||
- * support. Similarly, if host1x is already attached to an IOMMU (via
|
||||
- * the DMA API), don't try to attach again.
|
||||
+ * We may not always want to enable IOMMU support (for example if the
|
||||
+ * host1x firewall is already enabled and we don't support addressing
|
||||
+ * more than 32 bits of physical memory), so check for that first.
|
||||
+ *
|
||||
+ * Similarly, if host1x is already attached to an IOMMU (via the DMA
|
||||
+ * API), don't try to attach again.
|
||||
*/
|
||||
- if (IS_ENABLED(CONFIG_TEGRA_HOST1X_FIREWALL) || domain)
|
||||
+ if (!host1x_wants_iommu(host) || domain)
|
||||
return domain;
|
||||
|
||||
host->group = iommu_group_get(host->dev);
|
||||
200
arm64-dts-imx8mq-phanbell-Add-support-for-ethernet.patch
Normal file
200
arm64-dts-imx8mq-phanbell-Add-support-for-ethernet.patch
Normal file
|
|
@ -0,0 +1,200 @@
|
|||
From patchwork Tue Feb 11 13:48:28 2020
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Alifer Moraes <alifer.wsdm@gmail.com>
|
||||
X-Patchwork-Id: 11375533
|
||||
Return-Path:
|
||||
<SRS0=9UBk=37=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
|
||||
Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
|
||||
[172.30.200.123])
|
||||
by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id E7DAC92A
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Tue, 11 Feb 2020 13:49:12 +0000 (UTC)
|
||||
Received: from bombadil.infradead.org (bombadil.infradead.org
|
||||
[198.137.202.133])
|
||||
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
|
||||
(No client certificate requested)
|
||||
by mail.kernel.org (Postfix) with ESMTPS id C5EA020714
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Tue, 11 Feb 2020 13:49:12 +0000 (UTC)
|
||||
Authentication-Results: mail.kernel.org;
|
||||
dkim=pass (2048-bit key) header.d=lists.infradead.org
|
||||
header.i=@lists.infradead.org header.b="balGUEE3";
|
||||
dkim=fail reason="signature verification failed" (2048-bit key)
|
||||
header.d=gmail.com header.i=@gmail.com header.b="d3FXu4Dc"
|
||||
DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C5EA020714
|
||||
Authentication-Results: mail.kernel.org;
|
||||
dmarc=fail (p=none dis=none) header.from=gmail.com
|
||||
Authentication-Results: mail.kernel.org;
|
||||
spf=none
|
||||
smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
|
||||
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
|
||||
d=lists.infradead.org; s=bombadil.20170209; h=Sender:
|
||||
Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe:
|
||||
List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Message-Id:Date:
|
||||
Subject:To:From:Reply-To:Content-ID:Content-Description:Resent-Date:
|
||||
Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:
|
||||
References:List-Owner; bh=Q9Eedrpm+ZQezEHXcjojgCHrYwg1NSmbBzGRJC6OAEs=; b=bal
|
||||
GUEE3cweBEy/Vkjzf2O1dBoqXUeIQqctHowPUTw4Z2UghEKFuNfNsw8XoV+k/9uxO4M/XaDCgWyyp
|
||||
qf26Y3SZo9+k2pqbjJt+qdqndF06tTHiH7QPQGbaWEBxURzOD+G1VW8Iyjvfi0f9vrXbv8d9b9+DI
|
||||
LPpFdD/7IwXQZEYsPmaSEitj7mQXBlWZnRZrvrQfYtxXb3yABUQIUrBtZSoARs4A+Txn4vOFlT6B4
|
||||
HOAidlwfT8hESddkvjjmeCAuPLXUyIBvDoSaYgAumOSh1xoUZsswM2ALud+R1XKVlGlAd1BE6uHt2
|
||||
bWDUHrcXdge45JTn/egO1ibajqTlB/g==;
|
||||
Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
|
||||
by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
|
||||
id 1j1VuW-0004DJ-JR; Tue, 11 Feb 2020 13:49:08 +0000
|
||||
Received: from mail-qt1-x841.google.com ([2607:f8b0:4864:20::841])
|
||||
by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
|
||||
id 1j1VuM-0003zu-98
|
||||
for linux-arm-kernel@lists.infradead.org; Tue, 11 Feb 2020 13:48:59 +0000
|
||||
Received: by mail-qt1-x841.google.com with SMTP id t13so7964724qto.3
|
||||
for <linux-arm-kernel@lists.infradead.org>;
|
||||
Tue, 11 Feb 2020 05:48:53 -0800 (PST)
|
||||
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
|
||||
h=from:to:cc:subject:date:message-id;
|
||||
bh=JIZHRdZLqtLorXZfrYCSPItmC1Dc+HGHwOIzP/XDImY=;
|
||||
b=d3FXu4DcpsHeeo7NBsq1Ec3f7OKhc4SsvQnIJenSnOtjREel9IF+kdR8ma1SWkO5OR
|
||||
Ou4s2dnBv7WOxC4OPWNV6d8KIVpBRVtM/ukAKzN6d3zx7MvBtQz1N27NoDx/a7ujHsmS
|
||||
jvZYtEEc8DToM7semtrIS3CUfnR8Jxni2Z/6WUP8wvMdDT8C1m2PB78zzz+BFas4vec2
|
||||
VRg0vXB9eGeEdlGGMFCs2IJ9nbGhw7o3VA3WFY8plHWMmjNInC6fLgpMiA40FBmv4BzV
|
||||
G9slDIDonCBacDdi6tPT8KEVnytqC8eiltqCoEj+hq8mYECNDQpWUjWhJQ4KRRh1aoXi
|
||||
oAuA==
|
||||
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
|
||||
d=1e100.net; s=20161025;
|
||||
h=x-gm-message-state:from:to:cc:subject:date:message-id;
|
||||
bh=JIZHRdZLqtLorXZfrYCSPItmC1Dc+HGHwOIzP/XDImY=;
|
||||
b=VDw2Y7qVf/KFTneIHUcwsg23yYrIU2SHbDXAyjC6m5rgjl9cM292uJO9J1u+Op1Cu/
|
||||
dOhT15wf440CJpqMBTLTJJSuUVpomGxEXFT4qDa6Q84BqkWbFYl/d9HRJkcM1376rLVZ
|
||||
7nbzvWqSlLIu3wFgOabFryD13Mw65RJpKUn2vW0b7kInWJ/phJhDJ5+FwjVWJTXEIlsT
|
||||
LFN5gpS5hajAUubLcUmK8avcuJGka+vT8NkK608MO8NndwUp56g4BRs7Pk4S6wvttmy3
|
||||
F8ouwAvWF2idbxWjx9MGcaM/PVLhQpDmcif8AjlEhGnbBza4u5356N4S+SKZSkd43Grw
|
||||
8ZWA==
|
||||
X-Gm-Message-State: APjAAAUJWGlEecdg9M/V5ba1zVNwrP9LNv4AsXidTI7JEnOQd/PE0sMm
|
||||
I4AUmnPqcCuUaNiG7XoZiUw=
|
||||
X-Google-Smtp-Source:
|
||||
APXvYqybhzOEAAvHZbhKNes/s71zGxqa2omF1pXH9nVpHWlE7KVvcXMkRtBbOlD4T9UG/KxmmcCT+w==
|
||||
X-Received: by 2002:ac8:7caf:: with SMTP id z15mr14892626qtv.68.1581428933199;
|
||||
Tue, 11 Feb 2020 05:48:53 -0800 (PST)
|
||||
Received: from NXL86673.nxp.com ([177.221.114.206])
|
||||
by smtp.googlemail.com with ESMTPSA id h6sm2158936qtr.33.2020.02.11.05.48.50
|
||||
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
|
||||
Tue, 11 Feb 2020 05:48:52 -0800 (PST)
|
||||
From: Alifer Moraes <alifer.wsdm@gmail.com>
|
||||
To: robh+dt@kernel.org
|
||||
Subject: [PATCH] arm64: dts: imx8mq-phanbell: Add support for ethernet
|
||||
Date: Tue, 11 Feb 2020 10:48:28 -0300
|
||||
Message-Id: <20200211134828.138-1-alifer.wsdm@gmail.com>
|
||||
X-Mailer: git-send-email 2.17.1
|
||||
X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
|
||||
X-CRM114-CacheID: sfid-20200211_054858_316312_8FE28FDF
|
||||
X-CRM114-Status: GOOD ( 10.43 )
|
||||
X-Spam-Score: -0.2 (/)
|
||||
X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
|
||||
Content analysis details: (-0.2 points)
|
||||
pts rule name description
|
||||
---- ----------------------
|
||||
--------------------------------------------------
|
||||
-0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/,
|
||||
no trust [2607:f8b0:4864:20:0:0:0:841 listed in]
|
||||
[list.dnswl.org]
|
||||
0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail
|
||||
provider [alifer.wsdm[at]gmail.com]
|
||||
-0.0 SPF_PASS SPF: sender matches SPF record
|
||||
0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
|
||||
0.1 DKIM_SIGNED Message has a DKIM or DK signature,
|
||||
not necessarily
|
||||
valid
|
||||
-0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from
|
||||
envelope-from domain
|
||||
-0.1 DKIM_VALID Message has at least one valid DKIM or DK signature
|
||||
-0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from
|
||||
author's domain
|
||||
X-BeenThere: linux-arm-kernel@lists.infradead.org
|
||||
X-Mailman-Version: 2.1.29
|
||||
Precedence: list
|
||||
List-Id: <linux-arm-kernel.lists.infradead.org>
|
||||
List-Unsubscribe:
|
||||
<http://lists.infradead.org/mailman/options/linux-arm-kernel>,
|
||||
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
|
||||
List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
|
||||
List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
|
||||
List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
|
||||
List-Subscribe:
|
||||
<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
|
||||
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
|
||||
Cc: mark.rutland@arm.com, devicetree@vger.kernel.org, festevam@gmail.com,
|
||||
s.hauer@pengutronix.de, linux-kernel@vger.kernel.org,
|
||||
Alifer Moraes <alifer.wsdm@gmail.com>, marco.franchi@nxp.com,
|
||||
shawnguo@kernel.org, linux-arm-kernel@lists.infradead.org
|
||||
MIME-Version: 1.0
|
||||
Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
|
||||
Errors-To:
|
||||
linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
|
||||
|
||||
Add support for ethernet on Google's i.MX 8MQ Phanbell
|
||||
|
||||
Signed-off-by: Alifer Moraes <alifer.wsdm@gmail.com>
|
||||
---
|
||||
.../boot/dts/freescale/imx8mq-phanbell.dts | 41 +++++++++++++++++++
|
||||
1 file changed, 41 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/freescale/imx8mq-phanbell.dts b/arch/arm64/boot/dts/freescale/imx8mq-phanbell.dts
|
||||
index 3f2a489a4ad8..16ed13c44a47 100644
|
||||
--- a/arch/arm64/boot/dts/freescale/imx8mq-phanbell.dts
|
||||
+++ b/arch/arm64/boot/dts/freescale/imx8mq-phanbell.dts
|
||||
@@ -201,6 +201,27 @@
|
||||
};
|
||||
};
|
||||
|
||||
+&fec1 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_fec1>;
|
||||
+ phy-mode = "rgmii-id";
|
||||
+ phy-reset-gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
|
||||
+ phy-reset-duration = <10>;
|
||||
+ phy-reset-post-delay = <30>;
|
||||
+ phy-handle = <ðphy0>;
|
||||
+ fsl,magic-packet;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ mdio {
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ ethphy0: ethernet-phy@0 {
|
||||
+ compatible = "ethernet-phy-ieee802.3-c22";
|
||||
+ reg = <0>;
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
&uart1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_uart1>;
|
||||
@@ -254,6 +275,26 @@
|
||||
};
|
||||
|
||||
&iomuxc {
|
||||
+ pinctrl_fec1: fec1grp {
|
||||
+ fsl,pins = <
|
||||
+ MX8MQ_IOMUXC_ENET_MDC_ENET1_MDC 0x3
|
||||
+ MX8MQ_IOMUXC_ENET_MDIO_ENET1_MDIO 0x23
|
||||
+ MX8MQ_IOMUXC_ENET_TD3_ENET1_RGMII_TD3 0x1f
|
||||
+ MX8MQ_IOMUXC_ENET_TD2_ENET1_RGMII_TD2 0x1f
|
||||
+ MX8MQ_IOMUXC_ENET_TD1_ENET1_RGMII_TD1 0x1f
|
||||
+ MX8MQ_IOMUXC_ENET_TD0_ENET1_RGMII_TD0 0x1f
|
||||
+ MX8MQ_IOMUXC_ENET_RD3_ENET1_RGMII_RD3 0x91
|
||||
+ MX8MQ_IOMUXC_ENET_RD2_ENET1_RGMII_RD2 0x91
|
||||
+ MX8MQ_IOMUXC_ENET_RD1_ENET1_RGMII_RD1 0x91
|
||||
+ MX8MQ_IOMUXC_ENET_RD0_ENET1_RGMII_RD0 0x91
|
||||
+ MX8MQ_IOMUXC_ENET_TXC_ENET1_RGMII_TXC 0x1f
|
||||
+ MX8MQ_IOMUXC_ENET_RXC_ENET1_RGMII_RXC 0x91
|
||||
+ MX8MQ_IOMUXC_ENET_RX_CTL_ENET1_RGMII_RX_CTL 0x91
|
||||
+ MX8MQ_IOMUXC_ENET_TX_CTL_ENET1_RGMII_TX_CTL 0x1f
|
||||
+ MX8MQ_IOMUXC_GPIO1_IO09_GPIO1_IO9 0x19
|
||||
+ >;
|
||||
+ };
|
||||
+
|
||||
pinctrl_i2c1: i2c1grp {
|
||||
fsl,pins = <
|
||||
MX8MQ_IOMUXC_I2C1_SCL_I2C1_SCL 0x4000007f
|
||||
568
arm64-pine64-pinephone.patch
Normal file
568
arm64-pine64-pinephone.patch
Normal file
|
|
@ -0,0 +1,568 @@
|
|||
From 836821a0addbd8589e949801aaa7be244703c7f8 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megous@megous.com>
|
||||
Date: Thu, 27 Feb 2020 02:26:48 +0100
|
||||
Subject: [PATCH 1/3] arm64: dts: sun50i-a64: Add i2c2 pins
|
||||
|
||||
PinePhone needs I2C2 pins description. Add it, and make it default
|
||||
for i2c2, since it's the only possiblilty.
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megous@megous.com>
|
||||
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
||||
---
|
||||
arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 8 +++++++-
|
||||
1 file changed, 7 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
|
||||
index 862b47dc9dc9..107a48f9c5b3 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
|
||||
@@ -671,6 +671,11 @@ i2c1_pins: i2c1-pins {
|
||||
function = "i2c1";
|
||||
};
|
||||
|
||||
+ i2c2_pins: i2c2-pins {
|
||||
+ pins = "PE14", "PE15";
|
||||
+ function = "i2c2";
|
||||
+ };
|
||||
+
|
||||
/omit-if-no-ref/
|
||||
lcd_rgb666_pins: lcd-rgb666-pins {
|
||||
pins = "PD0", "PD1", "PD2", "PD3", "PD4",
|
||||
@@ -958,12 +963,13 @@ i2c2: i2c@1c2b400 {
|
||||
interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ccu CLK_BUS_I2C2>;
|
||||
resets = <&ccu RST_BUS_I2C2>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&i2c2_pins>;
|
||||
status = "disabled";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
-
|
||||
spi0: spi@1c68000 {
|
||||
compatible = "allwinner,sun8i-h3-spi";
|
||||
reg = <0x01c68000 0x1000>;
|
||||
--
|
||||
2.24.1
|
||||
|
||||
From 5c4e2cd9e8b600cc622c10543f69fcd897557eee Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megous@megous.com>
|
||||
Date: Thu, 27 Feb 2020 02:26:49 +0100
|
||||
Subject: [PATCH 2/3] dt-bindings: arm: sunxi: Add PinePhone 1.0 and 1.1
|
||||
bindings
|
||||
|
||||
Document board compatible names for Pine64 PinePhone:
|
||||
|
||||
- 1.0 - Developer variant
|
||||
- 1.1 - Braveheart variant
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megous@megous.com>
|
||||
Reviewed-by: Rob Herring <robh@kernel.org>
|
||||
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
||||
---
|
||||
Documentation/devicetree/bindings/arm/sunxi.yaml | 10 ++++++++++
|
||||
1 file changed, 10 insertions(+)
|
||||
|
||||
diff --git a/Documentation/devicetree/bindings/arm/sunxi.yaml b/Documentation/devicetree/bindings/arm/sunxi.yaml
|
||||
index 159060b65c5d..c632252be48b 100644
|
||||
--- a/Documentation/devicetree/bindings/arm/sunxi.yaml
|
||||
+++ b/Documentation/devicetree/bindings/arm/sunxi.yaml
|
||||
@@ -636,6 +636,16 @@ properties:
|
||||
- const: pine64,pinebook
|
||||
- const: allwinner,sun50i-a64
|
||||
|
||||
+ - description: Pine64 PinePhone Developer Batch (1.0)
|
||||
+ items:
|
||||
+ - const: pine64,pinephone-1.0
|
||||
+ - const: allwinner,sun50i-a64
|
||||
+
|
||||
+ - description: Pine64 PinePhone Braveheart (1.1)
|
||||
+ items:
|
||||
+ - const: pine64,pinephone-1.1
|
||||
+ - const: allwinner,sun50i-a64
|
||||
+
|
||||
- description: Pine64 PineTab
|
||||
items:
|
||||
- const: pine64,pinetab
|
||||
--
|
||||
2.24.1
|
||||
|
||||
From 697f60799172569e8d502a44ad98994f2c48778c Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megous@megous.com>
|
||||
Date: Thu, 27 Feb 2020 02:26:50 +0100
|
||||
Subject: [PATCH 3/3] arm64: dts: allwinner: Add initial support for Pine64
|
||||
PinePhone
|
||||
|
||||
At the moment PinePhone comes in two slightly incompatible variants:
|
||||
|
||||
- 1.0: Early Developer Batch
|
||||
- 1.1: Braveheart Batch
|
||||
|
||||
There will be at least one more incompatible variant in the very near
|
||||
future, so let's start by sharing the dtsi among multiple variants,
|
||||
right away, even though the HW description doesn't yet include the
|
||||
different bits.
|
||||
|
||||
The differences between 1.0 and 1.1 are: change in pins that control
|
||||
the flash LED, differences in modem power status signal routing, and
|
||||
maybe some other subtler things, that have not been determined yet.
|
||||
|
||||
This is a basic DT that includes only features that are already
|
||||
supported by mainline drivers.
|
||||
|
||||
Co-developed-by: Samuel Holland <samuel@sholland.org>
|
||||
Signed-off-by: Samuel Holland <samuel@sholland.org>
|
||||
Co-developed-by: Martijn Braam <martijn@brixit.nl>
|
||||
Signed-off-by: Martijn Braam <martijn@brixit.nl>
|
||||
Co-developed-by: Luca Weiss <luca@z3ntu.xyz>
|
||||
Signed-off-by: Luca Weiss <luca@z3ntu.xyz>
|
||||
Signed-off-by: Bhushan Shah <bshah@kde.org>
|
||||
Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
|
||||
Signed-off-by: Ondrej Jirman <megous@megous.com>
|
||||
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
||||
---
|
||||
arch/arm64/boot/dts/allwinner/Makefile | 2 +
|
||||
.../allwinner/sun50i-a64-pinephone-1.0.dts | 11 +
|
||||
.../allwinner/sun50i-a64-pinephone-1.1.dts | 11 +
|
||||
.../dts/allwinner/sun50i-a64-pinephone.dtsi | 379 ++++++++++++++++++
|
||||
4 files changed, 403 insertions(+)
|
||||
create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.0.dts
|
||||
create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.1.dts
|
||||
create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile
|
||||
index 6dad63881cd3..e4d3cd0ac5bb 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/Makefile
|
||||
+++ b/arch/arm64/boot/dts/allwinner/Makefile
|
||||
@@ -9,6 +9,8 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-orangepi-win.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pine64-lts.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pine64-plus.dtb sun50i-a64-pine64.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinebook.dtb
|
||||
+dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinephone-1.0.dtb
|
||||
+dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinephone-1.1.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinetab.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-sopine-baseboard.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-teres-i.dtb
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.0.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.0.dts
|
||||
new file mode 100644
|
||||
index 000000000000..0c42272106af
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.0.dts
|
||||
@@ -0,0 +1,11 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
+// Copyright (C) 2020 Ondrej Jirman <megous@megous.com>
|
||||
+
|
||||
+/dts-v1/;
|
||||
+
|
||||
+#include "sun50i-a64-pinephone.dtsi"
|
||||
+
|
||||
+/ {
|
||||
+ model = "Pine64 PinePhone Developer Batch (1.0)";
|
||||
+ compatible = "pine64,pinephone-1.0", "allwinner,sun50i-a64";
|
||||
+};
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.1.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.1.dts
|
||||
new file mode 100644
|
||||
index 000000000000..06a775c41664
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.1.dts
|
||||
@@ -0,0 +1,11 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
+// Copyright (C) 2020 Ondrej Jirman <megous@megous.com>
|
||||
+
|
||||
+/dts-v1/;
|
||||
+
|
||||
+#include "sun50i-a64-pinephone.dtsi"
|
||||
+
|
||||
+/ {
|
||||
+ model = "Pine64 PinePhone Braveheart (1.1)";
|
||||
+ compatible = "pine64,pinephone-1.1", "allwinner,sun50i-a64";
|
||||
+};
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi
|
||||
new file mode 100644
|
||||
index 000000000000..cefda145c3c9
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi
|
||||
@@ -0,0 +1,379 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
+// Copyright (C) 2019 Icenowy Zheng <icenowy@aosc.xyz>
|
||||
+// Copyright (C) 2020 Martijn Braam <martijn@brixit.nl>
|
||||
+// Copyright (C) 2020 Ondrej Jirman <megous@megous.com>
|
||||
+
|
||||
+#include "sun50i-a64.dtsi"
|
||||
+#include "sun50i-a64-cpu-opp.dtsi"
|
||||
+
|
||||
+#include <dt-bindings/gpio/gpio.h>
|
||||
+#include <dt-bindings/input/input.h>
|
||||
+#include <dt-bindings/leds/common.h>
|
||||
+#include <dt-bindings/pwm/pwm.h>
|
||||
+
|
||||
+/ {
|
||||
+ aliases {
|
||||
+ serial0 = &uart0;
|
||||
+ };
|
||||
+
|
||||
+ chosen {
|
||||
+ stdout-path = "serial0:115200n8";
|
||||
+ };
|
||||
+
|
||||
+ leds {
|
||||
+ compatible = "gpio-leds";
|
||||
+
|
||||
+ blue {
|
||||
+ function = LED_FUNCTION_INDICATOR;
|
||||
+ color = <LED_COLOR_ID_BLUE>;
|
||||
+ gpios = <&pio 3 20 GPIO_ACTIVE_HIGH>; /* PD20 */
|
||||
+ };
|
||||
+
|
||||
+ green {
|
||||
+ function = LED_FUNCTION_INDICATOR;
|
||||
+ color = <LED_COLOR_ID_GREEN>;
|
||||
+ gpios = <&pio 3 18 GPIO_ACTIVE_HIGH>; /* PD18 */
|
||||
+ };
|
||||
+
|
||||
+ red {
|
||||
+ function = LED_FUNCTION_INDICATOR;
|
||||
+ color = <LED_COLOR_ID_RED>;
|
||||
+ gpios = <&pio 3 19 GPIO_ACTIVE_HIGH>; /* PD19 */
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ speaker_amp: audio-amplifier {
|
||||
+ compatible = "simple-audio-amplifier";
|
||||
+ enable-gpios = <&pio 2 7 GPIO_ACTIVE_HIGH>; /* PC7 */
|
||||
+ sound-name-prefix = "Speaker Amp";
|
||||
+ };
|
||||
+
|
||||
+ vibrator {
|
||||
+ compatible = "gpio-vibrator";
|
||||
+ enable-gpios = <&pio 3 2 GPIO_ACTIVE_HIGH>; /* PD2 */
|
||||
+ vcc-supply = <®_dcdc1>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&codec {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&codec_analog {
|
||||
+ cpvdd-supply = <®_eldo1>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&cpu0 {
|
||||
+ cpu-supply = <®_dcdc2>;
|
||||
+};
|
||||
+
|
||||
+&cpu1 {
|
||||
+ cpu-supply = <®_dcdc2>;
|
||||
+};
|
||||
+
|
||||
+&cpu2 {
|
||||
+ cpu-supply = <®_dcdc2>;
|
||||
+};
|
||||
+
|
||||
+&cpu3 {
|
||||
+ cpu-supply = <®_dcdc2>;
|
||||
+};
|
||||
+
|
||||
+&dai {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ehci0 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ehci1 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&i2c1 {
|
||||
+ status = "okay";
|
||||
+
|
||||
+ /* Magnetometer */
|
||||
+ lis3mdl@1e {
|
||||
+ compatible = "st,lis3mdl-magn";
|
||||
+ reg = <0x1e>;
|
||||
+ vdd-supply = <®_dldo1>;
|
||||
+ vddio-supply = <®_dldo1>;
|
||||
+ };
|
||||
+
|
||||
+ /* Accelerometer/gyroscope */
|
||||
+ mpu6050@68 {
|
||||
+ compatible = "invensense,mpu6050";
|
||||
+ reg = <0x68>;
|
||||
+ interrupt-parent = <&pio>;
|
||||
+ interrupts = <7 5 IRQ_TYPE_EDGE_RISING>; /* PH5 */
|
||||
+ vdd-supply = <®_dldo1>;
|
||||
+ vddio-supply = <®_dldo1>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+/* Connected to pogo pins (external spring based pinheader for user addons) */
|
||||
+&i2c2 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&lradc {
|
||||
+ vref-supply = <®_aldo3>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ button-200 {
|
||||
+ label = "Volume Up";
|
||||
+ linux,code = <KEY_VOLUMEUP>;
|
||||
+ channel = <0>;
|
||||
+ voltage = <200000>;
|
||||
+ };
|
||||
+
|
||||
+ button-400 {
|
||||
+ label = "Volume Down";
|
||||
+ linux,code = <KEY_VOLUMEDOWN>;
|
||||
+ channel = <0>;
|
||||
+ voltage = <400000>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&mmc0 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&mmc0_pins>;
|
||||
+ vmmc-supply = <®_dcdc1>;
|
||||
+ vqmmc-supply = <®_dcdc1>;
|
||||
+ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
|
||||
+ disable-wp;
|
||||
+ bus-width = <4>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&mmc2 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&mmc2_pins>;
|
||||
+ vmmc-supply = <®_dcdc1>;
|
||||
+ vqmmc-supply = <®_dcdc1>;
|
||||
+ bus-width = <8>;
|
||||
+ non-removable;
|
||||
+ cap-mmc-hw-reset;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ohci0 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ohci1 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&pio {
|
||||
+ vcc-pb-supply = <®_dcdc1>;
|
||||
+ vcc-pc-supply = <®_dcdc1>;
|
||||
+ vcc-pd-supply = <®_dcdc1>;
|
||||
+ vcc-pe-supply = <®_aldo1>;
|
||||
+ vcc-pf-supply = <®_dcdc1>;
|
||||
+ vcc-pg-supply = <®_dldo4>;
|
||||
+ vcc-ph-supply = <®_dcdc1>;
|
||||
+};
|
||||
+
|
||||
+&r_pio {
|
||||
+ /*
|
||||
+ * FIXME: We can't add that supply for now since it would
|
||||
+ * create a circular dependency between pinctrl, the regulator
|
||||
+ * and the RSB Bus.
|
||||
+ *
|
||||
+ * vcc-pl-supply = <®_aldo2>;
|
||||
+ */
|
||||
+};
|
||||
+
|
||||
+&r_rsb {
|
||||
+ status = "okay";
|
||||
+
|
||||
+ axp803: pmic@3a3 {
|
||||
+ compatible = "x-powers,axp803";
|
||||
+ reg = <0x3a3>;
|
||||
+ interrupt-parent = <&r_intc>;
|
||||
+ interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+#include "axp803.dtsi"
|
||||
+
|
||||
+&ac_power_supply {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&battery_power_supply {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+®_aldo1 {
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+ regulator-name = "dovdd-csi";
|
||||
+};
|
||||
+
|
||||
+®_aldo2 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+ regulator-name = "vcc-pl";
|
||||
+};
|
||||
+
|
||||
+®_aldo3 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <2700000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc-pll-avcc";
|
||||
+};
|
||||
+
|
||||
+®_dcdc1 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc-3v3";
|
||||
+};
|
||||
+
|
||||
+®_dcdc2 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <1000000>;
|
||||
+ regulator-max-microvolt = <1300000>;
|
||||
+ regulator-name = "vdd-cpux";
|
||||
+};
|
||||
+
|
||||
+/* DCDC3 is polyphased with DCDC2 */
|
||||
+
|
||||
+®_dcdc5 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <1200000>;
|
||||
+ regulator-max-microvolt = <1200000>;
|
||||
+ regulator-name = "vcc-dram";
|
||||
+};
|
||||
+
|
||||
+®_dcdc6 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <1100000>;
|
||||
+ regulator-max-microvolt = <1100000>;
|
||||
+ regulator-name = "vdd-sys";
|
||||
+};
|
||||
+
|
||||
+®_dldo1 {
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc-dsi-sensor";
|
||||
+};
|
||||
+
|
||||
+®_dldo2 {
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+ regulator-name = "vcc-mipi-io";
|
||||
+};
|
||||
+
|
||||
+®_dldo3 {
|
||||
+ regulator-min-microvolt = <2800000>;
|
||||
+ regulator-max-microvolt = <2800000>;
|
||||
+ regulator-name = "avdd-csi";
|
||||
+};
|
||||
+
|
||||
+®_dldo4 {
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc-wifi-io";
|
||||
+};
|
||||
+
|
||||
+®_eldo1 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+ regulator-name = "vcc-lpddr";
|
||||
+};
|
||||
+
|
||||
+®_eldo3 {
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+ regulator-name = "dvdd-1v8-csi";
|
||||
+};
|
||||
+
|
||||
+®_fldo1 {
|
||||
+ regulator-min-microvolt = <1200000>;
|
||||
+ regulator-max-microvolt = <1200000>;
|
||||
+ regulator-name = "vcc-1v2-hsic";
|
||||
+};
|
||||
+
|
||||
+®_fldo2 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <1100000>;
|
||||
+ regulator-max-microvolt = <1100000>;
|
||||
+ regulator-name = "vdd-cpus";
|
||||
+};
|
||||
+
|
||||
+®_ldo_io0 {
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc-lcd-ctp-stk";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+®_ldo_io1 {
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+ regulator-name = "vcc-1v8-typec";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+®_rtc_ldo {
|
||||
+ regulator-name = "vcc-rtc";
|
||||
+};
|
||||
+
|
||||
+&sound {
|
||||
+ status = "okay";
|
||||
+ simple-audio-card,aux-devs = <&codec_analog>, <&speaker_amp>;
|
||||
+ simple-audio-card,widgets = "Microphone", "Headset Microphone",
|
||||
+ "Microphone", "Internal Microphone",
|
||||
+ "Headphone", "Headphone Jack",
|
||||
+ "Speaker", "Internal Earpiece",
|
||||
+ "Speaker", "Internal Speaker";
|
||||
+ simple-audio-card,routing =
|
||||
+ "Headphone Jack", "HP",
|
||||
+ "Internal Earpiece", "EARPIECE",
|
||||
+ "Internal Speaker", "Speaker Amp OUTL",
|
||||
+ "Internal Speaker", "Speaker Amp OUTR",
|
||||
+ "Speaker Amp INL", "LINEOUT",
|
||||
+ "Speaker Amp INR", "LINEOUT",
|
||||
+ "Left DAC", "AIF1 Slot 0 Left",
|
||||
+ "Right DAC", "AIF1 Slot 0 Right",
|
||||
+ "AIF1 Slot 0 Left ADC", "Left ADC",
|
||||
+ "AIF1 Slot 0 Right ADC", "Right ADC",
|
||||
+ "Internal Microphone", "MBIAS",
|
||||
+ "MIC1", "Internal Microphone",
|
||||
+ "Headset Microphone", "HBIAS",
|
||||
+ "MIC2", "Headset Microphone";
|
||||
+};
|
||||
+
|
||||
+&uart0 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&uart0_pb_pins>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+/* Connected to the modem (hardware flow control can't be used) */
|
||||
+&uart3 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&uart3_pins>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb_otg {
|
||||
+ dr_mode = "peripheral";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb_power_supply {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usbphy {
|
||||
+ status = "okay";
|
||||
+};
|
||||
--
|
||||
2.24.1
|
||||
|
||||
583
arm64-pine64-pinetab.patch
Normal file
583
arm64-pine64-pinetab.patch
Normal file
|
|
@ -0,0 +1,583 @@
|
|||
From e15d9c7cb74033f668c19a65abfd77ed7331f91e Mon Sep 17 00:00:00 2001
|
||||
From: Icenowy Zheng <icenowy@aosc.io>
|
||||
Date: Thu, 16 Jan 2020 11:36:35 +0800
|
||||
Subject: [PATCH 1/2] dt-bindings: arm: sunxi: add binding for PineTab tablet
|
||||
|
||||
Add the device tree binding for Pine64's PineTab tablet, which uses
|
||||
Allwinner A64 SoC.
|
||||
|
||||
Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
|
||||
Reviewed-by: Rob Herring <robh@kernel.org>
|
||||
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
||||
---
|
||||
Documentation/devicetree/bindings/arm/sunxi.yaml | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/Documentation/devicetree/bindings/arm/sunxi.yaml b/Documentation/devicetree/bindings/arm/sunxi.yaml
|
||||
index 327ce6730823..159060b65c5d 100644
|
||||
--- a/Documentation/devicetree/bindings/arm/sunxi.yaml
|
||||
+++ b/Documentation/devicetree/bindings/arm/sunxi.yaml
|
||||
@@ -636,6 +636,11 @@ properties:
|
||||
- const: pine64,pinebook
|
||||
- const: allwinner,sun50i-a64
|
||||
|
||||
+ - description: Pine64 PineTab
|
||||
+ items:
|
||||
+ - const: pine64,pinetab
|
||||
+ - const: allwinner,sun50i-a64
|
||||
+
|
||||
- description: Pine64 SoPine Baseboard
|
||||
items:
|
||||
- const: pine64,sopine-baseboard
|
||||
--
|
||||
2.24.1
|
||||
|
||||
From d7b56d337bb980f0b996958ec6808253c4f50771 Mon Sep 17 00:00:00 2001
|
||||
From: Icenowy Zheng <icenowy@aosc.io>
|
||||
Date: Thu, 16 Jan 2020 11:36:36 +0800
|
||||
Subject: [PATCH 2/2] arm64: dts: allwinner: a64: add support for PineTab
|
||||
|
||||
PineTab is a 10.1" tablet by Pine64 with Allwinner A64 inside.
|
||||
|
||||
It includes the following peripherals:
|
||||
|
||||
USB:
|
||||
- A microUSB Type-B port connected to the OTG-capable USB PHY of
|
||||
Allwinner A64. The ID pin is connected to a GPIO of the A64 SoC, and the
|
||||
Vbus is connected to the Vbus of AXP803 PMIC. These enables OTG
|
||||
functionality on this port.
|
||||
- A USB Type-A port is connected to the internal hub attached to the
|
||||
non-OTG USB PHY of Allwinner A64.
|
||||
- There are reserved pins for an external keyboard connected to the
|
||||
internal hub.
|
||||
|
||||
Power:
|
||||
- The microUSB port has its Vbus connected to AXP803, mentioned above.
|
||||
- A DC jack (of a strange size, 2.5mm outer diameter) is connected to
|
||||
the ACIN of AXP803.
|
||||
- A Li-Polymer battery is connected to the battery pins of AXP803.
|
||||
|
||||
Storage:
|
||||
- An tradition Pine64 eMMC slot is on the board, mounted with an eMMC
|
||||
module by factory.
|
||||
- An external microSD slot is hidden under a protect case.
|
||||
|
||||
Display:
|
||||
- A MIPI-DSI LCD panel (800x1280) is connected to the DSI port of A64 SoC.
|
||||
- A mini HDMI port.
|
||||
|
||||
Input:
|
||||
- A touch panel attached to a Goodix GT9271 touch controller.
|
||||
- Volume keys connected to the LRADC of the A64 SoC.
|
||||
|
||||
Camera:
|
||||
- An OV5640 CMOS camera is at rear, connected to the CSI bus of A64 SoC.
|
||||
- A GC2145 CMOS camera is at front, shares the same CSI bus with OV5640.
|
||||
|
||||
Audio:
|
||||
- A headphone jack is conencted to the SoC's internal codec.
|
||||
- A speaker connected is to the Line Out port of SoC's internal codec, via
|
||||
an amplifier.
|
||||
|
||||
Misc:
|
||||
- Debug UART is muxed with the headphone jack, with the switch next to
|
||||
the microSD slot.
|
||||
- A bosch BMA223 accelerometer is connected to the I2C bus of A64 SoC.
|
||||
- Wi-Fi and Bluetooth are available via a RTL8723CS chip, similar to the
|
||||
one in Pinebook.
|
||||
|
||||
This commit adds a basically usable device tree for it, implementing
|
||||
most of the features mentioned above. HDMI is not supported now because
|
||||
bad LCD-HDMI coexistence situation of mainline A64 display driver, the
|
||||
front camera currently lacks a driver and a facility to share the bus
|
||||
with the rear one, and the accelerometer currently lacks a DT binding.
|
||||
|
||||
Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
|
||||
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
||||
---
|
||||
arch/arm64/boot/dts/allwinner/Makefile | 1 +
|
||||
.../boot/dts/allwinner/sun50i-a64-pinetab.dts | 460 ++++++++++++++++++
|
||||
2 files changed, 461 insertions(+)
|
||||
create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-a64-pinetab.dts
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile
|
||||
index cf4f78617c3f..6dad63881cd3 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/Makefile
|
||||
+++ b/arch/arm64/boot/dts/allwinner/Makefile
|
||||
@@ -9,6 +9,7 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-orangepi-win.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pine64-lts.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pine64-plus.dtb sun50i-a64-pine64.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinebook.dtb
|
||||
+dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinetab.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-sopine-baseboard.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-teres-i.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-bananapi-m2-plus.dtb
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinetab.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinetab.dts
|
||||
new file mode 100644
|
||||
index 000000000000..316e8a443913
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinetab.dts
|
||||
@@ -0,0 +1,460 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
+/*
|
||||
+ * Copyright (C) 2019 Icenowy Zheng <icenowy@aosc.xyz>
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+/dts-v1/;
|
||||
+
|
||||
+#include "sun50i-a64.dtsi"
|
||||
+#include "sun50i-a64-cpu-opp.dtsi"
|
||||
+
|
||||
+#include <dt-bindings/gpio/gpio.h>
|
||||
+#include <dt-bindings/input/input.h>
|
||||
+#include <dt-bindings/pwm/pwm.h>
|
||||
+
|
||||
+/ {
|
||||
+ model = "PineTab";
|
||||
+ compatible = "pine64,pinetab", "allwinner,sun50i-a64";
|
||||
+
|
||||
+ aliases {
|
||||
+ serial0 = &uart0;
|
||||
+ ethernet0 = &rtl8723cs;
|
||||
+ };
|
||||
+
|
||||
+ backlight: backlight {
|
||||
+ compatible = "pwm-backlight";
|
||||
+ pwms = <&pwm 0 50000 PWM_POLARITY_INVERTED>;
|
||||
+ brightness-levels = <0 16 18 20 22 24 26 29 32 35 38 42 46 51 56 62 68 75 83 91 100>;
|
||||
+ default-brightness-level = <15>;
|
||||
+ enable-gpios = <&pio 3 23 GPIO_ACTIVE_HIGH>; /* PD23 */
|
||||
+ power-supply = <&vdd_bl>;
|
||||
+ };
|
||||
+
|
||||
+ chosen {
|
||||
+ stdout-path = "serial0:115200n8";
|
||||
+ };
|
||||
+
|
||||
+ i2c-csi {
|
||||
+ compatible = "i2c-gpio";
|
||||
+ sda-gpios = <&pio 4 13 GPIO_ACTIVE_HIGH>; /* PE13 */
|
||||
+ scl-gpios = <&pio 4 12 GPIO_ACTIVE_HIGH>; /* PE12 */
|
||||
+ i2c-gpio,delay-us = <5>;
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+
|
||||
+ /* Rear camera */
|
||||
+ ov5640: camera@3c {
|
||||
+ compatible = "ovti,ov5640";
|
||||
+ reg = <0x3c>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&csi_mclk_pin>;
|
||||
+ clocks = <&ccu CLK_CSI_MCLK>;
|
||||
+ clock-names = "xclk";
|
||||
+
|
||||
+ AVDD-supply = <®_dldo3>;
|
||||
+ DOVDD-supply = <®_aldo1>;
|
||||
+ DVDD-supply = <®_eldo3>;
|
||||
+ reset-gpios = <&pio 4 14 GPIO_ACTIVE_LOW>; /* PE14 */
|
||||
+ powerdown-gpios = <&pio 4 15 GPIO_ACTIVE_HIGH>; /* PE15 */
|
||||
+
|
||||
+ port {
|
||||
+ ov5640_ep: endpoint {
|
||||
+ remote-endpoint = <&csi_ep>;
|
||||
+ bus-width = <8>;
|
||||
+ hsync-active = <1>; /* Active high */
|
||||
+ vsync-active = <0>; /* Active low */
|
||||
+ data-active = <1>; /* Active high */
|
||||
+ pclk-sample = <1>; /* Rising */
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ speaker_amp: audio-amplifier {
|
||||
+ compatible = "simple-audio-amplifier";
|
||||
+ enable-gpios = <&pio 7 7 GPIO_ACTIVE_HIGH>; /* PH7 */
|
||||
+ sound-name-prefix = "Speaker Amp";
|
||||
+ };
|
||||
+
|
||||
+ vdd_bl: regulator@0 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "bl-3v3";
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ gpio = <&pio 7 6 GPIO_ACTIVE_HIGH>; /* PH6 */
|
||||
+ enable-active-high;
|
||||
+ };
|
||||
+
|
||||
+ wifi_pwrseq: wifi_pwrseq {
|
||||
+ compatible = "mmc-pwrseq-simple";
|
||||
+ reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
|
||||
+ post-power-on-delay-ms = <200>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&codec {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&codec_analog {
|
||||
+ hpvcc-supply = <®_eldo1>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&cpu0 {
|
||||
+ cpu-supply = <®_dcdc2>;
|
||||
+};
|
||||
+
|
||||
+&cpu1 {
|
||||
+ cpu-supply = <®_dcdc2>;
|
||||
+};
|
||||
+
|
||||
+&cpu2 {
|
||||
+ cpu-supply = <®_dcdc2>;
|
||||
+};
|
||||
+
|
||||
+&cpu3 {
|
||||
+ cpu-supply = <®_dcdc2>;
|
||||
+};
|
||||
+
|
||||
+&csi {
|
||||
+ status = "okay";
|
||||
+
|
||||
+ port {
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+
|
||||
+ csi_ep: endpoint {
|
||||
+ remote-endpoint = <&ov5640_ep>;
|
||||
+ bus-width = <8>;
|
||||
+ hsync-active = <1>; /* Active high */
|
||||
+ vsync-active = <0>; /* Active low */
|
||||
+ data-active = <1>; /* Active high */
|
||||
+ pclk-sample = <1>; /* Rising */
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&dai {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&de {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&dphy {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&dsi {
|
||||
+ vcc-dsi-supply = <®_dldo1>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ panel@0 {
|
||||
+ compatible = "feixin,k101-im2ba02";
|
||||
+ reg = <0>;
|
||||
+ avdd-supply = <®_dc1sw>;
|
||||
+ dvdd-supply = <®_dc1sw>;
|
||||
+ cvdd-supply = <®_ldo_io1>;
|
||||
+ reset-gpios = <&pio 3 24 GPIO_ACTIVE_HIGH>; /* PD24 */
|
||||
+ backlight = <&backlight>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&ehci0 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ehci1 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&i2c0 {
|
||||
+ status = "okay";
|
||||
+
|
||||
+ touchscreen@5d {
|
||||
+ compatible = "goodix,gt9271";
|
||||
+ reg = <0x5d>;
|
||||
+ interrupt-parent = <&pio>;
|
||||
+ interrupts = <7 4 IRQ_TYPE_LEVEL_HIGH>; /* PH4 */
|
||||
+ irq-gpios = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
|
||||
+ reset-gpios = <&pio 7 8 GPIO_ACTIVE_HIGH>; /* PH8 */
|
||||
+ AVDD28-supply = <®_ldo_io1>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&i2c0_pins {
|
||||
+ bias-pull-up;
|
||||
+};
|
||||
+
|
||||
+&i2c1 {
|
||||
+ status = "okay";
|
||||
+
|
||||
+ /* TODO: add Bochs BMA223 accelerometer here */
|
||||
+};
|
||||
+
|
||||
+&lradc {
|
||||
+ vref-supply = <®_aldo3>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ button-200 {
|
||||
+ label = "Volume Up";
|
||||
+ linux,code = <KEY_VOLUMEUP>;
|
||||
+ channel = <0>;
|
||||
+ voltage = <200000>;
|
||||
+ };
|
||||
+
|
||||
+ button-400 {
|
||||
+ label = "Volume Down";
|
||||
+ linux,code = <KEY_VOLUMEDOWN>;
|
||||
+ channel = <0>;
|
||||
+ voltage = <400000>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&mixer1 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&mmc0 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&mmc0_pins>;
|
||||
+ vmmc-supply = <®_dcdc1>;
|
||||
+ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
|
||||
+ disable-wp;
|
||||
+ bus-width = <4>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&mmc1 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&mmc1_pins>;
|
||||
+ vmmc-supply = <®_dldo4>;
|
||||
+ vqmmc-supply = <®_eldo1>;
|
||||
+ mmc-pwrseq = <&wifi_pwrseq>;
|
||||
+ bus-width = <4>;
|
||||
+ non-removable;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ rtl8723cs: wifi@1 {
|
||||
+ reg = <1>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&mmc2 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&mmc2_pins>;
|
||||
+ vmmc-supply = <®_dcdc1>;
|
||||
+ vqmmc-supply = <®_dcdc1>;
|
||||
+ bus-width = <8>;
|
||||
+ non-removable;
|
||||
+ cap-mmc-hw-reset;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ohci0 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&pwm {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&r_rsb {
|
||||
+ status = "okay";
|
||||
+
|
||||
+ axp803: pmic@3a3 {
|
||||
+ compatible = "x-powers,axp803";
|
||||
+ reg = <0x3a3>;
|
||||
+ interrupt-parent = <&r_intc>;
|
||||
+ interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
|
||||
+ x-powers,drive-vbus-en;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+#include "axp803.dtsi"
|
||||
+
|
||||
+&ac_power_supply {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&battery_power_supply {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+®_aldo1 {
|
||||
+ regulator-min-microvolt = <2800000>;
|
||||
+ regulator-max-microvolt = <2800000>;
|
||||
+ regulator-name = "dovdd-csi";
|
||||
+};
|
||||
+
|
||||
+®_aldo2 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc-pl";
|
||||
+};
|
||||
+
|
||||
+®_aldo3 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <2700000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc-pll-avcc";
|
||||
+};
|
||||
+
|
||||
+®_dc1sw {
|
||||
+ regulator-name = "vcc-lcd";
|
||||
+};
|
||||
+
|
||||
+®_dcdc1 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc-3v3";
|
||||
+};
|
||||
+
|
||||
+®_dcdc2 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <1000000>;
|
||||
+ regulator-max-microvolt = <1300000>;
|
||||
+ regulator-name = "vdd-cpux";
|
||||
+};
|
||||
+
|
||||
+/* DCDC3 is polyphased with DCDC2 */
|
||||
+
|
||||
+®_dcdc5 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <1200000>;
|
||||
+ regulator-max-microvolt = <1200000>;
|
||||
+ regulator-name = "vcc-dram";
|
||||
+};
|
||||
+
|
||||
+®_dcdc6 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <1100000>;
|
||||
+ regulator-max-microvolt = <1100000>;
|
||||
+ regulator-name = "vdd-sys";
|
||||
+};
|
||||
+
|
||||
+®_dldo1 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc-hdmi-dsi-sensor";
|
||||
+};
|
||||
+
|
||||
+®_dldo3 {
|
||||
+ regulator-min-microvolt = <2800000>;
|
||||
+ regulator-max-microvolt = <2800000>;
|
||||
+ regulator-name = "avdd-csi";
|
||||
+};
|
||||
+
|
||||
+®_dldo4 {
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc-wifi";
|
||||
+};
|
||||
+
|
||||
+®_drivevbus {
|
||||
+ regulator-name = "usb0-vbus";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+®_eldo1 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+ regulator-name = "cpvdd";
|
||||
+};
|
||||
+
|
||||
+®_eldo2 {
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+ regulator-name = "vcca-1v8";
|
||||
+};
|
||||
+
|
||||
+®_eldo3 {
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+ regulator-name = "dvdd-1v8-csi";
|
||||
+};
|
||||
+
|
||||
+®_fldo1 {
|
||||
+ regulator-min-microvolt = <1200000>;
|
||||
+ regulator-max-microvolt = <1200000>;
|
||||
+ regulator-name = "vcc-1v2-hsic";
|
||||
+};
|
||||
+
|
||||
+®_fldo2 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <1100000>;
|
||||
+ regulator-max-microvolt = <1100000>;
|
||||
+ regulator-name = "vdd-cpus";
|
||||
+};
|
||||
+
|
||||
+®_ldo_io0 {
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc-usb";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+®_ldo_io1 {
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-enable-ramp-delay = <3500000>;
|
||||
+ regulator-name = "vcc-touchscreen";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+®_rtc_ldo {
|
||||
+ regulator-name = "vcc-rtc";
|
||||
+};
|
||||
+
|
||||
+&sound {
|
||||
+ status = "okay";
|
||||
+ simple-audio-card,aux-devs = <&codec_analog>, <&speaker_amp>;
|
||||
+ simple-audio-card,widgets = "Microphone", "Internal Microphone Left",
|
||||
+ "Microphone", "Internal Microphone Right",
|
||||
+ "Headphone", "Headphone Jack",
|
||||
+ "Speaker", "Internal Speaker";
|
||||
+ simple-audio-card,routing =
|
||||
+ "Left DAC", "AIF1 Slot 0 Left",
|
||||
+ "Right DAC", "AIF1 Slot 0 Right",
|
||||
+ "Speaker Amp INL", "LINEOUT",
|
||||
+ "Speaker Amp INR", "LINEOUT",
|
||||
+ "Internal Speaker", "Speaker Amp OUTL",
|
||||
+ "Internal Speaker", "Speaker Amp OUTR",
|
||||
+ "Headphone Jack", "HP",
|
||||
+ "AIF1 Slot 0 Left ADC", "Left ADC",
|
||||
+ "AIF1 Slot 0 Right ADC", "Right ADC",
|
||||
+ "Internal Microphone Left", "MBIAS",
|
||||
+ "MIC1", "Internal Microphone Left",
|
||||
+ "Internal Microphone Right", "HBIAS",
|
||||
+ "MIC2", "Internal Microphone Right";
|
||||
+};
|
||||
+
|
||||
+&uart0 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&uart0_pb_pins>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb_otg {
|
||||
+ dr_mode = "otg";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb_power_supply {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usbphy {
|
||||
+ usb0_id_det-gpios = <&pio 7 9 GPIO_ACTIVE_HIGH>; /* PH9 */
|
||||
+ usb0_vbus_power-supply = <&usb_power_supply>;
|
||||
+ usb0_vbus-supply = <®_drivevbus>;
|
||||
+ usb1_vbus-supply = <®_ldo_io0>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
--
|
||||
2.24.1
|
||||
|
||||
429
arm64-pinebook-fixes.patch
Normal file
429
arm64-pinebook-fixes.patch
Normal file
|
|
@ -0,0 +1,429 @@
|
|||
From e7a6e6b0c6506a9f070dbfb2ca948770c47a1d78 Mon Sep 17 00:00:00 2001
|
||||
From: Samuel Holland <samuel@sholland.org>
|
||||
Date: Sun, 19 Jan 2020 10:30:57 -0600
|
||||
Subject: [PATCH 1/8] arm64: dts: allwinner: pinebook: Remove unused vcc3v3
|
||||
regulator
|
||||
|
||||
This fixed regulator has no consumers, GPIOs, or other connections.
|
||||
Remove it.
|
||||
|
||||
Signed-off-by: Samuel Holland <samuel@sholland.org>
|
||||
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
||||
---
|
||||
arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts | 7 -------
|
||||
1 file changed, 7 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
|
||||
index 3d894b208901..ff32ca1a495e 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
|
||||
@@ -63,13 +63,6 @@ lid_switch {
|
||||
};
|
||||
};
|
||||
|
||||
- reg_vcc3v3: vcc3v3 {
|
||||
- compatible = "regulator-fixed";
|
||||
- regulator-name = "vcc3v3";
|
||||
- regulator-min-microvolt = <3300000>;
|
||||
- regulator-max-microvolt = <3300000>;
|
||||
- };
|
||||
-
|
||||
wifi_pwrseq: wifi_pwrseq {
|
||||
compatible = "mmc-pwrseq-simple";
|
||||
reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
|
||||
--
|
||||
2.24.1
|
||||
|
||||
From 5eea216437eeff908d6d2942bf893fb77ebfc111 Mon Sep 17 00:00:00 2001
|
||||
From: Samuel Holland <samuel@sholland.org>
|
||||
Date: Sun, 19 Jan 2020 10:30:59 -0600
|
||||
Subject: [PATCH 2/8] arm64: dts: allwinner: pinebook: Sort device tree nodes
|
||||
|
||||
The r_i2c node should come before r_rsb, and in any case should not
|
||||
separate the axp803 node from its subnodes.
|
||||
|
||||
Signed-off-by: Samuel Holland <samuel@sholland.org>
|
||||
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
||||
---
|
||||
.../boot/dts/allwinner/sun50i-a64-pinebook.dts | 16 ++++++++--------
|
||||
1 file changed, 8 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
|
||||
index ff32ca1a495e..77784f7b1da7 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
|
||||
@@ -172,6 +172,14 @@ &pwm {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+/* The ANX6345 eDP-bridge is on r_i2c */
|
||||
+&r_i2c {
|
||||
+ clock-frequency = <100000>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&r_i2c_pl89_pins>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&r_rsb {
|
||||
status = "okay";
|
||||
|
||||
@@ -183,14 +191,6 @@ axp803: pmic@3a3 {
|
||||
};
|
||||
};
|
||||
|
||||
-/* The ANX6345 eDP-bridge is on r_i2c */
|
||||
-&r_i2c {
|
||||
- clock-frequency = <100000>;
|
||||
- pinctrl-names = "default";
|
||||
- pinctrl-0 = <&r_i2c_pl89_pins>;
|
||||
- status = "okay";
|
||||
-};
|
||||
-
|
||||
#include "axp803.dtsi"
|
||||
|
||||
&ac_power_supply {
|
||||
--
|
||||
2.24.1
|
||||
|
||||
From 4bdf53ffc64e5c6738c942dcdc422d5ca8a2070a Mon Sep 17 00:00:00 2001
|
||||
From: Samuel Holland <samuel@sholland.org>
|
||||
Date: Sun, 19 Jan 2020 10:31:00 -0600
|
||||
Subject: [PATCH 3/8] arm64: dts: allwinner: pinebook: Make simplefb more
|
||||
consistent
|
||||
|
||||
Boards generally reference the simplefb nodes from the SoC dtsi by
|
||||
label, not by full path. simplefb_hdmi is already like this in the
|
||||
Pinebook DTS. Update simplefb_lcd to match.
|
||||
|
||||
Signed-off-by: Samuel Holland <samuel@sholland.org>
|
||||
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
||||
---
|
||||
.../arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts | 12 ++++++------
|
||||
1 file changed, 6 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
|
||||
index 77784f7b1da7..224bed65d008 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
|
||||
@@ -41,12 +41,6 @@ backlight: backlight {
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
-
|
||||
- framebuffer-lcd {
|
||||
- panel-supply = <®_dc1sw>;
|
||||
- dvdd25-supply = <®_dldo2>;
|
||||
- dvdd12-supply = <®_fldo1>;
|
||||
- };
|
||||
};
|
||||
|
||||
gpio_keys {
|
||||
@@ -316,6 +310,12 @@ ®_rtc_ldo {
|
||||
regulator-name = "vcc-rtc";
|
||||
};
|
||||
|
||||
+&simplefb_lcd {
|
||||
+ panel-supply = <®_dc1sw>;
|
||||
+ dvdd25-supply = <®_dldo2>;
|
||||
+ dvdd12-supply = <®_fldo1>;
|
||||
+};
|
||||
+
|
||||
&simplefb_hdmi {
|
||||
vcc-hdmi-supply = <®_dldo1>;
|
||||
};
|
||||
--
|
||||
2.24.1
|
||||
|
||||
From c0f416de7141bbc713f080ad123b256f6320ec92 Mon Sep 17 00:00:00 2001
|
||||
From: Samuel Holland <samuel@sholland.org>
|
||||
Date: Sun, 19 Jan 2020 10:31:01 -0600
|
||||
Subject: [PATCH 4/8] arm64: dts: allwinner: pinebook: Document MMC0 CD pin
|
||||
name
|
||||
|
||||
Normally GPIO pin references are followed by a comment giving the pin
|
||||
name for searchability. Add the comment here where it was missing.
|
||||
|
||||
Signed-off-by: Samuel Holland <samuel@sholland.org>
|
||||
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
||||
---
|
||||
arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
|
||||
index 224bed65d008..a1e15777d524 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
|
||||
@@ -119,7 +119,7 @@ &mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins>;
|
||||
vmmc-supply = <®_dcdc1>;
|
||||
- cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
|
||||
+ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
|
||||
disable-wp;
|
||||
bus-width = <4>;
|
||||
status = "okay";
|
||||
--
|
||||
2.24.1
|
||||
|
||||
From 8818d55ec31fa6e0dc14fb7a4924b3e8d3ecef7d Mon Sep 17 00:00:00 2001
|
||||
From: Samuel Holland <samuel@sholland.org>
|
||||
Date: Sun, 19 Jan 2020 10:31:02 -0600
|
||||
Subject: [PATCH 5/8] arm64: dts: allwinner: pinebook: Add GPIO port regulators
|
||||
|
||||
Allwinner A64 SoC has separate supplies for PC, PD, PE, PG and PL.
|
||||
|
||||
VCC-PC and VCC-PG are supplied by ELDO1 at 1.8v.
|
||||
VCC-PD is supplied by DCDC1 (VCC-IO) at 3.3v.
|
||||
VCC-PE is supplied by ALDO1, and is unused.
|
||||
|
||||
VCC-PL creates a circular dependency, so it is omitted for now.
|
||||
|
||||
Signed-off-by: Samuel Holland <samuel@sholland.org>
|
||||
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
||||
---
|
||||
.../boot/dts/allwinner/sun50i-a64-pinebook.dts | 17 +++++++++++++++++
|
||||
1 file changed, 17 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
|
||||
index a1e15777d524..1ec39120323f 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
|
||||
@@ -162,6 +162,13 @@ &ohci1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&pio {
|
||||
+ vcc-pc-supply = <®_eldo1>;
|
||||
+ vcc-pd-supply = <®_dcdc1>;
|
||||
+ vcc-pe-supply = <®_aldo1>;
|
||||
+ vcc-pg-supply = <®_eldo1>;
|
||||
+};
|
||||
+
|
||||
&pwm {
|
||||
status = "okay";
|
||||
};
|
||||
@@ -174,6 +181,16 @@ &r_i2c {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&r_pio {
|
||||
+ /*
|
||||
+ * FIXME: We can't add that supply for now since it would
|
||||
+ * create a circular dependency between pinctrl, the regulator
|
||||
+ * and the RSB Bus.
|
||||
+ *
|
||||
+ * vcc-pl-supply = <®_aldo2>;
|
||||
+ */
|
||||
+};
|
||||
+
|
||||
&r_rsb {
|
||||
status = "okay";
|
||||
|
||||
--
|
||||
2.24.1
|
||||
|
||||
From bd863f25d41173e140850772f9a02ffb3b3e0d6b Mon Sep 17 00:00:00 2001
|
||||
From: Samuel Holland <samuel@sholland.org>
|
||||
Date: Sun, 19 Jan 2020 10:31:03 -0600
|
||||
Subject: [PATCH 6/8] arm64: dts: allwinner: pinebook: Fix backlight regulator
|
||||
|
||||
The output from the backlight regulator is labeled as "VBKLT" in the
|
||||
schematic. Using the equation and resistor values from the schematic,
|
||||
the output is approximately 18V, not 3.3V. Since the regulator in use
|
||||
(SS6640STR) is a boost regulator powered by PS (battery or AC input),
|
||||
which are both >3.3V, the output could not be 3.3V anyway.
|
||||
|
||||
Signed-off-by: Samuel Holland <samuel@sholland.org>
|
||||
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
||||
---
|
||||
.../dts/allwinner/sun50i-a64-pinebook.dts | 20 +++++++++----------
|
||||
1 file changed, 10 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
|
||||
index 1ec39120323f..313f4e6edc19 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
|
||||
@@ -21,22 +21,13 @@ aliases {
|
||||
ethernet0 = &rtl8723cs;
|
||||
};
|
||||
|
||||
- vdd_bl: regulator@0 {
|
||||
- compatible = "regulator-fixed";
|
||||
- regulator-name = "bl-3v3";
|
||||
- regulator-min-microvolt = <3300000>;
|
||||
- regulator-max-microvolt = <3300000>;
|
||||
- gpio = <&pio 7 6 GPIO_ACTIVE_HIGH>; /* PH6 */
|
||||
- enable-active-high;
|
||||
- };
|
||||
-
|
||||
backlight: backlight {
|
||||
compatible = "pwm-backlight";
|
||||
pwms = <&pwm 0 50000 0>;
|
||||
brightness-levels = <0 5 10 15 20 30 40 55 70 85 100>;
|
||||
default-brightness-level = <2>;
|
||||
enable-gpios = <&pio 3 23 GPIO_ACTIVE_HIGH>; /* PD23 */
|
||||
- power-supply = <&vdd_bl>;
|
||||
+ power-supply = <®_vbklt>;
|
||||
};
|
||||
|
||||
chosen {
|
||||
@@ -57,6 +48,15 @@ lid_switch {
|
||||
};
|
||||
};
|
||||
|
||||
+ reg_vbklt: vbklt {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "vbklt";
|
||||
+ regulator-min-microvolt = <18000000>;
|
||||
+ regulator-max-microvolt = <18000000>;
|
||||
+ gpio = <&pio 7 6 GPIO_ACTIVE_HIGH>; /* PH6 */
|
||||
+ enable-active-high;
|
||||
+ };
|
||||
+
|
||||
wifi_pwrseq: wifi_pwrseq {
|
||||
compatible = "mmc-pwrseq-simple";
|
||||
reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
|
||||
--
|
||||
2.24.1
|
||||
|
||||
From 425472eb612873c9c64b41df70020de58448bef3 Mon Sep 17 00:00:00 2001
|
||||
From: Samuel Holland <samuel@sholland.org>
|
||||
Date: Sun, 19 Jan 2020 10:31:04 -0600
|
||||
Subject: [PATCH 7/8] arm64: dts: allwinner: pinebook: Fix 5v0 boost regulator
|
||||
|
||||
Now that AXP803 GPIO support is available, we can properly model
|
||||
the hardware. Replace the use of GPIO0-LDO with a fixed regulator
|
||||
controlled by GPIO0. This boost regulator is used to power the
|
||||
(internal and external) USB ports, as well as the speakers.
|
||||
|
||||
Signed-off-by: Samuel Holland <samuel@sholland.org>
|
||||
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
||||
---
|
||||
.../dts/allwinner/sun50i-a64-pinebook.dts | 27 +++++++++----------
|
||||
1 file changed, 12 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
|
||||
index 313f4e6edc19..c06c540e6c08 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
|
||||
@@ -57,6 +57,15 @@ reg_vbklt: vbklt {
|
||||
enable-active-high;
|
||||
};
|
||||
|
||||
+ reg_vcc5v0: vcc5v0 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "vcc5v0";
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ gpio = <&axp_gpio 0 GPIO_ACTIVE_HIGH>;
|
||||
+ enable-active-high;
|
||||
+ };
|
||||
+
|
||||
wifi_pwrseq: wifi_pwrseq {
|
||||
compatible = "mmc-pwrseq-simple";
|
||||
reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
|
||||
@@ -64,12 +73,7 @@ wifi_pwrseq: wifi_pwrseq {
|
||||
|
||||
speaker_amp: audio-amplifier {
|
||||
compatible = "simple-audio-amplifier";
|
||||
- /*
|
||||
- * TODO This is actually a fixed regulator controlled by
|
||||
- * the GPIO line on the PMIC. This should be corrected
|
||||
- * once GPIO support is added for this PMIC.
|
||||
- */
|
||||
- VCC-supply = <®_ldo_io0>;
|
||||
+ VCC-supply = <®_vcc5v0>;
|
||||
enable-gpios = <&pio 7 7 GPIO_ACTIVE_HIGH>; /* PH7 */
|
||||
sound-name-prefix = "Speaker Amp";
|
||||
};
|
||||
@@ -316,13 +320,6 @@ ®_fldo2 {
|
||||
regulator-name = "vdd-cpus";
|
||||
};
|
||||
|
||||
-®_ldo_io0 {
|
||||
- regulator-min-microvolt = <3300000>;
|
||||
- regulator-max-microvolt = <3300000>;
|
||||
- regulator-name = "vcc-usb";
|
||||
- status = "okay";
|
||||
-};
|
||||
-
|
||||
®_rtc_ldo {
|
||||
regulator-name = "vcc-rtc";
|
||||
};
|
||||
@@ -371,7 +368,7 @@ &usb_otg {
|
||||
};
|
||||
|
||||
&usbphy {
|
||||
- usb0_vbus-supply = <®_ldo_io0>;
|
||||
- usb1_vbus-supply = <®_ldo_io0>;
|
||||
+ usb0_vbus-supply = <®_vcc5v0>;
|
||||
+ usb1_vbus-supply = <®_vcc5v0>;
|
||||
status = "okay";
|
||||
};
|
||||
--
|
||||
2.24.1
|
||||
|
||||
From c3aea4ea2117f5dc28da3d4175fc93296653ecd5 Mon Sep 17 00:00:00 2001
|
||||
From: Samuel Holland <samuel@sholland.org>
|
||||
Date: Sun, 19 Jan 2020 10:30:58 -0600
|
||||
Subject: [PATCH 8/8] arm64: dts: allwinner: pinebook: Remove unused AXP803
|
||||
regulators
|
||||
|
||||
The Pinebook does not use the CSI bus on the A64. In fact it does not
|
||||
use GPIO port E for anything at all. Thus the following regulators are
|
||||
not used and do not need voltages set:
|
||||
|
||||
- ALDO1: Connected to VCC-PE only
|
||||
- DLDO3: Not connected
|
||||
- ELDO3: Not connected
|
||||
|
||||
Signed-off-by: Samuel Holland <samuel@sholland.org>
|
||||
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
||||
---
|
||||
.../boot/dts/allwinner/sun50i-a64-pinebook.dts | 16 +---------------
|
||||
1 file changed, 1 insertion(+), 15 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
|
||||
index c06c540e6c08..12e513ba8f50 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
|
||||
@@ -217,9 +217,7 @@ &battery_power_supply {
|
||||
};
|
||||
|
||||
®_aldo1 {
|
||||
- regulator-min-microvolt = <2800000>;
|
||||
- regulator-max-microvolt = <2800000>;
|
||||
- regulator-name = "vcc-csi";
|
||||
+ regulator-name = "vcc-pe";
|
||||
};
|
||||
|
||||
®_aldo2 {
|
||||
@@ -282,12 +280,6 @@ ®_dldo2 {
|
||||
regulator-name = "vcc-edp";
|
||||
};
|
||||
|
||||
-®_dldo3 {
|
||||
- regulator-min-microvolt = <3300000>;
|
||||
- regulator-max-microvolt = <3300000>;
|
||||
- regulator-name = "avdd-csi";
|
||||
-};
|
||||
-
|
||||
®_dldo4 {
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
@@ -301,12 +293,6 @@ ®_eldo1 {
|
||||
regulator-name = "cpvdd";
|
||||
};
|
||||
|
||||
-®_eldo3 {
|
||||
- regulator-min-microvolt = <1800000>;
|
||||
- regulator-max-microvolt = <1800000>;
|
||||
- regulator-name = "vdd-1v8-csi";
|
||||
-};
|
||||
-
|
||||
®_fldo1 {
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
--
|
||||
2.24.1
|
||||
|
||||
396
arm64-serial-8250_tegra-Create-Tegra-specific-8250-driver.patch
Normal file
396
arm64-serial-8250_tegra-Create-Tegra-specific-8250-driver.patch
Normal file
|
|
@ -0,0 +1,396 @@
|
|||
From patchwork Wed Jan 29 13:28:17 2020
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Jon Hunter <jonathanh@nvidia.com>
|
||||
X-Patchwork-Id: 1230891
|
||||
Return-Path: <linux-tegra-owner@vger.kernel.org>
|
||||
X-Original-To: incoming@patchwork.ozlabs.org
|
||||
Delivered-To: patchwork-incoming@bilbo.ozlabs.org
|
||||
Authentication-Results: ozlabs.org; spf=none (no SPF record)
|
||||
smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67;
|
||||
helo=vger.kernel.org;
|
||||
envelope-from=linux-tegra-owner@vger.kernel.org;
|
||||
receiver=<UNKNOWN>)
|
||||
Authentication-Results: ozlabs.org;
|
||||
dmarc=pass (p=none dis=none) header.from=nvidia.com
|
||||
Authentication-Results: ozlabs.org; dkim=pass (2048-bit key;
|
||||
unprotected) header.d=nvidia.com header.i=@nvidia.com
|
||||
header.a=rsa-sha256 header.s=n1 header.b=lgr6vu5h;
|
||||
dkim-atps=neutral
|
||||
Received: from vger.kernel.org (vger.kernel.org [209.132.180.67])
|
||||
by ozlabs.org (Postfix) with ESMTP id 48747F4JPmz9sPW
|
||||
for <incoming@patchwork.ozlabs.org>;
|
||||
Thu, 30 Jan 2020 00:28:25 +1100 (AEDT)
|
||||
Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
|
||||
id S1726178AbgA2N2Y (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);
|
||||
Wed, 29 Jan 2020 08:28:24 -0500
|
||||
Received: from hqnvemgate25.nvidia.com ([216.228.121.64]:3674 "EHLO
|
||||
hqnvemgate25.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
|
||||
with ESMTP id S1726069AbgA2N2Y (ORCPT
|
||||
<rfc822;linux-tegra@vger.kernel.org>);
|
||||
Wed, 29 Jan 2020 08:28:24 -0500
|
||||
Received: from hqpgpgate101.nvidia.com (Not Verified[216.228.121.13]) by
|
||||
hqnvemgate25.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA)
|
||||
id <B5e3188630000>; Wed, 29 Jan 2020 05:28:03 -0800
|
||||
Received: from hqmail.nvidia.com ([172.20.161.6])
|
||||
by hqpgpgate101.nvidia.com (PGP Universal service);
|
||||
Wed, 29 Jan 2020 05:28:23 -0800
|
||||
X-PGP-Universal: processed;
|
||||
by hqpgpgate101.nvidia.com on Wed, 29 Jan 2020 05:28:23 -0800
|
||||
Received: from HQMAIL107.nvidia.com (172.20.187.13) by HQMAIL101.nvidia.com
|
||||
(172.20.187.10) with Microsoft SMTP Server (TLS) id 15.0.1473.3;
|
||||
Wed, 29 Jan 2020 13:28:22 +0000
|
||||
Received: from rnnvemgw01.nvidia.com (10.128.109.123) by HQMAIL107.nvidia.com
|
||||
(172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via
|
||||
Frontend Transport; Wed, 29 Jan 2020 13:28:22 +0000
|
||||
Received: from localhost.localdomain (Not Verified[10.21.133.51]) by
|
||||
rnnvemgw01.nvidia.com with Trustwave SEG (v7, 5, 8, 10121)
|
||||
id <B5e3188740004>; Wed, 29 Jan 2020 05:28:21 -0800
|
||||
From: Jon Hunter <jonathanh@nvidia.com>
|
||||
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
|
||||
Jiri Slaby <jslaby@suse.com>, Thierry Reding <thierry.reding@gmail.com>
|
||||
CC: <linux-serial@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
|
||||
<linux-tegra@vger.kernel.org>, Jeff Brasen <jbrasen@nvidia.com>,
|
||||
Jon Hunter <jonathanh@nvidia.com>
|
||||
Subject: [PATCH V3] serial: 8250_tegra: Create Tegra specific 8250 driver
|
||||
Date: Wed, 29 Jan 2020 13:28:17 +0000
|
||||
Message-ID: <20200129132817.26343-1-jonathanh@nvidia.com>
|
||||
X-Mailer: git-send-email 2.17.1
|
||||
X-NVConfidentiality: public
|
||||
MIME-Version: 1.0
|
||||
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1;
|
||||
t=1580304483; bh=HoJs+kXsFZvSMy4ts1p9lRICvn55qhYk7d+0r26WND4=;
|
||||
h=X-PGP-Universal:From:To:CC:Subject:Date:Message-ID:X-Mailer:
|
||||
X-NVConfidentiality:MIME-Version:Content-Type;
|
||||
b=lgr6vu5h+VXLi0/YMPdPOZmrFcPymQL2RMQS/Y94oEs9qjQBfvOy9RYiQ5bsghpNO
|
||||
9U3OavbzFTAgW3KVZK8/mx1JJMjbFph68zpRKJEwBkblJHozmOkNlYLdz/cMpg5F3z
|
||||
XIdzGIouM94Y4Hf/z/PboeRmHIBT/2El0aEgzPdP9pt7VwjIlXvaaQs07AQ8RQFHaL
|
||||
NV3bpUNN5YnloRF8XZ4upFOBRw06fcNAkTS9bwSFXWyFX19F+pUyKwKLaMIsmytQ8Q
|
||||
1tMqHbNUdh2yi1PLb34dnWezFZmhfrhFsKrmWnbZA/QAcB+HuvRmUMtZmIE+K4sa1B
|
||||
dhsJcFUWXmJbQ==
|
||||
Sender: linux-tegra-owner@vger.kernel.org
|
||||
Precedence: bulk
|
||||
List-ID: <linux-tegra.vger.kernel.org>
|
||||
X-Mailing-List: linux-tegra@vger.kernel.org
|
||||
|
||||
From: Jeff Brasen <jbrasen@nvidia.com>
|
||||
|
||||
To support booting NVIDIA Tegra platforms with either Device-Tree or
|
||||
ACPI, create a Tegra specific 8250 serial driver that supports both
|
||||
firmware types. Another benefit from doing this, is that the Tegra
|
||||
specific codec in the generic Open Firmware 8250 driver can now be
|
||||
removed.
|
||||
|
||||
Signed-off-by: Jeff Brasen <jbrasen@nvidia.com>
|
||||
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
|
||||
---
|
||||
|
||||
Changes since V2:
|
||||
- Added missing header for devm_ioremap (reported by kbuild test robot)
|
||||
Changes since V1:
|
||||
- Added support for COMPILE_TEST
|
||||
|
||||
drivers/tty/serial/8250/8250_of.c | 28 ----
|
||||
drivers/tty/serial/8250/8250_tegra.c | 198 +++++++++++++++++++++++++++
|
||||
drivers/tty/serial/8250/Kconfig | 9 ++
|
||||
drivers/tty/serial/8250/Makefile | 1 +
|
||||
4 files changed, 208 insertions(+), 28 deletions(-)
|
||||
create mode 100644 drivers/tty/serial/8250/8250_tegra.c
|
||||
|
||||
diff --git a/drivers/tty/serial/8250/8250_of.c b/drivers/tty/serial/8250/8250_of.c
|
||||
index 531ad67395e0..5e45cf8dbc6e 100644
|
||||
--- a/drivers/tty/serial/8250/8250_of.c
|
||||
+++ b/drivers/tty/serial/8250/8250_of.c
|
||||
@@ -7,7 +7,6 @@
|
||||
#include <linux/console.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/slab.h>
|
||||
-#include <linux/delay.h>
|
||||
#include <linux/serial_core.h>
|
||||
#include <linux/serial_reg.h>
|
||||
#include <linux/of_address.h>
|
||||
@@ -26,28 +25,6 @@ struct of_serial_info {
|
||||
int line;
|
||||
};
|
||||
|
||||
-#ifdef CONFIG_ARCH_TEGRA
|
||||
-static void tegra_serial_handle_break(struct uart_port *p)
|
||||
-{
|
||||
- unsigned int status, tmout = 10000;
|
||||
-
|
||||
- do {
|
||||
- status = p->serial_in(p, UART_LSR);
|
||||
- if (status & (UART_LSR_FIFOE | UART_LSR_BRK_ERROR_BITS))
|
||||
- status = p->serial_in(p, UART_RX);
|
||||
- else
|
||||
- break;
|
||||
- if (--tmout == 0)
|
||||
- break;
|
||||
- udelay(1);
|
||||
- } while (1);
|
||||
-}
|
||||
-#else
|
||||
-static inline void tegra_serial_handle_break(struct uart_port *port)
|
||||
-{
|
||||
-}
|
||||
-#endif
|
||||
-
|
||||
static int of_8250_rs485_config(struct uart_port *port,
|
||||
struct serial_rs485 *rs485)
|
||||
{
|
||||
@@ -211,10 +188,6 @@ static int of_platform_serial_setup(struct platform_device *ofdev,
|
||||
port->rs485_config = of_8250_rs485_config;
|
||||
|
||||
switch (type) {
|
||||
- case PORT_TEGRA:
|
||||
- port->handle_break = tegra_serial_handle_break;
|
||||
- break;
|
||||
-
|
||||
case PORT_RT2880:
|
||||
port->iotype = UPIO_AU;
|
||||
break;
|
||||
@@ -359,7 +332,6 @@ static const struct of_device_id of_platform_serial_table[] = {
|
||||
{ .compatible = "ns16550", .data = (void *)PORT_16550, },
|
||||
{ .compatible = "ns16750", .data = (void *)PORT_16750, },
|
||||
{ .compatible = "ns16850", .data = (void *)PORT_16850, },
|
||||
- { .compatible = "nvidia,tegra20-uart", .data = (void *)PORT_TEGRA, },
|
||||
{ .compatible = "nxp,lpc3220-uart", .data = (void *)PORT_LPC3220, },
|
||||
{ .compatible = "ralink,rt2880-uart", .data = (void *)PORT_RT2880, },
|
||||
{ .compatible = "intel,xscale-uart", .data = (void *)PORT_XSCALE, },
|
||||
diff --git a/drivers/tty/serial/8250/8250_tegra.c b/drivers/tty/serial/8250/8250_tegra.c
|
||||
new file mode 100644
|
||||
index 000000000000..c0ffad1572c6
|
||||
--- /dev/null
|
||||
+++ b/drivers/tty/serial/8250/8250_tegra.c
|
||||
@@ -0,0 +1,198 @@
|
||||
+// SPDX-License-Identifier: GPL-2.0+
|
||||
+/*
|
||||
+ * Serial Port driver for Tegra devices
|
||||
+ *
|
||||
+ * Copyright (c) 2020, NVIDIA CORPORATION. All rights reserved.
|
||||
+ */
|
||||
+
|
||||
+#include <linux/acpi.h>
|
||||
+#include <linux/clk.h>
|
||||
+#include <linux/console.h>
|
||||
+#include <linux/delay.h>
|
||||
+#include <linux/io.h>
|
||||
+#include <linux/module.h>
|
||||
+#include <linux/reset.h>
|
||||
+#include <linux/slab.h>
|
||||
+
|
||||
+#include "8250.h"
|
||||
+
|
||||
+struct tegra_uart {
|
||||
+ struct clk *clk;
|
||||
+ struct reset_control *rst;
|
||||
+ int line;
|
||||
+};
|
||||
+
|
||||
+static void tegra_uart_handle_break(struct uart_port *p)
|
||||
+{
|
||||
+ unsigned int status, tmout = 10000;
|
||||
+
|
||||
+ do {
|
||||
+ status = p->serial_in(p, UART_LSR);
|
||||
+ if (status & (UART_LSR_FIFOE | UART_LSR_BRK_ERROR_BITS))
|
||||
+ status = p->serial_in(p, UART_RX);
|
||||
+ else
|
||||
+ break;
|
||||
+ if (--tmout == 0)
|
||||
+ break;
|
||||
+ udelay(1);
|
||||
+ } while (1);
|
||||
+}
|
||||
+
|
||||
+static int tegra_uart_probe(struct platform_device *pdev)
|
||||
+{
|
||||
+ struct uart_8250_port port8250;
|
||||
+ struct tegra_uart *uart;
|
||||
+ struct uart_port *port;
|
||||
+ struct resource *res;
|
||||
+ int ret;
|
||||
+
|
||||
+ uart = devm_kzalloc(&pdev->dev, sizeof(*uart), GFP_KERNEL);
|
||||
+ if (!uart)
|
||||
+ return -ENOMEM;
|
||||
+
|
||||
+ memset(&port8250, 0, sizeof(port8250));
|
||||
+
|
||||
+ port = &port8250.port;
|
||||
+ spin_lock_init(&port->lock);
|
||||
+
|
||||
+ port->flags = UPF_SHARE_IRQ | UPF_BOOT_AUTOCONF | UPF_FIXED_PORT |
|
||||
+ UPF_FIXED_TYPE;
|
||||
+ port->iotype = UPIO_MEM32;
|
||||
+ port->regshift = 2;
|
||||
+ port->type = PORT_TEGRA;
|
||||
+ port->irqflags |= IRQF_SHARED;
|
||||
+ port->dev = &pdev->dev;
|
||||
+ port->handle_break = tegra_uart_handle_break;
|
||||
+
|
||||
+ ret = of_alias_get_id(pdev->dev.of_node, "serial");
|
||||
+ if (ret >= 0)
|
||||
+ port->line = ret;
|
||||
+
|
||||
+ ret = platform_get_irq(pdev, 0);
|
||||
+ if (ret < 0)
|
||||
+ return ret;
|
||||
+
|
||||
+ port->irq = ret;
|
||||
+
|
||||
+ res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
||||
+ if (!res)
|
||||
+ return -ENODEV;
|
||||
+
|
||||
+ port->membase = devm_ioremap(&pdev->dev, res->start,
|
||||
+ resource_size(res));
|
||||
+ if (!port->membase)
|
||||
+ return -ENOMEM;
|
||||
+
|
||||
+ port->mapbase = res->start;
|
||||
+ port->mapsize = resource_size(res);
|
||||
+
|
||||
+ uart->rst = devm_reset_control_get_optional_shared(&pdev->dev, NULL);
|
||||
+ if (IS_ERR(uart->rst))
|
||||
+ return PTR_ERR(uart->rst);
|
||||
+
|
||||
+ if (device_property_read_u32(&pdev->dev, "clock-frequency",
|
||||
+ &port->uartclk)) {
|
||||
+ uart->clk = devm_clk_get(&pdev->dev, NULL);
|
||||
+ if (IS_ERR(uart->clk)) {
|
||||
+ dev_err(&pdev->dev, "failed to get clock!\n");
|
||||
+ return -ENODEV;
|
||||
+ }
|
||||
+
|
||||
+ ret = clk_prepare_enable(uart->clk);
|
||||
+ if (ret < 0)
|
||||
+ return ret;
|
||||
+
|
||||
+ port->uartclk = clk_get_rate(uart->clk);
|
||||
+ }
|
||||
+
|
||||
+ ret = reset_control_deassert(uart->rst);
|
||||
+ if (ret)
|
||||
+ goto err_clkdisable;
|
||||
+
|
||||
+ ret = serial8250_register_8250_port(&port8250);
|
||||
+ if (ret < 0)
|
||||
+ goto err_clkdisable;
|
||||
+
|
||||
+ platform_set_drvdata(pdev, uart);
|
||||
+ uart->line = ret;
|
||||
+
|
||||
+ return 0;
|
||||
+
|
||||
+err_clkdisable:
|
||||
+ clk_disable_unprepare(uart->clk);
|
||||
+
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
+static int tegra_uart_remove(struct platform_device *pdev)
|
||||
+{
|
||||
+ struct tegra_uart *uart = platform_get_drvdata(pdev);
|
||||
+
|
||||
+ serial8250_unregister_port(uart->line);
|
||||
+ reset_control_assert(uart->rst);
|
||||
+ clk_disable_unprepare(uart->clk);
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+#ifdef CONFIG_PM_SLEEP
|
||||
+static int tegra_uart_suspend(struct device *dev)
|
||||
+{
|
||||
+ struct tegra_uart *uart = dev_get_drvdata(dev);
|
||||
+ struct uart_8250_port *port8250 = serial8250_get_port(uart->line);
|
||||
+ struct uart_port *port = &port8250->port;
|
||||
+
|
||||
+ serial8250_suspend_port(uart->line);
|
||||
+
|
||||
+ if (!uart_console(port) || console_suspend_enabled)
|
||||
+ clk_disable_unprepare(uart->clk);
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static int tegra_uart_resume(struct device *dev)
|
||||
+{
|
||||
+ struct tegra_uart *uart = dev_get_drvdata(dev);
|
||||
+ struct uart_8250_port *port8250 = serial8250_get_port(uart->line);
|
||||
+ struct uart_port *port = &port8250->port;
|
||||
+
|
||||
+ if (!uart_console(port) || console_suspend_enabled)
|
||||
+ clk_prepare_enable(uart->clk);
|
||||
+
|
||||
+ serial8250_resume_port(uart->line);
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
+static SIMPLE_DEV_PM_OPS(tegra_uart_pm_ops, tegra_uart_suspend,
|
||||
+ tegra_uart_resume);
|
||||
+
|
||||
+static const struct of_device_id tegra_uart_of_match[] = {
|
||||
+ { .compatible = "nvidia,tegra20-uart", },
|
||||
+ { },
|
||||
+};
|
||||
+MODULE_DEVICE_TABLE(of, tegra_uart_of_match);
|
||||
+
|
||||
+static const struct acpi_device_id tegra_uart_acpi_match[] = {
|
||||
+ { "NVDA0100", 0 },
|
||||
+ { },
|
||||
+};
|
||||
+MODULE_DEVICE_TABLE(acpi, tegra_uart_acpi_match);
|
||||
+
|
||||
+static struct platform_driver tegra_uart_driver = {
|
||||
+ .driver = {
|
||||
+ .name = "tegra-uart",
|
||||
+ .pm = &tegra_uart_pm_ops,
|
||||
+ .of_match_table = tegra_uart_of_match,
|
||||
+ .acpi_match_table = ACPI_PTR(tegra_uart_acpi_match),
|
||||
+ },
|
||||
+ .probe = tegra_uart_probe,
|
||||
+ .remove = tegra_uart_remove,
|
||||
+};
|
||||
+
|
||||
+module_platform_driver(tegra_uart_driver);
|
||||
+
|
||||
+MODULE_AUTHOR("Jeff Brasen <jbrasen@nvidia.com>");
|
||||
+MODULE_DESCRIPTION("NVIDIA Tegra 8250 Driver");
|
||||
+MODULE_LICENSE("GPL v2");
|
||||
diff --git a/drivers/tty/serial/8250/Kconfig b/drivers/tty/serial/8250/Kconfig
|
||||
index f16824bbb573..af0688156dd0 100644
|
||||
--- a/drivers/tty/serial/8250/Kconfig
|
||||
+++ b/drivers/tty/serial/8250/Kconfig
|
||||
@@ -500,6 +500,15 @@ config SERIAL_8250_PXA
|
||||
applicable to both devicetree and legacy boards, and early console is
|
||||
part of its support.
|
||||
|
||||
+config SERIAL_8250_TEGRA
|
||||
+ tristate "8250 support for Tegra serial ports"
|
||||
+ default SERIAL_8250
|
||||
+ depends on SERIAL_8250
|
||||
+ depends on ARCH_TEGRA || COMPILE_TEST
|
||||
+ help
|
||||
+ Select this option if you have machine with an NVIDIA Tegra SoC and
|
||||
+ wish to enable 8250 serial driver for the Tegra serial interfaces.
|
||||
+
|
||||
config SERIAL_OF_PLATFORM
|
||||
tristate "Devicetree based probing for 8250 ports"
|
||||
depends on SERIAL_8250 && OF
|
||||
diff --git a/drivers/tty/serial/8250/Makefile b/drivers/tty/serial/8250/Makefile
|
||||
index 51a6079d3f1f..a8bfb654d490 100644
|
||||
--- a/drivers/tty/serial/8250/Makefile
|
||||
+++ b/drivers/tty/serial/8250/Makefile
|
||||
@@ -37,6 +37,7 @@ obj-$(CONFIG_SERIAL_8250_INGENIC) += 8250_ingenic.o
|
||||
obj-$(CONFIG_SERIAL_8250_LPSS) += 8250_lpss.o
|
||||
obj-$(CONFIG_SERIAL_8250_MID) += 8250_mid.o
|
||||
obj-$(CONFIG_SERIAL_8250_PXA) += 8250_pxa.o
|
||||
+obj-$(CONFIG_SERIAL_8250_TEGRA) += 8250_tegra.o
|
||||
obj-$(CONFIG_SERIAL_OF_PLATFORM) += 8250_of.o
|
||||
|
||||
CFLAGS_8250_ingenic.o += -I$(srctree)/scripts/dtc/libfdt
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
From 59780095ba35a49946e726c88caff6f65f3e433a Mon Sep 17 00:00:00 2001
|
||||
From: Peter Robinson <pbrobinson@gmail.com>
|
||||
Date: Tue, 30 Jul 2019 14:22:36 +0100
|
||||
Subject: [PATCH] arm64: tegra: Jetson TX2: Allow bootloader to configure
|
||||
Ethernet MAC
|
||||
|
||||
Add an ethernet alias so that a stable MAC address is added to the
|
||||
device tree for the wired ethernet interface.
|
||||
|
||||
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
|
||||
---
|
||||
arch/arm64/boot/dts/nvidia/tegra186-p3310.dtsi | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/nvidia/tegra186-p3310.dtsi b/arch/arm64/boot/dts/nvidia/tegra186-p3310.dtsi
|
||||
index 5e18acf5cfad..947744d0f04c 100644
|
||||
--- a/arch/arm64/boot/dts/nvidia/tegra186-p3310.dtsi
|
||||
+++ b/arch/arm64/boot/dts/nvidia/tegra186-p3310.dtsi
|
||||
@@ -8,6 +8,7 @@
|
||||
compatible = "nvidia,p3310", "nvidia,tegra186";
|
||||
|
||||
aliases {
|
||||
+ ethernet0 = "/ethernet@2490000";
|
||||
sdhci0 = "/sdhci@3460000";
|
||||
sdhci1 = "/sdhci@3400000";
|
||||
serial0 = &uarta;
|
||||
--
|
||||
2.21.0
|
||||
|
||||
|
|
@ -1,39 +0,0 @@
|
|||
From aea4a7a551fd7342299d34f04a8b75f58644ac07 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Robinson <pbrobinson@gmail.com>
|
||||
Date: Sat, 23 Mar 2019 17:45:10 +0000
|
||||
Subject: [PATCH 2/3] arm64: tegra210: Jetson TX1: disable display panel and
|
||||
associated backlight
|
||||
|
||||
The Jetson TX1 dev kit doesn't ship with a screen by default and if
|
||||
it's not there it appears to crash on boot so disable them both by
|
||||
default until we work out the problem.
|
||||
|
||||
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
|
||||
---
|
||||
arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts b/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts
|
||||
index 37e3c46e753f..a16f24f1d5ff 100644
|
||||
--- a/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts
|
||||
+++ b/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts
|
||||
@@ -36,7 +36,7 @@
|
||||
|
||||
host1x@50000000 {
|
||||
dsi@54300000 {
|
||||
- status = "okay";
|
||||
+ status = "disabled";
|
||||
|
||||
avdd-dsi-csi-supply = <&vdd_dsi_csi>;
|
||||
|
||||
@@ -54,6 +54,8 @@
|
||||
|
||||
i2c@7000c400 {
|
||||
backlight: backlight@2c {
|
||||
+ status = "disabled";
|
||||
+
|
||||
compatible = "ti,lp8557";
|
||||
reg = <0x2c>;
|
||||
|
||||
--
|
||||
2.20.1
|
||||
|
|
@ -0,0 +1,186 @@
|
|||
From patchwork Mon Feb 24 14:07:48 2020
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Jon Hunter <jonathanh@nvidia.com>
|
||||
X-Patchwork-Id: 1243112
|
||||
Return-Path: <linux-tegra-owner@vger.kernel.org>
|
||||
X-Original-To: incoming@patchwork.ozlabs.org
|
||||
Delivered-To: patchwork-incoming@bilbo.ozlabs.org
|
||||
Authentication-Results: ozlabs.org; spf=none (no SPF record)
|
||||
smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67;
|
||||
helo=vger.kernel.org;
|
||||
envelope-from=linux-tegra-owner@vger.kernel.org;
|
||||
receiver=<UNKNOWN>)
|
||||
Authentication-Results: ozlabs.org;
|
||||
dmarc=pass (p=none dis=none) header.from=nvidia.com
|
||||
Authentication-Results: ozlabs.org; dkim=pass (2048-bit key;
|
||||
unprotected) header.d=nvidia.com header.i=@nvidia.com
|
||||
header.a=rsa-sha256 header.s=n1 header.b=bnwYpe6i;
|
||||
dkim-atps=neutral
|
||||
Received: from vger.kernel.org (vger.kernel.org [209.132.180.67])
|
||||
by ozlabs.org (Postfix) with ESMTP id 48R3nG3y97z9sRQ
|
||||
for <incoming@patchwork.ozlabs.org>;
|
||||
Tue, 25 Feb 2020 01:08:18 +1100 (AEDT)
|
||||
Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
|
||||
id S1727539AbgBXOIR (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);
|
||||
Mon, 24 Feb 2020 09:08:17 -0500
|
||||
Received: from hqnvemgate24.nvidia.com ([216.228.121.143]:5063 "EHLO
|
||||
hqnvemgate24.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
|
||||
with ESMTP id S1727451AbgBXOIR (ORCPT
|
||||
<rfc822;linux-tegra@vger.kernel.org>);
|
||||
Mon, 24 Feb 2020 09:08:17 -0500
|
||||
Received: from hqpgpgate101.nvidia.com (Not Verified[216.228.121.13]) by
|
||||
hqnvemgate24.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA)
|
||||
id <B5e53d8840000>; Mon, 24 Feb 2020 06:07:00 -0800
|
||||
Received: from hqmail.nvidia.com ([172.20.161.6])
|
||||
by hqpgpgate101.nvidia.com (PGP Universal service);
|
||||
Mon, 24 Feb 2020 06:08:16 -0800
|
||||
X-PGP-Universal: processed;
|
||||
by hqpgpgate101.nvidia.com on Mon, 24 Feb 2020 06:08:16 -0800
|
||||
Received: from HQMAIL105.nvidia.com (172.20.187.12) by HQMAIL107.nvidia.com
|
||||
(172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3;
|
||||
Mon, 24 Feb 2020 14:08:16 +0000
|
||||
Received: from rnnvemgw01.nvidia.com (10.128.109.123) by HQMAIL105.nvidia.com
|
||||
(172.20.187.12) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via
|
||||
Frontend Transport; Mon, 24 Feb 2020 14:08:15 +0000
|
||||
Received: from thunderball.nvidia.com (Not Verified[10.21.140.91]) by
|
||||
rnnvemgw01.nvidia.com with Trustwave SEG (v7, 5, 8, 10121)
|
||||
id <B5e53d8cd0006>; Mon, 24 Feb 2020 06:08:15 -0800
|
||||
From: Jon Hunter <jonathanh@nvidia.com>
|
||||
To: Milo Kim <milo.kim@ti.com>, Lee Jones <lee.jones@linaro.org>,
|
||||
Daniel Thompson <daniel.thompson@linaro.org>,
|
||||
Jingoo Han <jingoohan1@gmail.com>
|
||||
CC: <dri-devel@lists.freedesktop.org>, <linux-kernel@vger.kernel.org>,
|
||||
<linux-tegra@vger.kernel.org>, Jon Hunter <jonathanh@nvidia.com>
|
||||
Subject: [PATCH] backlight: lp855x: Ensure regulators are disabled on probe
|
||||
failure
|
||||
Date: Mon, 24 Feb 2020 14:07:48 +0000
|
||||
Message-ID: <20200224140748.2182-1-jonathanh@nvidia.com>
|
||||
X-Mailer: git-send-email 2.17.1
|
||||
X-NVConfidentiality: public
|
||||
MIME-Version: 1.0
|
||||
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1;
|
||||
t=1582553220; bh=B1HKOxHeQwu3ZxgJLvSfafO1owYsd38lFNvB2Oh8gBc=;
|
||||
h=X-PGP-Universal:From:To:CC:Subject:Date:Message-ID:X-Mailer:
|
||||
X-NVConfidentiality:MIME-Version:Content-Type;
|
||||
b=bnwYpe6isaqG2Bp36VGI0VAYjd8jtznqNulwkVw85vf5zOMSfv809Oou4taz+1W9g
|
||||
/eTLeJozbJBXhllQfybYW8hX4fyWIjWNON8aQugt/0HrnKAjg5r9wLT5lTgmy+8n2B
|
||||
YrCJM3gob7XIi7l0cbONUTfyGssXmyEi+0SUamN4DDOnXIFxHBentnbyQdvOQ9+11P
|
||||
Dr5X+zeRff1B/SMt2pdNwrja2cVOPDRGAM+U4epkb2bICZZUiGv1fQLKa+KgJ7xMMS
|
||||
AwmdVrZ/6l2MAKwM+FuIqdF/x7mpCYg64MWX7TFFRwOSCFwNeq1fcK5TWItV01qcCa
|
||||
mFLwbcDwN/IQA==
|
||||
Sender: linux-tegra-owner@vger.kernel.org
|
||||
Precedence: bulk
|
||||
List-ID: <linux-tegra.vger.kernel.org>
|
||||
X-Mailing-List: linux-tegra@vger.kernel.org
|
||||
|
||||
If probing the LP885x backlight fails after the regulators have been
|
||||
enabled, then the following warning is seen when releasing the
|
||||
regulators ...
|
||||
|
||||
WARNING: CPU: 1 PID: 289 at drivers/regulator/core.c:2051 _regulator_put.part.28+0x158/0x160
|
||||
Modules linked in: tegra_xudc lp855x_bl(+) host1x pwm_tegra ip_tables x_tables ipv6 nf_defrag_ipv6
|
||||
CPU: 1 PID: 289 Comm: systemd-udevd Not tainted 5.6.0-rc2-next-20200224 #1
|
||||
Hardware name: NVIDIA Jetson TX1 Developer Kit (DT)
|
||||
|
||||
...
|
||||
|
||||
Call trace:
|
||||
_regulator_put.part.28+0x158/0x160
|
||||
regulator_put+0x34/0x50
|
||||
devm_regulator_release+0x10/0x18
|
||||
release_nodes+0x12c/0x230
|
||||
devres_release_all+0x34/0x50
|
||||
really_probe+0x1c0/0x370
|
||||
driver_probe_device+0x58/0x100
|
||||
device_driver_attach+0x6c/0x78
|
||||
__driver_attach+0xb0/0xf0
|
||||
bus_for_each_dev+0x68/0xc8
|
||||
driver_attach+0x20/0x28
|
||||
bus_add_driver+0x160/0x1f0
|
||||
driver_register+0x60/0x110
|
||||
i2c_register_driver+0x40/0x80
|
||||
lp855x_driver_init+0x20/0x1000 [lp855x_bl]
|
||||
do_one_initcall+0x58/0x1a0
|
||||
do_init_module+0x54/0x1d0
|
||||
load_module+0x1d80/0x21c8
|
||||
__do_sys_finit_module+0xe8/0x100
|
||||
__arm64_sys_finit_module+0x18/0x20
|
||||
el0_svc_common.constprop.3+0xb0/0x168
|
||||
do_el0_svc+0x20/0x98
|
||||
el0_sync_handler+0xf4/0x1b0
|
||||
el0_sync+0x140/0x180
|
||||
|
||||
Fix this by ensuring that the regulators are disabled, if enabled, on
|
||||
probe failure.
|
||||
|
||||
Finally, ensure that the vddio regulator is disabled in the driver
|
||||
remove handler.
|
||||
|
||||
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
|
||||
Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
|
||||
---
|
||||
drivers/video/backlight/lp855x_bl.c | 20 ++++++++++++++++----
|
||||
1 file changed, 16 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/drivers/video/backlight/lp855x_bl.c b/drivers/video/backlight/lp855x_bl.c
|
||||
index f68920131a4a..e94932c69f54 100644
|
||||
--- a/drivers/video/backlight/lp855x_bl.c
|
||||
+++ b/drivers/video/backlight/lp855x_bl.c
|
||||
@@ -456,7 +456,7 @@ static int lp855x_probe(struct i2c_client *cl, const struct i2c_device_id *id)
|
||||
ret = regulator_enable(lp->enable);
|
||||
if (ret < 0) {
|
||||
dev_err(lp->dev, "failed to enable vddio: %d\n", ret);
|
||||
- return ret;
|
||||
+ goto disable_supply;
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -471,24 +471,34 @@ static int lp855x_probe(struct i2c_client *cl, const struct i2c_device_id *id)
|
||||
ret = lp855x_configure(lp);
|
||||
if (ret) {
|
||||
dev_err(lp->dev, "device config err: %d", ret);
|
||||
- return ret;
|
||||
+ goto disable_vddio;
|
||||
}
|
||||
|
||||
ret = lp855x_backlight_register(lp);
|
||||
if (ret) {
|
||||
dev_err(lp->dev,
|
||||
"failed to register backlight. err: %d\n", ret);
|
||||
- return ret;
|
||||
+ goto disable_vddio;
|
||||
}
|
||||
|
||||
ret = sysfs_create_group(&lp->dev->kobj, &lp855x_attr_group);
|
||||
if (ret) {
|
||||
dev_err(lp->dev, "failed to register sysfs. err: %d\n", ret);
|
||||
- return ret;
|
||||
+ goto disable_vddio;
|
||||
}
|
||||
|
||||
backlight_update_status(lp->bl);
|
||||
+
|
||||
return 0;
|
||||
+
|
||||
+disable_vddio:
|
||||
+ if (lp->enable)
|
||||
+ regulator_disable(lp->enable);
|
||||
+disable_supply:
|
||||
+ if (lp->supply)
|
||||
+ regulator_disable(lp->supply);
|
||||
+
|
||||
+ return ret;
|
||||
}
|
||||
|
||||
static int lp855x_remove(struct i2c_client *cl)
|
||||
@@ -497,6 +507,8 @@ static int lp855x_remove(struct i2c_client *cl)
|
||||
|
||||
lp->bl->props.brightness = 0;
|
||||
backlight_update_status(lp->bl);
|
||||
+ if (lp->enable)
|
||||
+ regulator_disable(lp->enable);
|
||||
if (lp->supply)
|
||||
regulator_disable(lp->supply);
|
||||
sysfs_remove_group(&lp->dev->kobj, &lp855x_attr_group);
|
||||
|
|
@ -1,30 +0,0 @@
|
|||
From 9ad059ee412caed3fc8666dadf0d2e897d621958 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Robinson <pbrobinson@gmail.com>
|
||||
Date: Wed, 18 Dec 2019 08:03:36 +0000
|
||||
Subject: [PATCH] gpu/drm/v3d: Add ARCH_BCM2835 to DRM_V3D Kconfig
|
||||
|
||||
On arm64 the config ARCH_BCM doesn't exist so to be able to
|
||||
build for platforms such as the Raspberry Pi 4 we need to add
|
||||
ARCH_BCM2835 similar to what has been done on vc4.
|
||||
|
||||
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
|
||||
---
|
||||
drivers/gpu/drm/v3d/Kconfig | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/gpu/drm/v3d/Kconfig b/drivers/gpu/drm/v3d/Kconfig
|
||||
index 9a5c44606337..b0e048697964 100644
|
||||
--- a/drivers/gpu/drm/v3d/Kconfig
|
||||
+++ b/drivers/gpu/drm/v3d/Kconfig
|
||||
@@ -1,7 +1,7 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
config DRM_V3D
|
||||
tristate "Broadcom V3D 3.x and newer"
|
||||
- depends on ARCH_BCM || ARCH_BCMSTB || COMPILE_TEST
|
||||
+ depends on ARCH_BCM || ARCH_BCMSTB || ARCH_BCM2835 || COMPILE_TEST
|
||||
depends on DRM
|
||||
depends on COMMON_CLK
|
||||
depends on MMU
|
||||
--
|
||||
2.24.1
|
||||
|
||||
|
|
@ -19,8 +19,6 @@ cd $SCRIPT_DIR
|
|||
set errexit
|
||||
set nounset
|
||||
|
||||
control_file="config_generation"
|
||||
|
||||
cleanup()
|
||||
{
|
||||
rm -f config-*
|
||||
|
|
@ -52,7 +50,9 @@ function merge_configs()
|
|||
arch=$(echo "$archvar" | cut -f1 -d"-")
|
||||
configs=$2
|
||||
order=$3
|
||||
name=$OUTPUT_DIR/$PACKAGE_NAME-$archvar.config
|
||||
flavor=$4
|
||||
|
||||
name=$OUTPUT_DIR/$PACKAGE_NAME-$archvar-$flavor.config
|
||||
echo -n "Building $name ... "
|
||||
touch config-merging config-merged
|
||||
|
||||
|
|
@ -95,33 +95,55 @@ function merge_configs()
|
|||
echo "done"
|
||||
}
|
||||
|
||||
function build_flavor()
|
||||
{
|
||||
flavor=$1
|
||||
control_file="priority".$flavor
|
||||
while read line
|
||||
do
|
||||
if [ $(echo "$line" | grep -c "^#") -ne 0 ]; then
|
||||
continue
|
||||
elif [ $(echo "$line" | grep -c "^$") -ne 0 ]; then
|
||||
continue
|
||||
elif [ $(echo "$line" | grep -c "^EMPTY") -ne 0 ]; then
|
||||
empty=$(echo "$line" | cut -f2 -d"=")
|
||||
for a in $empty
|
||||
do
|
||||
echo "# EMPTY" > $OUTPUT_DIR/$PACKAGE_NAME-$a-$flavor.config
|
||||
|
||||
done
|
||||
elif [ $(echo "$line" | grep -c "^ORDER") -ne 0 ]; then
|
||||
order=$(echo "$line" | cut -f2 -d"=")
|
||||
for o in $order
|
||||
do
|
||||
glist=$(find $o -type d)
|
||||
for d in $glist
|
||||
do
|
||||
combine_config_layer $d
|
||||
done
|
||||
done
|
||||
else
|
||||
arch=$(echo "$line" | cut -f1 -d"=")
|
||||
configs=$(echo "$line" | cut -f2 -d"=")
|
||||
|
||||
if [ -n "$SUBARCH" ]; then
|
||||
case $arch in
|
||||
$SUBARCH*)
|
||||
;;
|
||||
*)
|
||||
continue
|
||||
esac
|
||||
fi
|
||||
|
||||
merge_configs $arch $configs "$order" $flavor
|
||||
fi
|
||||
done < $control_file
|
||||
}
|
||||
|
||||
while read line
|
||||
do
|
||||
if [ $(echo "$line" | grep -c "^#") -ne 0 ]; then
|
||||
continue
|
||||
elif [ $(echo "$line" | grep -c "^$") -ne 0 ]; then
|
||||
continue
|
||||
elif [ $(echo "$line" | grep -c "^ORDER") -ne 0 ]; then
|
||||
order=$(echo "$line" | cut -f2 -d"=")
|
||||
for o in $order
|
||||
do
|
||||
glist=$(find $o -type d)
|
||||
for d in $glist
|
||||
do
|
||||
combine_config_layer $d
|
||||
done
|
||||
done
|
||||
else
|
||||
arch=$(echo "$line" | cut -f1 -d"=")
|
||||
configs=$(echo "$line" | cut -f2 -d"=")
|
||||
|
||||
if [ -n "$SUBARCH" -a "$SUBARCH" != "$arch" ]; then
|
||||
continue
|
||||
fi
|
||||
|
||||
merge_configs $arch $configs "$order"
|
||||
fi
|
||||
done < $control_file
|
||||
build_flavor $line
|
||||
done < flavors
|
||||
|
||||
# A passed in kernel version implies copy to final location
|
||||
# otherwise defer to another script
|
||||
|
|
|
|||
|
|
@ -1,35 +0,0 @@
|
|||
# config-variant=config:config:config
|
||||
# kernel.config files are build on the fly based on this config,
|
||||
# the first arg is arch and variant, the second is a hierarchy of
|
||||
# config options, lowest priority to highest
|
||||
|
||||
# tells the build_configs.sh which order to build the configs.
|
||||
# this is useful when providing a separate overrides directory.
|
||||
# do not use quotes and space separate the directories.
|
||||
ORDER=fedora
|
||||
|
||||
# x86_64
|
||||
x86_64=generic:generic-x86:generic-x86-x86_64
|
||||
x86_64-debug=generic:generic-x86:generic-x86-x86_64:debug:debug-x86:debug-x86-x86_64
|
||||
|
||||
# i686
|
||||
i686=generic:generic-x86:generic-x86-i686
|
||||
i686-debug=generic:generic-x86:generic-x86-i686:debug:debug-x86
|
||||
|
||||
# ppc64le
|
||||
ppc64le=generic:generic-powerpc
|
||||
ppc64le-debug=generic:generic-powerpc:debug
|
||||
|
||||
# s390x
|
||||
s390x=generic:generic-s390x
|
||||
s390x-debug=generic:generic-s390x:debug
|
||||
|
||||
# aarch64
|
||||
aarch64=generic:generic-arm:generic-arm-aarch64
|
||||
aarch64-debug=generic:generic-arm:generic-arm-aarch64:debug:debug-arm
|
||||
|
||||
# arm
|
||||
armv7hl=generic:generic-arm:generic-arm-armv7:generic-arm-armv7-armv7
|
||||
armv7hl-debug=generic:generic-arm:generic-arm-armv7:generic-arm-armv7-armv7:debug:debug-arm
|
||||
armv7hl-lpae=generic:generic-arm:generic-arm-armv7:generic-arm-armv7-lpae
|
||||
armv7hl-lpae-debug=generic:generic-arm:generic-arm-armv7:generic-arm-armv7-lpae:debug:debug-arm
|
||||
1
configs/fedora/generic/CONFIG_AD7091R5
Normal file
1
configs/fedora/generic/CONFIG_AD7091R5
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_AD7091R5 is not set
|
||||
1
configs/fedora/generic/CONFIG_ATH11K
Normal file
1
configs/fedora/generic/CONFIG_ATH11K
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_ATH11K is not set
|
||||
1
configs/fedora/generic/CONFIG_BACKLIGHT_LED
Normal file
1
configs/fedora/generic/CONFIG_BACKLIGHT_LED
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_BACKLIGHT_LED=m
|
||||
1
configs/fedora/generic/CONFIG_BCM84881_PHY
Normal file
1
configs/fedora/generic/CONFIG_BCM84881_PHY
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_BCM84881_PHY is not set
|
||||
1
configs/fedora/generic/CONFIG_BMA400
Normal file
1
configs/fedora/generic/CONFIG_BMA400
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_BMA400 is not set
|
||||
1
configs/fedora/generic/CONFIG_BOOTTIME_TRACING
Normal file
1
configs/fedora/generic/CONFIG_BOOTTIME_TRACING
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_BOOTTIME_TRACING=y
|
||||
1
configs/fedora/generic/CONFIG_BOOT_CONFIG
Normal file
1
configs/fedora/generic/CONFIG_BOOT_CONFIG
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_BOOT_CONFIG=y
|
||||
|
|
@ -1 +1 @@
|
|||
CONFIG_CAN_UCAN=m
|
||||
# CONFIG_CAN_UCAN is not set
|
||||
|
|
|
|||
|
|
@ -1 +0,0 @@
|
|||
CONFIG_CAPI_AVM=y
|
||||
1
configs/fedora/generic/CONFIG_COMMON_CLK_FSL_SAI
Normal file
1
configs/fedora/generic/CONFIG_COMMON_CLK_FSL_SAI
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_COMMON_CLK_FSL_SAI is not set
|
||||
1
configs/fedora/generic/CONFIG_CPU_FREQ_THERMAL
Normal file
1
configs/fedora/generic/CONFIG_CPU_FREQ_THERMAL
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_CPU_FREQ_THERMAL=y
|
||||
1
configs/fedora/generic/CONFIG_DLHL60D
Normal file
1
configs/fedora/generic/CONFIG_DLHL60D
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_DLHL60D is not set
|
||||
1
configs/fedora/generic/CONFIG_DMABUF_HEAPS
Normal file
1
configs/fedora/generic/CONFIG_DMABUF_HEAPS
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_DMABUF_HEAPS is not set
|
||||
|
|
@ -1 +1 @@
|
|||
# CONFIG_DM_CLONE is not set
|
||||
CONFIG_DM_CLONE=m
|
||||
|
|
|
|||
1
configs/fedora/generic/CONFIG_DRM_ANALOGIX_ANX6345
Normal file
1
configs/fedora/generic/CONFIG_DRM_ANALOGIX_ANX6345
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_DRM_ANALOGIX_ANX6345=m
|
||||
|
|
@ -1 +1 @@
|
|||
CONFIG_DRM_DP_CEC=y
|
||||
# CONFIG_DRM_DP_CEC is not set
|
||||
|
|
|
|||
1
configs/fedora/generic/CONFIG_DRM_LVDS_CODEC
Normal file
1
configs/fedora/generic/CONFIG_DRM_LVDS_CODEC
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_DRM_LVDS_CODEC is not set
|
||||
|
|
@ -1 +0,0 @@
|
|||
# CONFIG_DRM_LVDS_ENCODER is not set
|
||||
1
configs/fedora/generic/CONFIG_DRM_PANEL_BOE_HIMAX8279D
Normal file
1
configs/fedora/generic/CONFIG_DRM_PANEL_BOE_HIMAX8279D
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set
|
||||
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 is not set
|
||||
1
configs/fedora/generic/CONFIG_DRM_PANEL_SONY_ACX424AKP
Normal file
1
configs/fedora/generic/CONFIG_DRM_PANEL_SONY_ACX424AKP
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_DRM_PANEL_SONY_ACX424AKP is not set
|
||||
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_DRM_PANEL_XINGBANGDA_XBD599 is not set
|
||||
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set
|
||||
1
configs/fedora/generic/CONFIG_EFI_DISABLE_PCI_DMA
Normal file
1
configs/fedora/generic/CONFIG_EFI_DISABLE_PCI_DMA
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_EFI_DISABLE_PCI_DMA is not set
|
||||
1
configs/fedora/generic/CONFIG_ETHTOOL_NETLINK
Normal file
1
configs/fedora/generic/CONFIG_ETHTOOL_NETLINK
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_ETHTOOL_NETLINK=y
|
||||
|
|
@ -1 +0,0 @@
|
|||
# CONFIG_EXFAT_FS is not set
|
||||
1
configs/fedora/generic/CONFIG_F2FS_FS_COMPRESSION
Normal file
1
configs/fedora/generic/CONFIG_F2FS_FS_COMPRESSION
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_F2FS_FS_COMPRESSION=y
|
||||
1
configs/fedora/generic/CONFIG_F2FS_FS_LZ4
Normal file
1
configs/fedora/generic/CONFIG_F2FS_FS_LZ4
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_F2FS_FS_LZ4=y
|
||||
1
configs/fedora/generic/CONFIG_F2FS_FS_LZO
Normal file
1
configs/fedora/generic/CONFIG_F2FS_FS_LZO
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_F2FS_FS_LZO=y
|
||||
|
|
@ -1 +0,0 @@
|
|||
CONFIG_GIGASET_BASE=m
|
||||
|
|
@ -1 +0,0 @@
|
|||
CONFIG_GIGASET_CAPI=y
|
||||
|
|
@ -1 +0,0 @@
|
|||
# CONFIG_GIGASET_DEBUG is not set
|
||||
|
|
@ -1 +0,0 @@
|
|||
CONFIG_GIGASET_M101=m
|
||||
|
|
@ -1 +0,0 @@
|
|||
CONFIG_GIGASET_M105=m
|
||||
1
configs/fedora/generic/CONFIG_GPIO_LOGICVC
Normal file
1
configs/fedora/generic/CONFIG_GPIO_LOGICVC
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_GPIO_LOGICVC is not set
|
||||
1
configs/fedora/generic/CONFIG_GPIO_SIFIVE
Normal file
1
configs/fedora/generic/CONFIG_GPIO_SIFIVE
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_GPIO_SIFIVE is not set
|
||||
|
|
@ -1 +0,0 @@
|
|||
CONFIG_HYSDN=m
|
||||
|
|
@ -1 +0,0 @@
|
|||
CONFIG_HYSDN_CAPI=y
|
||||
|
|
@ -1 +0,0 @@
|
|||
# CONFIG_I2C_PARPORT_LIGHT is not set
|
||||
1
configs/fedora/generic/CONFIG_INET_ESPINTCP
Normal file
1
configs/fedora/generic/CONFIG_INET_ESPINTCP
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_INET_ESPINTCP=y
|
||||
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_INITRAMFS_COMPRESSION_BZIP2 is not set
|
||||
1
configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_GZIP
Normal file
1
configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_GZIP
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set
|
||||
1
configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_LZ4
Normal file
1
configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_LZ4
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_INITRAMFS_COMPRESSION_LZ4 is not set
|
||||
1
configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_LZMA
Normal file
1
configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_LZMA
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_INITRAMFS_COMPRESSION_LZMA is not set
|
||||
1
configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_LZO
Normal file
1
configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_LZO
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_INITRAMFS_COMPRESSION_LZO is not set
|
||||
1
configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_NONE
Normal file
1
configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_NONE
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_INITRAMFS_COMPRESSION_NONE=y
|
||||
1
configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_XZ
Normal file
1
configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_XZ
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_INITRAMFS_COMPRESSION_XZ is not set
|
||||
1
configs/fedora/generic/CONFIG_KPROBE_EVENT_GEN_TEST
Normal file
1
configs/fedora/generic/CONFIG_KPROBE_EVENT_GEN_TEST
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_KPROBE_EVENT_GEN_TEST is not set
|
||||
1
configs/fedora/generic/CONFIG_LTC2496
Normal file
1
configs/fedora/generic/CONFIG_LTC2496
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_LTC2496 is not set
|
||||
1
configs/fedora/generic/CONFIG_MFD_ROHM_BD71828
Normal file
1
configs/fedora/generic/CONFIG_MFD_ROHM_BD71828
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_MFD_ROHM_BD71828 is not set
|
||||
1
configs/fedora/generic/CONFIG_MFD_WCD934X
Normal file
1
configs/fedora/generic/CONFIG_MFD_WCD934X
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_MFD_WCD934X is not set
|
||||
1
configs/fedora/generic/CONFIG_MICROCHIP_PIT64B
Normal file
1
configs/fedora/generic/CONFIG_MICROCHIP_PIT64B
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_MICROCHIP_PIT64B is not set
|
||||
1
configs/fedora/generic/CONFIG_MPTCP
Normal file
1
configs/fedora/generic/CONFIG_MPTCP
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_MPTCP=y
|
||||
1
configs/fedora/generic/CONFIG_MPTCP_HMAC_TEST
Normal file
1
configs/fedora/generic/CONFIG_MPTCP_HMAC_TEST
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_MPTCP_HMAC_TEST is not set
|
||||
1
configs/fedora/generic/CONFIG_MPTCP_IPV6
Normal file
1
configs/fedora/generic/CONFIG_MPTCP_IPV6
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_MPTCP_IPV6=y
|
||||
1
configs/fedora/generic/CONFIG_MSM_MMCC_8998
Normal file
1
configs/fedora/generic/CONFIG_MSM_MMCC_8998
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_MSM_MMCC_8998 is not set
|
||||
|
|
@ -1 +0,0 @@
|
|||
# CONFIG_MTD_NAND_FSL_IFC is not set
|
||||
1
configs/fedora/generic/CONFIG_NET_DSA_AR9331
Normal file
1
configs/fedora/generic/CONFIG_NET_DSA_AR9331
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_NET_DSA_AR9331 is not set
|
||||
1
configs/fedora/generic/CONFIG_NET_DSA_TAG_AR9331
Normal file
1
configs/fedora/generic/CONFIG_NET_DSA_TAG_AR9331
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_NET_DSA_TAG_AR9331 is not set
|
||||
1
configs/fedora/generic/CONFIG_NET_SCH_ETS
Normal file
1
configs/fedora/generic/CONFIG_NET_SCH_ETS
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_NET_SCH_ETS is not set
|
||||
1
configs/fedora/generic/CONFIG_NET_SCH_FQ_PIE
Normal file
1
configs/fedora/generic/CONFIG_NET_SCH_FQ_PIE
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_NET_SCH_FQ_PIE is not set
|
||||
1
configs/fedora/generic/CONFIG_NFSD_V4_2_INTER_SSC
Normal file
1
configs/fedora/generic/CONFIG_NFSD_V4_2_INTER_SSC
Normal file
|
|
@ -0,0 +1 @@
|
|||
CONFIG_NFSD_V4_2_INTER_SSC=y
|
||||
1
configs/fedora/generic/CONFIG_NFS_DISABLE_UDP_SUPPORT
Normal file
1
configs/fedora/generic/CONFIG_NFS_DISABLE_UDP_SUPPORT
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_NFS_DISABLE_UDP_SUPPORT is not set
|
||||
1
configs/fedora/generic/CONFIG_PHY_INTEL_EMMC
Normal file
1
configs/fedora/generic/CONFIG_PHY_INTEL_EMMC
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_PHY_INTEL_EMMC is not set
|
||||
1
configs/fedora/generic/CONFIG_PING
Normal file
1
configs/fedora/generic/CONFIG_PING
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_PING is not set
|
||||
1
configs/fedora/generic/CONFIG_PLX_DMA
Normal file
1
configs/fedora/generic/CONFIG_PLX_DMA
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_PLX_DMA is not set
|
||||
1
configs/fedora/generic/CONFIG_PTDUMP_DEBUGFS
Normal file
1
configs/fedora/generic/CONFIG_PTDUMP_DEBUGFS
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_PTDUMP_DEBUGFS is not set
|
||||
1
configs/fedora/generic/CONFIG_PTP_1588_CLOCK_INES
Normal file
1
configs/fedora/generic/CONFIG_PTP_1588_CLOCK_INES
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_PTP_1588_CLOCK_INES is not set
|
||||
1
configs/fedora/generic/CONFIG_QCOM_CPR
Normal file
1
configs/fedora/generic/CONFIG_QCOM_CPR
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_QCOM_CPR is not set
|
||||
1
configs/fedora/generic/CONFIG_REGULATOR_MP8859
Normal file
1
configs/fedora/generic/CONFIG_REGULATOR_MP8859
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_REGULATOR_MP8859 is not set
|
||||
1
configs/fedora/generic/CONFIG_REGULATOR_MPQ7920
Normal file
1
configs/fedora/generic/CONFIG_REGULATOR_MPQ7920
Normal file
|
|
@ -0,0 +1 @@
|
|||
# CONFIG_REGULATOR_MPQ7920 is not set
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue